上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 70 下一页
摘要: 题目大意: 给你n个数字, 定义不连贯值为, max(abs(a[ i ] - b[ i ])) ,现在让你把m个新的数字插入n + 1 个空位中,使得不连贯值最小。 思路:二分不连贯值, 每次进行二分图匹配, 注意进行二分图匹配的时候需要加入虚拟的点,因为这n + 1个空位中有些点是必须加数字的。 阅读全文
posted @ 2018-04-26 15:14 NotNight 阅读(180) 评论(0) 推荐(0) 编辑
摘要: sb找规律。 分解因数。 阅读全文
posted @ 2018-04-23 18:53 NotNight 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个数,a,b,有两个人轮流进行一次操作, 每次操作可以将大的数减去k倍的小的数,最后不能操作的人输了,问你谁赢了。 思路:我们可以用辗转相除法求出对于每一个状态可以改变几次,这样问题就变成了给你若干堆石子,只能将前面堆的石子全部取完啦才能 取当前堆的石子,对于每一堆来说能取任意个,最后不 阅读全文
posted @ 2018-04-22 16:53 NotNight 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1 struct DSU 2 { 3 int fa[MAXN]; 4 vector base[MAXN]; 5 void add(int tar,int x) 6 { 7 for(auto &t:base[tar]) 8 x=min(x,x^t); 9 if(!x)return; 10 ... 阅读全文
posted @ 2018-04-22 15:41 NotNight 阅读(161) 评论(0) 推荐(0) 编辑
摘要: D - Zuma 题意:给你一个数字组成的串, 每次你能消去一段连续的回文串,问你最少需要操作几次把所有数字删完。 思路:区间dp, dp[ i ][ j ]表示删 i 到 j 段最少需要几次。 我们只考虑最左边的那个点的删除情况。 首先dp[ i ] [ j ] <= dp[ i + 1] [ j 阅读全文
posted @ 2018-04-20 00:26 NotNight 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一棵树, 只能删度数为偶数的点, 问你能不能将整个图删完, 如果能输入删除的顺序。 思路:对于一棵树来说, 如果里面的点的个数是偶数个则肯定不可能, 偶数个点有奇数条边,而你每次删只能删偶数条边。 那么我们对于每个父亲儿子来说, 如果儿子的子树的大小为奇数, 那么肯定先删父亲, 反之先删儿 阅读全文
posted @ 2018-04-19 17:12 NotNight 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 等比数列求和一定要分类讨论!!!!!!!!!!!! 阅读全文
posted @ 2018-04-18 12:52 NotNight 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一棵树, 每个点要么是黑色要么是白色, 有一种操作是将同一个颜色的连通块变成相反的颜色,问你最少变换几次, 整颗树变成一种颜色。 思路: 缩点, 加求树的直径, 答案为树的直径除二向上取整。 阅读全文
posted @ 2018-04-18 12:44 NotNight 阅读(121) 评论(0) 推荐(0) 编辑
摘要: F - Financiers Game 这种两人博弈一般都可以用两个dp写, 一个dp描述第一个人的最优态, 第二个dp描述第二个人的最优态,难点在于优化空间。。。 我感觉这个空间开得有点玄学。。 dp[ op ][ l ] [ d ] [ k ] 表示到第op个人先手,在第任意轮的时候第一个人和第 阅读全文
posted @ 2018-04-16 19:34 NotNight 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 求 1/a + 1/b = 1/n的正数解 设 x = a + n, y = b + n, 原式变为 a * b = n * n 答案微n * n 的约数个数加一之后的一半, 因为n * n 太大不能直接求因子个数需要通过质因子个数求约数个数。 阅读全文
posted @ 2018-04-12 16:44 NotNight 阅读(171) 评论(0) 推荐(0) 编辑
上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 70 下一页