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