摘要: Description 一个序列,每次可以将两个相同的数合成一个数,价值+1,求最后最大价值 \(n \leqslant 262144\) Sol DP. 这道题是 BZOJ 4580: [Usaco2016 Open]248 加强版. 做248的那个区间DP其实很多方案都是0,而且一个区间中只有一 阅读全文
posted @ 2016-11-16 22:04 北北北北屿 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Descrirption 给你一个长度为 \(n\) 的序列,求将它分成两个序列后最多个数,每个序列最大值最小值不能超过 \(k\) Sol 二分+DP. 排一下序,找出以这个点结尾和开始的位置. 这个玩意可以二分也可以用单调队列,随便搞啊... 然后统计答案就是枚举第二个序列的起点,然后往后扫的时 阅读全文
posted @ 2016-11-16 21:53 北北北北屿 阅读(256) 评论(0) 推荐(0) 编辑
摘要: Description 有 \(n\) 个点,删掉三个点后,求最小能围住的面积. Sol 搜索. 找出 左边/右边/上边/下边 的几个点枚举就可以了. 我找了 12 个点,统计一下坐标的个数,然后找到最大最小坐标. PS:md.Cena 好像对 STL 不太友好啊,用 map 居然T了???exm? 阅读全文
posted @ 2016-11-16 21:48 北北北北屿 阅读(369) 评论(0) 推荐(0) 编辑
摘要: Description 一个序列,每次可以把相邻的两个数合为一个,价值+1,求最后的最大价值. Sol 区间DP. \(f[i][j]\) 表示 \(i-j\) 中合成一个数字为多少,转移就是枚举断点,断点两边的价值一样,就合并. 复杂度 \(O(n^3)\) Code 阅读全文
posted @ 2016-11-16 21:39 北北北北屿 阅读(300) 评论(0) 推荐(0) 编辑
摘要: Description 依次删去一个点和它的边,问当前图是否连通. Sol 并查集. 倒着做就可以了. 每次将一个点及其的边加入,如果当前集合个数大于 1,那么就不连通. Code 阅读全文
posted @ 2016-11-16 21:36 北北北北屿 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Description 一个图, \(n\) 个点 \(m\) 条边,求将一条边距离翻倍后使 \(1-n\) 最短路径增加的最大增量. Sol Dijstra. 先跑一边最短路,然后枚举最短路,将路径翻倍然后跑Dijstra... 因为不在最短路径上的边没用贡献,然后最短路径最长为 \(n-1\) 阅读全文
posted @ 2016-11-16 21:34 北北北北屿 阅读(400) 评论(0) 推荐(0) 编辑
摘要: http://agar.io/ http://diep.io/ http://slither.io/ http://splix.io/ http://wilds.io/ http://kingz.io/ http://wings.io/ http://vertix.io/ http://www.ho 阅读全文
posted @ 2016-11-16 16:35 北北北北屿 阅读(275) 评论(0) 推荐(0) 编辑