随笔分类 -  动态规划

摘要:题目链接:https://codeforces.com/problemset/problem/1585/F 题解: 难难难 考虑容斥:设 Ai 表示 bibi+1 (i=1,2,,n1) 时对应的 {bi} 方案的答案 那么答案就是 $$\b 阅读全文
posted @ 2023-07-10 19:05 SkyRainWind 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1842/problem/E 题解: 首先,如果两个等腰三角形相交了,那答案肯定不会更优。因此不会相交。 先考虑一个 n2 的 dp: 设 dpi 表示考虑到 x=i 时的最小代价,首先可以先都加一个 $\sum 阅读全文
posted @ 2023-07-07 19:50 SkyRainWind 阅读(50) 评论(0) 推荐(0) 编辑
摘要:CF1826E 这个题比赛的时候基本做出来了,就是不会用 bitset 导致最后寄了。这已经是第三次很有希望做出 E 最后没有做出来了 /ll 好几个月了一直卡在四题,吐了 首先如果对于一个模特,她在 i 城市的所有分数都分别小于 j 城市的,那么就 ij 连一条 阅读全文
posted @ 2023-05-06 11:05 SkyRainWind 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一句话概括动态 dp:用来解决带修改/多次区间询问的 dp 问题。将转移写成矩阵的形式,然后利用线段树求解区间问题/单点修改 1814E 注意一条边要么选 2 要么选 0 次,而且第一条边一定是选了 2 次。如果有一条边没选,那么这条边两侧的边一定都选了。 设 fi 代表考虑到第 i 条边 阅读全文
posted @ 2023-04-27 23:03 SkyRainWind 阅读(30) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://codeforces.com/gym/104081 目前就做了 8 题,里面还有 4 个水题…… 水题:ACEG,模拟题意即可,C 和 E 有一些细节。不想写题解了 F 首先目标是如何将这 9 个数分组,由于答案一定存在,考虑随机化,固定 a1S1,然后随 阅读全文
posted @ 2023-04-19 20:32 SkyRainWind 阅读(37) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1809/problem/G 题解: 一道很强的 dp 首先翻译条件:predictable 是什么意思?发现就是对每一个下标,前缀 max 和下一个位置至少差一个 k+1 看到 n106,可以猜测最后应该 阅读全文
posted @ 2023-03-29 12:43 SkyRainWind 阅读(36) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/problemset/problem/1778/F 题解: 设 dpi,j 表示考虑到 i 结点,要让子树内的点都变成 aij 小约数的倍数的话,至少要操作多少次 首先预处理一下 1..1000 的所有约数 考 阅读全文
posted @ 2023-03-05 10:18 SkyRainWind 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1693 这场的题都非常好啊…… 因为现在是从 div1 开始做了,所以可能刚开始会有点吃力(这场我就会做一个 1B 呜呜呜) 1A 先把后缀的极长 0 段删去 考虑对于每一个 右移 操作,首先必然和一个 左移 操作一一对应(最 阅读全文
posted @ 2023-02-08 11:30 SkyRainWind 阅读(23) 评论(0) 推荐(0) 编辑
摘要:E 注意到后面选对前面的答案没有影响,而且前面选的顺序对后面的影响是连续的一段(如选 2 个,那么对应的 c 就应该是 c[i2..i](对应 i 是 1、2、3 个选时的答案)) 然后就可以 dp 了:设 dp[i][j] 表示考虑到前 i 个物品,选了 j 个时的最小花 阅读全文
posted @ 2023-02-06 12:48 SkyRainWind 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://zhengruioi.com/problem/87 题解: 首先考虑 f(l,r) 代表什么,官方题解很详细了就不再赘述了: 因此我们要求的就是对于所有 l,rl1r 的最长公共前缀的 1 的个数,记为 S 容易发现答案就是所有 阅读全文
posted @ 2023-02-03 22:58 SkyRainWind 阅读(41) 评论(0) 推荐(0) 编辑
摘要:bitset:一个01位如果用bool存的话需要 1byte,而用bitset只需要 1bit(=1/8 byte) 每次两个集合取并的时候可以除以一个大常数(32/64),从而优化复杂度 LOJ515 设 dp[i] 表示考虑到第 i 个区间,能形成的和的状态是0/1(该位为1代表可以出现 阅读全文
posted @ 2023-02-01 22:07 SkyRainWind 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题单:https://www.luogu.com.cn/training/100578#problems 嘛虽然是 26 题,但是简单的题就不想写了... 就写绿题及以上的吧 E 对重量 dp,设 dp[i][v] 表示考虑到前 i 个物品,价值为 v 时的最小重量 // by SkyR 阅读全文
posted @ 2023-01-31 12:26 SkyRainWind 阅读(38) 评论(0) 推荐(0) 编辑
摘要:sosdp 可以做的题目:对子集/超集的 dp,这里对子集相关的部分做一下分析 参考资料 设 f[mask][i] 表示从低到高考虑到 mask 的第 i 位(从 0 开始算),而且这 i+1 位都是 mask 的子集并且第 i+1 位及以上都和 mask 完全相同时的和 阅读全文
posted @ 2023-01-28 17:41 SkyRainWind 阅读(46) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://codeforces.com/contest/225 题解: A 题意题 // by SkyRainWind #include <bits/stdc++.h> #define mpr make_pair #define debug() cerr<<"Yoshino\n" # 阅读全文
posted @ 2023-01-20 10:24 SkyRainWind 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://zhengruioi.com/problem/370 题解: 考虑对于 S[l..r] ,如果要符合条件必然是在最高位分成了至少两段(也可能没有分出来,那就继续下一位) S[l..k]S[k+1..r],其中前半段这一位的字符小于后半段这一位的字符,然后前半段就 阅读全文
posted @ 2023-01-19 11:44 SkyRainWind 阅读(22) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://atcoder.jp/contests/abc285 题解: ABC 水题 int a,b; scanf("%d%d",&a,&b); if(b==2*a||b==2*a+1)cout<<"Yes"; else cout<<"No"; scanf("%d",&n); sca 阅读全文
posted @ 2023-01-18 16:09 SkyRainWind 阅读(117) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1775/problem/F 题解: 首先考虑第一问 考虑将答案的图形补成一个矩形 显然出现凹槽不优,因此可以看成一个矩阵去掉几个角之后的图形 因此补成矩形之后周长仍然不变 注意到补成矩形之后的长和宽相差最多1的时候一定可以取到 阅读全文
posted @ 2023-01-16 20:40 SkyRainWind 阅读(40) 评论(0) 推荐(0) 编辑
摘要:设 f[i][j][0/1] 表示考虑到第 i 个位置,已经形成了极大的 j 段,当前位置为 0/1 的期望值 ; g[i][j][0/1] 也同理,不过维护的是概率。 (思考:这种不是求最优决策而是求某种固定的答案的问题,可以再开一个数组维护一下当前状态下的其它值,因为没有决策也就 阅读全文
posted @ 2023-01-14 15:33 SkyRainWind 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2157 题解: 注意每个决策会跟其在前面还没有选过的人有关(bi),会和上一次选的人有关 考虑 dp[i][S][k] 表示考虑到第 i 个人,[i,i+7] 是否选了的状态是 S ,最后一个选的位置是 阅读全文
posted @ 2022-12-20 21:25 SkyRainWind 阅读(15) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://atcoder.jp/contests/abc281 题解: D dp[i][j][k] 表示考虑到第 i 个数,集合加入了 k 个数,余数为 j 的答案 转移即可 // by SkyRainWind #include <cstdio> #include <ve 阅读全文
posted @ 2022-12-14 11:12 SkyRainWind 阅读(24) 评论(0) 推荐(0) 编辑

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