摘要: 【BZOJ3242】【NOI2013】快餐店(动态规划) 题面 "BZOJ" 题解 假设我们要做的是一棵树,那么答案显然是树的直径的一半。 证明? 假设树的直径是$2d$,那么此时最远点的距离是$d$ 假设存在一个点的距离大于$d$,那么直径可以由这个点到达直径的一个端点拼出。 所以最远点距离为$d 阅读全文
posted @ 2018-06-30 16:59 小蒟蒻yyb 阅读(372) 评论(5) 推荐(0) 编辑
摘要: 【BZOJ1014】火星人(Splay,哈希) 题面 "BZOJ" 题解 要动态维护这个串,一脸的平衡树。 那么用$Splay$维护这个哈希值就好了。 每次计算答案的时候二分+Splay计算区间哈希值, 时间复杂度$O(nlog^2n)$ cpp include include include in 阅读全文
posted @ 2018-06-30 11:20 小蒟蒻yyb 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ1443】游戏(二分图匹配,博弈论) 题面 "BZOJ" 题解 很明显的二分图博弈问题。 发现每次移动一定是从一个黑点到达一个白点,或者反过来。 所以可以对于棋盘进行染色然后连边。 考虑一下必胜策略。 如果选择从一个匹配点开始走, 另外一个人沿着匹配点走,那么就输了,因为匹配点不一定有出边 阅读全文
posted @ 2018-06-30 09:57 小蒟蒻yyb 阅读(475) 评论(1) 推荐(0) 编辑