随笔分类 -  动态规划

摘要:比赛链接:https://codeforces.com/contest/1709 题解: AB 水题 // by SkyRainWind #include <cstdio> #include <vector> #include <cassert> #include <cstring> #includ 阅读全文
posted @ 2022-12-04 11:46 SkyRainWind 阅读(23) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://codeforces.com/contest/1711 BD比以往的要难,E要更简单 A 水题 // by SkyRainWind #include <cstdio> #include <vector> #include <cassert> #include <cstrin 阅读全文
posted @ 2022-12-03 14:41 SkyRainWind 阅读(38) 评论(0) 推荐(1) 编辑
摘要:题目链接:https://codeforces.com/problemset/problem/325/C 题解: 先建出来图,每条边连接一个点(起始的怪物)和一堆点(能爆出来的怪物) 先考虑min的情况,考虑反着跑最短路(从只能爆出钻石的怪物开跑),发现如果一个怪物能由其爆出来的怪物更新的话,爆出来 阅读全文
posted @ 2022-11-27 23:15 SkyRainWind 阅读(50) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://codeforces.com/contest/434 中国人出的浓度很高的一场 kitahara haruki - 北原春希(WA2) Kuriyama Marai - 栗山未来(境界的彼方) Ryouko - 御门凉子(出包王女) Nanami - 七海千秋(弹丸论破) 阅读全文
posted @ 2022-11-22 11:37 SkyRainWind 阅读(87) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://codeforces.com/contest/1743 题解: AB 水题 // by SkyRainWind #include <cstdio> #include <vector> #include <cstring> #include <iostream> #inclu 阅读全文
posted @ 2022-11-15 09:54 SkyRainWind 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1746/problem/D 题解: 显然,对于某个点,如果此时经过该点的路径个数为t,那么他的儿子的经过个数一定为t/|son|或者t/(|son|+1),直接枚举哪些位置+1是指数级别的,注意到总共有多少个+1是 阅读全文
posted @ 2022-10-19 21:59 SkyRainWind 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/708/problem/C 题解: 有一个简化:我们把重心当成根,这样所有点,如果不是重心,问题只可能出在该点向上的那个“子树”中 考虑对每个点维护向上子树中的最大的不超过n/2的子树大小,这样最后判断一下去掉这个子树之后大小是 阅读全文
posted @ 2022-10-19 17:42 SkyRainWind 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2167 题解: 摘录一段描述容斥题目的话: 本题中, 关于容斥系数,可以先感性理解一下,严格证明可以用 即除了自身,自身的超集都计算了0次,自身计算了一次 这样可以写出 答案就是对所有大小为k的集合 q(S)很好算, 阅读全文
posted @ 2022-10-11 20:58 SkyRainWind 阅读(28) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P5664 题解: 首先注意到至多有一个食材可能超过一半 不妨枚举这个食材,然后统计其超过一半时的方案数,最后容斥一下减去即可 一个比较初级的想法是钦定了第col列,设dp[i][j][k]表示考虑到第 i 行,第 co 阅读全文
posted @ 2022-10-11 15:42 SkyRainWind 阅读(13) 评论(0) 推荐(0) 编辑
摘要:概念题 滑动窗口 模板题,维护一个值和一个下标即可 Luogu2216 首先对每行做一遍滑动窗口,然后发现其实列也是个滑动窗口 // by SkyRainWind #include <cstdio> #include <vector> #include <cstring> #include <ios 阅读全文
posted @ 2022-10-07 21:30 SkyRainWind 阅读(18) 评论(0) 推荐(0) 编辑
摘要:2607:一个基环树,有点权,全是有向边,选儿子则不能选父亲(反之亦然),问选出的集合的最大点权和 注意到题目的特殊性,如果i->hatred[i],那么就是一个内向树,否则为外向树 内向树好找环,但是不方便统计答案,于是想到可以用外向树,在环上任一点断环成链,然后做两次树形dp(因为这一条边也是要 阅读全文
posted @ 2022-09-28 17:52 SkyRainWind 阅读(19) 评论(0) 推荐(0) 编辑
摘要:对于某个排列p,将ipi建个图发现这时对应的答案就是lcm(),注意与环中哪些数无关。 进一步观察可以发现这实际上就是这个问题:从n的排列中分成m个部分,令p=m个部分的size的lcm,求不同p的和/个数 看到lcm可以考虑质因子 阅读全文
posted @ 2022-09-14 15:25 SkyRainWind 阅读(12) 评论(0) 推荐(0) 编辑
摘要:其实已经做了不少题了,开个坑记一下在之前培训中遗留下来的题 CF327E 状压dp水题。一个小trick,如何比线性快的获取S的每位二进制? for(int i = S;i;i -= lowbit(i))dp[S] += dp[S & ~lowbit(i)]要比每位分别判断要快 BZOJ4057 阅读全文
posted @ 2022-09-13 18:44 SkyRainWind 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P3354 题解: 考虑树形dp 设f[i][j][k]表示考虑到 i 点,j 是i的祖先中与i最近的伐木场,i及子树中共有 k 个伐木场的最小代价 我们发现,这样设状态无法表示 i 是否有伐木场这个条件,因此钦定 f[ 阅读全文
posted @ 2022-09-10 13:59 SkyRainWind 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题意:求x[0,10n)的个数,使得4|xx中数码4的个数为4的倍数,n1016 题解: 第一个条件可以转化为末两位为4的倍数。易知其中不含数码4的有18个,含1个数码4的有6个,2个有1个。 先考虑不含数码4的,剩下t=n2位如何处理(判掉n=1或 阅读全文
posted @ 2022-08-28 20:30 SkyRainWind 阅读(36) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/solution/P2150 题解: 30pts n30,如果xy互质,则必有至少一个公共质因子,而30以内质数共10个,对质因子状态进行压缩 设dp[i][S1][S2]表示考虑到第 i 个数 阅读全文
posted @ 2022-08-12 00:04 SkyRainWind 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目链接 题解: 其实本题和区间 dp 关系不大,内核就是一个普通dp 考虑泳池和乒乓球,每种设施在楼中一定是连续的一段(长度可以为1),可能有多段 对于每个极大的这样的段(即两种设施的分界点)进行dp 设dp[i][0/1]表示考虑到第 i 层楼,最后一段是水池/球,对应的最优解 dp[i][0] 阅读全文
posted @ 2022-08-10 11:08 SkyRainWind 阅读(103) 评论(0) 推荐(0) 编辑
摘要:记录一下近期刷过的题,毕竟三年没碰OI了 8月 Luogu1077 & 1095 水题 Luogu3842 一开始想法是对的,结果敲错了一个字母;后来写的大讨论有个地方没有+1 Luogu1541 当前位置的这个状态不需要记录 Luogu4059 不需要记录末尾空格的数量,因为转移的时候与数量无关, 阅读全文
posted @ 2022-08-08 01:12 SkyRainWind 阅读(46) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示