上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: CF771C Bear and Tree Jumps 直接考虑换根。 但是有个K,不好搞,那就多存点,记录 \(f_{n,j}\) 为与 \(n\) 距离为 \(j\) 的点的答案(\(f_{n,0}\) 即为自己的答案),那么可以知道,对于距离不为 \(K\) 的倍数的点,可以直接距离加一,对于距 阅读全文
posted @ 2020-09-16 10:19 Gensokyo_Alice 阅读(251) 评论(0) 推荐(0) 编辑
摘要: Trie+拓扑排序。 P3065 USACO12DECFirst! G 假定当前字符串是最小的,然后在Trie上跑一遍,字典序小的字母向字典序大的字母连边。 然后拓扑排序成环就与猜测冲突(即不能为最小的) 注:字典序先按字母排序,然后按长度。 所以遇到前缀相同的,长的必定不行。 #include < 阅读全文
posted @ 2020-09-16 10:17 Gensokyo_Alice 阅读(101) 评论(0) 推荐(0) 编辑
摘要: P3554 POI2013LUK-Triumphal arch 刚开始以为直接统计一个点最多的子树就好了。 然后发现不是这样的,在涂上面的时候,有多余的可以直接涂到下面去,那么就直接二分+树DP就完了。 也就是说我可以预判你要走哪些。 设 \(f_n\) 是还需要多少次才能涂完一个点的全部子树。那么 阅读全文
posted @ 2020-09-15 17:43 Gensokyo_Alice 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 构造好题 先排除特殊情况(全0,全1,只有一个字符) 显然可以通过 \(a_{00}\) 和 \(a_{11}\) 得到零和一的个数,然后我们可以判断无解(\(cnt_0 * cnt_1 \ne a_{01} + a_{10}\)) 假定1全在前面,0全在后面,然后直接构造(能把a_{10}消掉就消 阅读全文
posted @ 2020-09-15 17:34 Gensokyo_Alice 阅读(96) 评论(0) 推荐(0) 编辑
摘要: P4308 CTSC2011幸福路径 第一眼瞄上去似乎很不可做,那么我们考虑直接放弃当 \(P\) 不停地乘一个小于1的常数那么就无限趋近0而 \(w_i \le 100\) 而且只保留一位小数。 那么我们爆搜不停滚动DP就完了。注意初始值一定要赋负无穷(很大很大就可以哦,0是不能油库里的)。 方程 阅读全文
posted @ 2020-09-14 16:53 Gensokyo_Alice 阅读(73) 评论(0) 推荐(0) 编辑
摘要: P3631 APIO2011方格染色 异或性质+带权并查集维护 主要是异或性质, 题目要求每个$2\ast2$的矩形内异或值为1 在使用$2\ast2$的矩形异或的时候,考虑对于一个矩形,除了最外面一圈,内部的格子都会被异或四次,除了内部和四个顶点的格子会被异或两次,所以可以不考虑(同一个值异或两次 阅读全文
posted @ 2020-09-14 16:07 Gensokyo_Alice 阅读(100) 评论(0) 推荐(0) 编辑
摘要: P1436棋盘分割 前缀和一下。 直接记忆化搜索(每次切割后只能选择一边继续切) #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef lo 阅读全文
posted @ 2020-09-14 11:29 Gensokyo_Alice 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 数位DP专练 1 P4999 烦人的数学作业 直接数位DP,考虑前pos位,和值为sum,有无到极限(flag) 然后直接深搜 #include <iostream> #include <cstring> #include <cstdio> typedef long long ll; const l 阅读全文
posted @ 2020-09-14 09:56 Gensokyo_Alice 阅读(97) 评论(1) 推荐(1) 编辑
摘要: A 对于0就不管,对于连续的两个1也不管,对于单个的1,直接删除,显然删除元素少于 \(\frac{n}{2}\) #include<iostream> #include<cstring> #include<cstdio> using namespace std; typedef long long 阅读全文
posted @ 2020-09-13 22:37 Gensokyo_Alice 阅读(122) 评论(0) 推荐(0) 编辑
摘要: A 水题,直接模拟能填就填。 #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; const ll MAXN = 1e6+10; ll N, M, T, 阅读全文
posted @ 2020-09-13 22:21 Gensokyo_Alice 阅读(63) 评论(1) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页