NOIP 2015提高组 题解+分析
2016-02-15 19:37
197 查看
这一次的提高组出的题挺丧心病狂的,似乎比普及组还要容易看出算法,随便就400+。我在洛谷上测得好像是500多。真不知CCF在想什么?算了不说那么多了,直接上分析:
(以下的题目中D1A表示第一天第一题,D2B表示第二天第三题,以此类推)题目算法简单分析:【D1A】 简单模拟【D1B】 直接扫一遍找最小环,或者看网上好像有类似拓扑排序剩下回路的方法,总之方法非常多【D1C】 将牌二进制状压,或着记忆化搜索
【D2A】 显然是二分答案【D2B】 用各种方法动规,目测想出一个类哈希优化的O(n^2)算法【D2C】 一开始没看到m个运输计划的要求,以为是次小生成树,类似《秦始皇修路》的方法,后来才发现尚倒比较难……好像树链剖分之类的方法可以来坑分,总之,要小心常数(CCF竟然卡常数)
题目正式题解:【D1A】 模拟不说了,NOI题库的题目,改了一下数据规模。【D1B】直接DFS,标记找到过的每一个节点,显然就是O(n)的算法。或者说用拓扑排序不断找环,不过好像本质上还是广搜。【D1C】 显然这一道题目应该就是搜索了。只需要将出没出牌变成二进制,出了就是1,没出就是0。接着对于全部的0开始记忆化搜索,接着穷举所有的出牌方法,然后记忆化,显然不会爆空间。
【D2A】 最小值最大,显然就是二分,在NOI题库上都有原题。【D2B】 其实和USACO 2014 Feb BRONZE相似,只不过多了一个K个子串的要求。但是,要注意倒序求解!也就是说,一个正序枚举A中的每个字符,再反序枚举B中的字符,如果Ai=Bj,则DPj+=DPj-1,但是j=0时++DPj即可。但是这个时候,我们可以发现一个优化:哈希表。注意到字符总数不多,于是可以用开放寻址法(拉链法),算是一个常数优化吧。 接着,估计直接DP就行了,加一维子串的个数,再注意模一下就好了。【D2C】 似乎可以树链剖分,总之是有什么优化都丢上来……没想到最优化解法,但是写一个暴力都不少分了。正解应该是利用LCA的时间戳+RMQ和线段树的线段覆盖操作即可,不过听说还有直接用线段树的做法。主要注意常数的优化。
总结:挺简单的。
(以下的题目中D1A表示第一天第一题,D2B表示第二天第三题,以此类推)题目算法简单分析:【D1A】 简单模拟【D1B】 直接扫一遍找最小环,或者看网上好像有类似拓扑排序剩下回路的方法,总之方法非常多【D1C】 将牌二进制状压,或着记忆化搜索
【D2A】 显然是二分答案【D2B】 用各种方法动规,目测想出一个类哈希优化的O(n^2)算法【D2C】 一开始没看到m个运输计划的要求,以为是次小生成树,类似《秦始皇修路》的方法,后来才发现尚倒比较难……好像树链剖分之类的方法可以来坑分,总之,要小心常数(CCF竟然卡常数)
题目正式题解:【D1A】 模拟不说了,NOI题库的题目,改了一下数据规模。【D1B】直接DFS,标记找到过的每一个节点,显然就是O(n)的算法。或者说用拓扑排序不断找环,不过好像本质上还是广搜。【D1C】 显然这一道题目应该就是搜索了。只需要将出没出牌变成二进制,出了就是1,没出就是0。接着对于全部的0开始记忆化搜索,接着穷举所有的出牌方法,然后记忆化,显然不会爆空间。
【D2A】 最小值最大,显然就是二分,在NOI题库上都有原题。【D2B】 其实和USACO 2014 Feb BRONZE相似,只不过多了一个K个子串的要求。但是,要注意倒序求解!也就是说,一个正序枚举A中的每个字符,再反序枚举B中的字符,如果Ai=Bj,则DPj+=DPj-1,但是j=0时++DPj即可。但是这个时候,我们可以发现一个优化:哈希表。注意到字符总数不多,于是可以用开放寻址法(拉链法),算是一个常数优化吧。 接着,估计直接DP就行了,加一维子串的个数,再注意模一下就好了。【D2C】 似乎可以树链剖分,总之是有什么优化都丢上来……没想到最优化解法,但是写一个暴力都不少分了。正解应该是利用LCA的时间戳+RMQ和线段树的线段覆盖操作即可,不过听说还有直接用线段树的做法。主要注意常数的优化。
总结:挺简单的。
相关文章推荐
- LCA实现的三种不同的方法
- NOIP2015 TG D1T2 message
- NOIP2015 PJ 4 salesman
- NOIP2015 TG D2T1 stone
- 无向树的直径(最长的两点间最短距离)
- iOS应用分发与内测(二)
- 概率论与数理统计复习
- USACO US OPEN 2015 BRONZE 三四题 C++翻译代码
- 对质数的判断
- US 2015 Febrary BRONZE 题解
- 时间复杂度分析在信息学竞赛中的应用
- TopCoder Srm671 一二题翻译及题解
- SPFA最短路算法解析
- NOIP复赛的一些注意事项
- FloodFill算法的优化
- 洛谷11月月赛总结
- Dijkestra算法的理解与相应的优化
- 10.24南海NOIP模拟测解题报告
- Sparse Table算法 - RMQ问题的简单高效算法
- POJ 2342 Anniversary Party题解 - 树形DP入门题目