随笔分类 -  D - DP

摘要:answer page 还有好多没补,但是既然赛时写出了e就应该去补f,不进则退 这场没开排行榜埋头苦写第一次赛时出e了,也是第一次500名,可喜可贺//(虽然d不会) D 想了一个n4做法,状态设计为f[i][pos][j][k], 表示第i行必须选第pos个数且当前在位置j且当前行选k个 阅读全文
posted @ 2024-12-21 14:40 lyrrr 阅读(36) 评论(0) 推荐(0) 编辑
摘要:状态为f[i][j][k],和g[i][j][k], i为i子树内,j为放置的摄像头个数,f中k为内部向外延伸的长度,g中k为外部向内延伸长度 当内部摄像头j*k>=siz[i]时一定可以全覆盖,要特殊记录,这也是复杂度为n方的关键 三维太多,用encode和decode压缩空间 考虑转移 因为太难 阅读全文
posted @ 2024-12-03 14:35 lyrrr 阅读(8) 评论(0) 推荐(0) 编辑
摘要:潜入行动 为例, 主要是dfs部分的代码,每次合成两个树,然后再把新的树往上面和,转移会非常容易 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e5 + 10, mod = 1e9 + 阅读全文
posted @ 2024-12-03 13:53 lyrrr 阅读(11) 评论(0) 推荐(0) 编辑
摘要:主要方法:用多个数组表示不同状态,同时维护两个dp数组 #include<bits/stdc++.h> using namespace std; #define int long long const int N = 500 + 10, mod = 1e9 + 7; int n, k, f[N][N 阅读全文
posted @ 2024-12-03 13:50 lyrrr 阅读(8) 评论(0) 推荐(0) 编辑
摘要:50分做法:n方dp 考虑f[i][j]为前i个数,第j个数是i之前与i染色不同的数,则考虑i+1染色与哪个数相同,可转移到f[i+1][i],f[i+1][j] 65做法:优化到n*值域 100分做法:继续优化式子达到线性 还有人类智慧做法,但是能优化就不需要智慧 #includ 阅读全文
posted @ 2024-11-30 00:28 lyrrr 阅读(10) 评论(0) 推荐(0) 编辑
摘要:P2418 yyy loves OI IV 有两种转移情况,一种是差值在范围内用线段树查找转移,一种是同段连续的作为一段来转移。 注意旧的一段已经结束了新的一段要+1 #include<bits/stdc++.h> using namespace std; #define pii pair<int, 阅读全文
posted @ 2024-11-22 19:30 lyrrr 阅读(5) 评论(0) 推荐(0) 编辑
摘要:新生赛题 F. tree options 如果能想到弱化版操作为每个节点值都小于等于0,就很容易想到n方log的做法。 但是回到原题会发现单调性有变化,不能直接二分。由于奇数轮数和偶数轮数分别有自己的单调性,就可以对奇偶轮数分别二分然后枚举非整轮部分。dp算每个点还要多少次能变为合法点。 题解有复杂 阅读全文
posted @ 2024-11-18 10:53 lyrrr 阅读(5) 评论(0) 推荐(0) 编辑
摘要:单调队列优化 P3594 斜率优化 P3195 状压 arc184B(未补), P3092 经典dp问题 D. Attribute Checks(nlog2e6做法不可行所以要考虑m方dp) D - Boss, Thirsty(用了很多前缀预处理思想大幅降低复杂度,推式子题) E - Card Ga 阅读全文
posted @ 2024-09-25 17:22 lyrrr 阅读(18) 评论(0) 推荐(0) 编辑

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