摘要:
CF848D Shake It! link Solution 可以想到我们可以设 \(f_{i,j}\) 表示增加了 \(i\) 个点的图最小割为 \(j\) 的方案数。然后你发现如果把一条边 \((u,v)\) 增加了 \((u,w),(w,v)\) 那么,\((u,w)\) 和 \((w,v)\ 阅读全文
摘要:
函数调用 link Solution 不知道一年之前我在想什么,明明很sb的一个题目哎。。。 可以想到的是,我们如果可以计算出一个增加节点会贡献多少次就可以直接算了。整体乘的贡献也算在这里就好了。直接topo排序算出进入一个块之前已经全局成了多少就好了。 Code #include <bits/st 阅读全文
摘要:
link Description 给出一个大小为 \(n\) 的树,每个点有点权,有 \(m\) 次查询,每次查询 \(u\to v\) 的不同点权个数。强制在线。 \(n\le 4\times 10^4,m\le 10^5\) Solution 不知道这是不是正宗的树分块。 我们考虑假如我们能取出 阅读全文
摘要:
link Solution 又回想起一年前被这个题目支配的恐惧,NOIP 就因为这个 sb 东西被拉开分差导致后面一个学期状态都很崩溃。唉,还是自己太菜了。。。 首先我们可以先考虑 \(n=2\) 的情况,你发现这个时候存在一种优秀方案使得可以 \(\Theta(m)\) 完成。如下图(图是嫖的,不 阅读全文
摘要:
link Solution 可以想到的是,如果我们选了区间 \([L,R]\),那么相当于我们对 \(s\) 进行 \([L,n]\) 的操作,对 \(t\) 进行 \([R+1,n]\) 的操作(注意一定得是后缀,因为前缀换是前面的)。 那么我们就可以对于每一个后缀都求出 \(s,t\) 的变化情 阅读全文
摘要:
link Solution 首先 \(\Theta(nm2^m)\) 的应该挺好想的吧?直接枚举选的是哪个就好了? 考虑如何做到 \(\Theta(m2^m)\) ,可以想到的是,我们可以先求出 \(g_{s}\) 表示我在选了 \(s\) 这个状态里面的位置进行查询,选了哪些无法分辨出来。 然后我 阅读全文
摘要:
link Description 有 \(n\) 个人需要接待,每个人可以被接待的时间为 \([L_i,R_i]\),你提前 \(j\) 分钟接待他的话可以产生 \(j\times p_i\) 的贡献。可以在门口和沙发之间来回,需要时间为 \(L\),待在门口或者辗转都会减少贡献,在沙发上会增加贡献 阅读全文
摘要:
link Description 给出一个 \(n\) 个点的 AVL 树,求保留 \(k\) 个点使得字典序最小。 \(n\le 5\times 10^5\) Solution 因为我很 sb ,所以只会 \(\Theta(n\log^2n)\)。 首先可以注意到的是,树高是 \(\Theta(\ 阅读全文
摘要:
link Description 给出两个字符串 \(s_1,s_2\),对于任意一个长度 \(k\),问从两个字符串中随机各选一个长度为 \(k\) 的子序列 A,B ,A 字典序大于 B,A 字典序等于 B,A 的字典序小于 B 的概率。 \(n,m\le 2\times 10^5\) Solu 阅读全文
摘要:
link Description 有 \(n\) 座山,可以铲平 \(k\) 座山,问使得积水为偶数的方案数是多少,模 \(10^9+7\) 。 \(n\le 2.5\times 10^4,k\le 25\) Solution 很sb的一个题目,但是我傻了。 可以先考虑如何计算最后的积水体积。我们可 阅读全文