摘要: 容易发现新加的边一定是 1 到某个深度大于 i 的节点。 考虑枚举一颗子树表示 b 在这颗子树内且这颗子树内通过 (1,b) 走更优。 容易发现答案为 max(x+len+12,t)x 表示加的边的长度 阅读全文
posted @ 2023-11-15 14:41 Prean 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 容易发现分配给一个子树的钱只要够了就会移除 具体来讲,如果一个结点被分配到了 x 块钱,那么有两种情况: 子树全部都拿到了该拿的钱,自己拿到了一部分或者全部拿到了 对于每个儿子,其子树拿到的钱均不超过某个值 对于情况 1 容易构造使其不发生,对于情况 2 可以每次二分。 \(O(n^2\lo 阅读全文
posted @ 2023-11-15 10:59 Prean 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 感觉这一类 DP 至少不应该被叫做“LCS模型”,本质应该是其他的东西...... 先来考虑经典的 LCS:dp[n][m] 表示 S[n]T[m] 匹配上的最长的长度。 那么我们不妨这样子考虑:假设有两个子序列自动机,一个是 S 的,另一个是 T的。 那么这玩意儿就能够解 阅读全文
posted @ 2022-10-24 18:13 Prean 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 奇怪 O(n(P+1)!) 做法。 先钦定 p[1]=1,考虑原排列 p 的逆排列 q 表示 q[p[i]]=i。 那么容易发现一件事情就是, q 中相差为 1 的位置不会超过 P。 于是有一个 DP dp[n][S] 表示已经填了 q 中的前 n 个位置 阅读全文
posted @ 2022-10-21 21:06 Prean 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 上个星期kds给我看的题,第一眼不会做,然后稍微想了一下还是秒了。 感觉还是太简单了。 考虑到值域只有 300,我们这里假设 n 就是 300。重复的肯定开个桶记下来。 考虑经典结论:只会有至多一个质因子大于 17。 根据这个根号分治,那么我们记录 $2^{0\sim 8}\time 阅读全文
posted @ 2022-10-18 16:47 Prean 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 看到值域很小而且时限 4s 以为是什么高明的依赖值域的复杂度,结果就是优化 DP。 考场上只想到了 O(n5) 的还是太菜了。 设 dp[l][r][x] 表示 [l,r] 这个区间中 x 赢得最终胜利的概率。容易有 O(n5) 转移。 但是很显然 x 左边的人不可能与右 阅读全文
posted @ 2022-09-26 14:57 Prean 阅读(63) 评论(1) 推荐(1) 编辑
摘要: 设 f[i] 表示和第 i 个外挂相交且右端点大于第 i 个外挂中,右端点最大的外挂,g[i] 表示右端点满足上述条件中次大的外挂。 如果他不删除外挂,那么直接按着 f[i] 倍增,然后跳到某个外挂右端点大于 t 即可。 具体实现可以将 i 看做一个 [i,i] 的外 阅读全文
posted @ 2022-09-24 17:00 Prean 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 很神奇的状态。。。。。。 很难想象这是一个人能在考场上想到的状态。 对于一个排列 p,设 fi 表示以 pi 结尾的 LIS 的长度。 考虑排列计数的套路令所有元素 +1 然后塞一个 1 进去或者直接塞一个 n。这里考虑后者更简单。 容易发现 fi 等价最小表示法的 阅读全文
posted @ 2022-09-23 16:42 Prean 阅读(42) 评论(0) 推荐(0) 编辑
摘要: whk 了两天,来口胡一道题放松放松。 设 dp[u][k] 表示子树中所有叶子都距离自己的父亲节点长度为 k 的最小代价。(定义 1 号节点的父亲节点为 0,距离为 0) 不难发现有 $dp[u][k]=\min_{i=0}^{k}(|i+w-k|+(\sum_{v\in so 阅读全文
posted @ 2022-09-23 14:36 Prean 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 应该是非常愚蠢的东西,作用是把常数大而且难写的的 O(nlogn) 优化成常数小而且好写的 O(nlogn)。 例题 CF713C。 先考虑令 aii 然后转化成不降序列。 很显然最终答案应该是原序列中出现的数,设 dp[n][x] 表示 bn=x 的最小代价就做完 阅读全文
posted @ 2022-09-20 16:32 Prean 阅读(99) 评论(0) 推荐(2) 编辑
var canShowAdsense=function(){return !!0};
点击右上角即可分享
微信分享提示