07 2019 档案
摘要:题目大意:有一个n×m的切糕,每一个位置的高度可以在[1,k]之间,每个高度有一个代价,要求四联通的两个格子之间高度最多相差D,问可行的最小代价。n,m,k,D⩽ 题解:网络流,不考虑相差为D的条件时,可以给每个位置建一个点,源点连向高度为1
阅读全文
摘要:题目大意:有一棵n(n\leqslant10^6)个点的树,上面所有点是黑点,有m次操作: 题解:有两个点集,已知它们的直径的端点,可以很快求出点集的并的直径。所有可以用线段树维护所有点的直径。 卡点:考试时没想到 C++ Code:
阅读全文
摘要:题目大意:定义f(x)为数字x每一位数字的和,求\sum\limits_{i=1}^R[f(x)=f(kx)]。R\leqslant10^{18},k\leqslant10^3 题解:数位DP,从低位到高位DP,定义f[i][j][x][y]为从低到高第i位,$j=f
阅读全文
摘要:题目大意:有一个n\times m的网格图,若一个人的同一行或同一列有人,他就必须面向那个人,若都无人,就可以任意一个方向。若一个人无法确定方向,则方案不合法,问不同的方案数。n,m\leqslant3000 题解:令f_{n,m}表示n\times m的网格图的答案。$f_{0,i
阅读全文
摘要:题目大意:有一个n\times m的方格图,求其中所有的格点正方形完整包含的小方格个数,多组询问。n,m\leqslant 10^6 题解:令n\leqslant m。有一个显然的式子:ans=\sum\limits_{i=1}^n(n-i+1)(m-i+1)f(i)f(i)
阅读全文
该文被密码保护。
摘要:题目大意:有一棵n个点的带边权的树,上面有m个罪犯,速度为任意大,有一个警察在点S,速度为1。若警察和罪犯在同一个地方,罪犯就被干掉了,警察希望干掉所有罪犯时间最短,而罪犯希望最大化这个时间。求出这个时间,若无解输出 Terrorists win 。n,m\leqslant 50
阅读全文
摘要:题目大意:有一个长度为2\times 10^5的板,有n(n\leqslant 10^5)个格子a_1,\dots,a_n有布丁怪兽,一开始连续的怪兽算一个怪兽,有m(m\leqslant 2000)个特殊点b_1,\dots,b_n,你可以向左或向右移动怪兽,它会在碰到第一怪兽
阅读全文
摘要:题目大意:给你一个1\sim n(n\leqslant 10^5)的排列,设a为它在1\sim n的全排列中的排名,求在1\sim n的全排列中第a+m个排列。 题解:康托展开以及逆康托展开。将原排列转为变进制数,加上m,再用转回排列。转回去可以用在树状数组上二分来解决。这里
阅读全文
摘要:题目大意:给定一个n的排列,求它在n的全排列中的名次 题解:康托展开,对于一个全排列,第i为有n+1-i种选择,用变进制数表示,这一位就是n+1-i进制。记排列中第[1,i)中比第i位小的数个数位a,变进制数中第i位的数为i-a-1。可以用树状数组维护 卡点:
阅读全文
摘要:题目大意:给一个长度为n的字符串s,字符串p_i为字符串s去掉第i个字符后形成的字符串。请给所有字符串p_i排序(相同字符串按编号排序) 题解:先去掉所有连续相同字符,因为它们形成的字符串一定相同(也就是说只按编号排序)。然后发现对于两个字符串p_i,p_j(i<j)只需
阅读全文