NOIP备考总结

考试注意事项
进入考场:
1 注意证件(身份证/转考证) 笔(至少两根)直尺 铅笔 橡皮 。
2 进入考场注意观察好环境,先打好一个读入优化(测一下读入优化可以用吗)。
3 可以先拿一瓶矿泉水,喝一点水放松心情。
4 在编译命令下加入 –Wall (这很重要)
考试进行中:
1 头文件注意打全,注意没有csdtio也可以编译通过。
2 注意关键字,观察是否开了stdc++11 不要用next等关键字
3 注意考场时间分配,就算打的来也要考虑先写暴力(方便调试生成数据)
4 T1不会很难,如果不会就去上个厕所。
5 即使T2不会暴力分也必然充足可以先打暴力去看T3
6 注意反复读题,小心出现如同去年一样的for n n
7 如果可以拿80分左右尽量上下一题。
8 测试size不要爆内存。
题目分析:
数学:数学不会很难,要么是直接找规律,否则就是简单的EXGCD或者中国剩余定理。
DP:DP的状态并不会很复杂但是注意以下几点:
1) 你的DP状态存在最优子结构吗?
2) 你的DP转移是不是只需要1维转移过来(即使这样也不能直接写滚动数组)
3) DP如果复杂度不对是不是可以先贪心一部分?(大步贪心小步DP)
4) 是不是这就不是DP而只是一个贪心?
5) 不会优化能不能分段转移尽可能贪心?不能写跑到死的转移,减一些枝(贪心剪枝)
6) 你的转移是不是满足单调性,如图上DP是否满足Top序。
7) 如果这是状压DP能不能先写一个阶乘暴力呢?
8) 如果这是数位DP能不能先写一个for循环判断呢?
9) 我能不能对这道题泛化物品(背包)?
图论:图论考的还算多
1) 尽量不用SPFA,请使用Dijkstra
2) N不大是不是可以Floyd预处理?但是注意Floyd并不能直接DP。(最短路上最好建top序DP)
3) 你的Tarjan是要缩什么呢?SCC?BCC?V-DCC?(比如图保证是仙人掌)
4) 我能不能对图上的状态分层呢?
5) 如果是最短路问题需不需要建立最短路Top图
6) 如果是最小生成树/重构树会不会要考虑算合并贡献?
7) 如果这是一棵树能不能对其差分呢?如果想不出来差分那么就思考DFS序(不要上来就像LCT或是树链剖分。)
1> 能不能对路径询问转化为u-LCA LCA-v
2> 能不能对子树询问转化为二维偏序问题?
数据结构
1) 如果只是Link操作能不能离线倒序并查集呢?
2) 题目是不是存在某种单调性呢?我能不能写单调队列而不是堆呢?
3) 如果这个数据结构很大我能不能写一写很棒的暴力呢?(一般模拟至少30分)
1> 我能不能利用询问很少而只模拟一部分呢?
2> 我能不能利用询问单调或是修改是全集维护一些简单的东西呢?
3> 我能不能用树状数组解决这个问题(理论正解最难只能是树状数组)
4) 如果我会写这个数据结构,我有把握能调试出来吗?我能不能先写暴力这样可以对拍呢?
搜索/模拟:
1) 这道题数据规模并不大我不应该先想状态压缩或是网络流,我应该思考搜索。
2) 这道题是不是在模拟一个游戏
1> 这个游戏有没有什么特别的胜负判断条件?
2> 这个游戏是不是存在状态树的(还是现行状态的?)
3> 我能不能写记忆化搜索?或者是DFS?这方便差错。
4> 能不能先写特殊性质尽量分段?这类题空间一般很充足。
3) 如果这是一个最优性搜索
1> 如果跑不出来能不能加一个做优化剪枝?
2> 能不能记录一个cnt跑到某个状态输出答案?
3> 我能不能写一个不正着搜索的(出题人一般只会卡正向搜索)
4> 能不能减去一些显然很难出现的状态?(这是指分段代码)
5> 能不能记忆化
4) 如果搜索的规模恰好只是大了一点能不能折半搜索?或者并不需要搜索而是枚举子集。如果这是折半搜索我需不需要计算动态内存大小?

转载于:https://www.cnblogs.com/Leo-JAM/p/10079053.html

你可能感兴趣的:(数据结构与算法)