摘要: 这道题目很奇怪. 为什么奇怪?因为这道题用了一种叫分治最小割/最小割树的玩意. 以前从来没有见过这东西. 推荐一个讲这玩意的博客 写起来还是很顺手的. 阅读全文
posted @ 2017-03-13 19:51 CHADLZX 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 这题好神啊..好神啊...好神啊... 首先列出N2的DP方程较易. 从DP方程很容易看出来是斜率优化. 如何进一步优化? 考虑对当前点以上的链建立一个下凸包. 维护凸包就可以,但不是很好写. 观察到方程可以必然由它的祖先节点转移.很像Cash那道题. 尝试CDQ分治,每次先递归处理根所在的子树. 阅读全文
posted @ 2017-03-13 18:09 CHADLZX 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 这题真没什么意思. 不过就是将普通的求Min,Max,求和等东西换成Xor,偏偏Xor还有很多性质. 算是刷道水题吧. 阅读全文
posted @ 2017-03-13 15:18 CHADLZX 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 这题其实是个暴力. 首先那一堆如何构造n*m方格的东西都是在玩你. 构造出来方阵后,由于是一个排列,不存在重复,可以大力贪心. 每次将选出一个最小的元素,然后将它右上左下的元素全部打上标记(记得break). 最后统计一下即可. 这题卡内存. 这种没什么技术含量的题为什么会出到NOI里,纳闷. 懒得 阅读全文
posted @ 2017-03-13 14:42 CHADLZX 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 这题有点坑啊. 题解: 首先根据KMP的next数组可以构造出一棵树,可以看出,题目要求的是num是一个点往上走的第一个长度小于i/2的节点(设为ti)的深度. 于是可以先求每个节点的深度 再脑补出一个倍增+二分的做法. 然后就T得很惨.(1e6的nlog2n,极限数据4s). 再观察,发现我们要求 阅读全文
posted @ 2017-03-13 14:06 CHADLZX 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 有换根的树链剖分的裸题. 在换根的时候注意讨论. 注意数据范围要开unsigned int或longlong 阅读全文
posted @ 2017-03-13 11:55 CHADLZX 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 这题n2算法就是一个维护上凸包的过程. 也可以用CDQ分治做. 我的CDQ分治做法和网上的不太一样,用左边的点建立一个凸包,右边的点在上面二分. 好处是思路清晰,避免了凸包的插入删除,坏处是多了一个log. 这题数据很水,同时注意精度. 阅读全文
posted @ 2017-03-13 09:39 CHADLZX 阅读(109) 评论(0) 推荐(0) 编辑