
题解
文章平均质量分 71
YiPeng_Deng
这个作者很懒,什么都没留下…
展开
-
LOJ#3524. 「IOI2021」钥匙
Description传送门Solution首先注意到如果x−>y,y−>zx->y,y->zx−>y,y−>z,那么x−>zx->zx−>z。因此考虑xxx能够到yyy,如果yyy不能够到xxx,那么px>pyp_x>p_ypx>py,xxx就失去了意义,同理所有能够到达xxx的点也失去了意义。因此可以考虑维护一个栈,每一个栈中的元素是一个强连通分量,并且它们形成了一条链。每一次从栈顶进行扩展,如果能够到一个无意义原创 2021-06-23 20:00:52 · 760 阅读 · 1 评论 -
计蒜客决赛Day2 T2 类斐波拉契数据分析
Description传送门Solution关键在于发现结论,以及简单的反演。fib数列:fn=kfn−1+fn−2f_n=kf_{n-1}+f_{n-2}fn=kfn−1+fn−2满足fx+y=fx−1fy+fxfy+1f_{x+y}=f_{x-1}f_y+f_xf_{y+1}fx+y=fx−1fy+fxfy+1,转移矩阵为An=[[fn−1,fn],[fn,fn+1]]A^n=[[f_{n-1},f_n],[f_{n},f_{n+1}]]An=[[fn−1,fn]原创 2021-06-17 16:28:13 · 165 阅读 · 0 评论 -
CF1515I Phoenix and Diamonds
Description传送门Solution假设手上有resresres的空间,考虑每一次让resresres减半,做logloglog次即可。考虑减半的过程,不以res/2res/2res/2为边界,而是以2k2^k2k为边界,从大到小枚举kkk,将[1,2k][1,2^k][1,2k]设为轻物品,(2k,2k+1](2^k,2^{k+1}](2k,2k+1]设为重物品,不妨假设res≤2k+1res\le2^{k+1}res≤2k+1,需要贪心选使得res≤2kres\le2^kres≤2原创 2021-05-05 21:53:48 · 420 阅读 · 0 评论 -
CF1517简要题解(Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2))
CF1517A/B略C赛时打了一个正确性说不明白的做法。一个优秀的做法是按照对角线一条一条求,找到当前对角线上的剩余次数1,在1上面的往下扩展,在1下面的往左扩展,可以发现这样是唯一的。D可以发现走k/2k/2k/2步之后原路返回即可,因此不需要记录终点,直接记录起点为DP状态即可。E最终的样子为(P)CC..C+PC∗n+PP..P(C)(P)CC..C+PC*n+PP..P(C)(P)CC..C+PC∗n+PP..P(C)或PP..PCC..CPP..PCC..CPP..原创 2021-04-25 14:59:53 · 375 阅读 · 0 评论 -
arc117C~F
arc117C假设三种颜色分别为0,1,2,那么操作相当于在模3意义下取-x-y,满足结合律,直接组合数算一下即可。D考虑将最后的点权按照从小到大的顺序排列,那么只需要考虑相邻的距离是否满足条件。因此对于相邻的直接取它们的距离即可。等价于求一个排列,点权即为上一个加上两者之间距离,等价于求从某个点开始到某个点结束经过所有点的路径长度最小,那么只有一条路径不会经过两遍,取直径即可。E考虑最后的折线,一层一层DP即可,设f[i][j][k]f[i][j][k]f[i][j][k]表示当原创 2021-04-20 20:23:37 · 347 阅读 · 0 评论 -
【CF1503】 Codeforces Round #712 (Div. 1) 简要题解
CF1503A:先判奇偶性,对于相同的位置前面全部左括号,后面全部右括号,对于不同的位置,左右括号交替放,保证较小的那个尽量大。B:按照格子x+yx+yx+y的奇偶性填1、2,1、2中总有一个先填满,剩下的随便填。C:首先起点随意,然后按照aaa排序,注意到只有从小的到大的有贡献,因此要找到一个子序列使得从111跳到nnn总和最小,再从nnn往小跳。D:不妨考虑aaa上升,bbb下降,先把最大值填进去bbb开头,同时会向aaa的开头填入vvv,那么对于所有x<vx<vx<v还没有原创 2021-04-06 21:31:58 · 306 阅读 · 0 评论 -
JOISC2021题解(部分)
水平有限,之后会继续更新。Day1B:首先枚举1的出发方向,可以发现每一个点首先可以选择两个方向,夹角部分包括了1,再观察一下可以发现实际上这两条中只有一条有用,因为在传染的进行中对角线也要包括1,优先感染能够感染的,模拟即可。C:先不考虑颜色的问题,求出如果没有删除操作每一次询问是当前队列的第几个。相当于是要维护一个区间加,区间减,以及区间对0取max,查询的时候用总的个数减去当前操作减法后的个数即可知道当前在总队列中的起点是什么,这个可以用吉司机线段树去做。之后可以整体二分?也可以直接对于维.原创 2021-03-24 14:36:53 · 883 阅读 · 0 评论 -
LOJ#3347. 「APIO2020」有趣的旅途
Description传送门Solution以下给出了一个只需要3n3n3n次询问的做法首先考虑怎么构造一个方案,首先先反过来,然后考虑对于一个起点,把不同儿子的点按照深度从小到大轮流跳。不难发现只要不存在一个子树的大小>n2>\frac{n}{2}>2n,就一定有解。至于构造方案,设resresres为剩下的点,mxmxmx为最大的子树的大小,当前满足res−mx≥mxres-mx\ge mxres−mx≥mx,每一次选择其他子树中最浅的没有被选择的点,那么最后一定有一原创 2021-01-11 22:28:17 · 304 阅读 · 0 评论 -
arc111E Simple Math 3
Description传送门Solution如果i(B−C)+1≥Di(B-C)+1\ge Di(B−C)+1≥D就一定有,那么接下来要求∑i=1lim[Ci+AD−Bi+A−1D=1]=∑i=1limCi+AD−Bi+A−1D\sum_{i=1}^{lim}[\frac{Ci+A}{D}-\frac{Bi+A-1}{D}=1]\\=\sum_{i=1}^{lim}\frac{Ci+A}{D}-\frac{Bi+A-1}{D}i=1∑lim[DCi+A−DBi+A−1=1]=i=1原创 2021-01-10 20:48:18 · 313 阅读 · 0 评论 -
JZOJ6930. 【2020.12.26冬令营模拟】quarantine
Description有一个mmm行nnn列的图,第iii列有连向i+1i+1i+1列的有向边,有qqq次操作:修改iii列jjj行向i+1i+1i+1列kkk行的边的状态。对于l,rl,rl,r,给出l,rl,rl,r列的起点和终点的状态,求最少删除多少个点可以使得不存在一个起点能够到达任意一个终点。m≤24,n,q≤8292m\le24,n,q\le8292m≤24,n,q≤8292Solution暴力可以最小割。考虑最小割=最大流,而每一个点只能割一次,因此求的实际上是最大不原创 2020-12-29 21:49:24 · 333 阅读 · 1 评论 -
JZOJ6930. 【2020.12.26冬令营模拟】rna
Description有一个边为字符的树(字符集大小为2n2n2n)。qqq次在线操作。修改:在某一个点下面加点。询问:对于一个节点xxx到它的根节点的路径上的字符串SSS,已有一个它的长度为lll的前缀,每一次随机在后面加入字符集中的一个字符,问期望多少次能够得到SSS。对998244353取模。q,n≤3e5q,n\le3e5q,n≤3e5Solution首先考虑一个串SSS的时候怎么计算,与[CTSC2006]歌唱王国是一样的,考虑这个串的所有border,期望步数为:∑i=原创 2020-12-29 21:32:40 · 202 阅读 · 0 评论 -
【牛客挑战赛46】F.柠檬树
Description这是一棵有 n 个柠檬的柠檬树,由 n-1 条枝条连接而成。秋天了,柠檬都成熟了, 牛牛和牛妹准备选一些柠檬送给他们的朋友们。对于每一个朋友,牛妹会选择第 l-r 个柠檬送给朋友。具体的采摘方法是:选取尽可能少的树枝,使得区间内的柠檬两两连通。牛牛负责派送柠檬,但他的朋友太多啦,他实在是忙的上气不接下气,所以他想让您来帮忙。n,q≤2e5n,q\le2e5n,q≤2e5Solution类似数星星同样有两种方法,首先先转化为到根节点的链并,然后减原创 2020-12-15 21:35:05 · 308 阅读 · 0 评论 -
CF1456E XOR-ranges
Description传送门Solution考虑[l,r][l,r][l,r]的限制,我们可以从高位往低位数位DP由于如果有一个位置变成了任意填的状态,那么就可以将左边的一个任意填的区间和右边的任意填的区间合并在一起,因此可以区间DP。计f[k][l][r][0..3][0..3]f[k][l][r][0..3][0..3]f[k][l][r][0..3][0..3]表示从高位往低位到了第kkk位,端点形态分别是0..30..30..3,即与最小/大值相等或这一位恰好比最小/大值大/小。O原创 2020-12-02 07:48:23 · 370 阅读 · 0 评论 -
JZOJ6912. 【2020.12.01提高组模拟】数论(math)
Descriptionn,m≤1e7n,m\le1e7n,m≤1e7Solution后面那个互质数之和由于对称性可以得到是ϕ(n)n/2\phi(n)n/2ϕ(n)n/2,需要特判n=1n=1n=1然后把ϕ(ij)\phi(ij)ϕ(ij)拆成ϕ(i)ϕ(j)(i,j)ϕ((i,j))\phi(i)\phi(j)\frac{(i,j)}{\phi((i,j))}ϕ(i)ϕ(j)ϕ((i,j))(i,j),相当于是一个容斥掉1p−1\frac{1}{p-1}p−11然后直接枚举(i,j)(i原创 2020-12-01 21:37:48 · 304 阅读 · 0 评论 -
JZOJ6911. 【2020.12.01提高组模拟】莫队(team)
Description支持单点修改,求区间[l,r][l,r][l,r]有多少子区间不包括重复数字。n,q≤2e5n,q\le2e5n,q≤2e5Solution裸题?对于每一个节点维护前面第一个与它相同的位置,假设是preipre_iprei,那么询问[l,r][l,r][l,r]相当于是求:∑i=lri−maxj≤l(prej,l−1)\sum_{i=l}^ri-max_{j\le l}(pre_j,l-1)i=l∑ri−maxj≤l(prej,l−1)考虑这个东西其实就是原创 2020-12-01 21:32:01 · 286 阅读 · 0 评论 -
LOJ#3385/JZOJ6908. 「COCI 2020.11」Svjetlo
Description传送门Solution考虑最后的路径是什么样子,首先每一条边最多经过四次,即来回两次,因为我们可以通过递归解决一条边下面的子树,然后再根据这个点当前的奇偶性,考虑经过这条边两次还是四次(即横跳一次还是两次)。有了这个简单的思路,我们就可以直接树形DP了,一条路径把它拆分到每一条边上计算,记录f[x][0/1/2][0/1]f[x][0/1/2][0/1]f[x][0/1/2][0/1]表示xxx的子树内,有0/1/20/1/20/1/2个路径端点,xxx的灯是0/10/1原创 2020-11-30 21:47:23 · 586 阅读 · 0 评论 -
JZOJ6870. 【2020.11.17提高组模拟】ckw的树 (tree)
Description给你一个nnn个点的树,你可以选择一个点在上面随机游走,每次等概率随机跳到一个距离不超过2的点(包括自己)。现在给出mmm个标记点,求每一个点跳到任意一个标记点的期望步数。n,m≤1e5n,m\le1e5n,m≤1e5Solution考虑从叶子往上面推,那么一个点的期望E(x)E(x)E(x)可以表示成sum[fax],E(fax),E(fafax)sum[fa_x],E(fa_x),E(fa_{fa_x})sum[fax],E(fax),E(fafax)的和,原创 2020-11-18 09:37:59 · 329 阅读 · 0 评论 -
JZOJ6869. 【2020.11.17提高组模拟】pastel
Descriptionn≤3e5,q≤5e5n\le3e5,q\le5e5n≤3e5,q≤5e5Solution考虑维护每一个黑点,如果没有修改,子树查询可以把子树内的每一个黑点的w∗cntw*cntw∗cnt求和,再考虑这个点的归属点权值vvv,贡献v∗(szx−∑cnt)v*(sz_x-\sum cnt)v∗(szx−∑cnt),单点查询可以直接询问归属点的权值,用一个线段树维护上面的值,以及4操作。如果有加入黑点的操作,简单维护一下上面的东西,把新黑点的权值变为它的归属点的权值。如原创 2020-11-18 09:25:21 · 374 阅读 · 0 评论 -
JZOJ6866. 【2020.11.16提高组模拟】路径大小差
Descriptionn,wi≤2e5n,w_i\le2e5n,wi≤2e5Solution一道简单题,比赛的时候没有时间想。。。可以简单点分治,合并讨论max,min的大小关系,用一个树状数组统计。也可以容斥,求恰好[l,l+k][l,l+k][l,l+k],相当于[l,l+k]−[l+1,l+k]−[l,l+k−1]+[l+1,l+k−1][l,l+k]-[l+1,l+k]-[l,l+k-1]+[l+1,l+k-1][l,l+k]−[l+1,l+k]−[l,l+k−1]+[l+1,l原创 2020-11-16 19:17:10 · 299 阅读 · 0 评论 -
【牛客挑战赛45】G.致两千年后的你
DescriptionSolution首先一个集合SSS可以把gcd(a1,a2,a3,...,P)gcd(a_1,a_2,a_3,...,P)gcd(a1,a2,a3,...,P)的倍数拼出。因此我们把P,x,aiP,x,a_iP,x,ai分解质因数,把aia_iai根据每一个质因数的次数是否大于xxx的次数作为二进制数,然后高位后缀和一下,就可以知道某个TTT的倍数的个数。考虑转移kkk次对于f0(S)f_0(S)f0(S)的贡献实际上是knk∣S∣\frac{k^n}{k^{原创 2020-11-15 21:42:53 · 267 阅读 · 0 评论 -
LOJ#3367. 「IOI2020」装饼干
Description将kkk种饼干放入xxx个袋子之中,使得每一个袋子的饼干价值相同,求有多少种不同的价值能够满足。第iii个饼干有aia_iai个,价值为2i−12^{i-1}2i−1.k≤60,∑ai≤1e18k\le60,\sum a_i\le1e18k≤60,∑ai≤1e18Solution很容易想到,贪心放饼干,从高位往低位放,尽量把大的饼干塞入袋子里面,这样一定不劣。于是就有了一个简单的DP思路,设f[i][j]f[i][j]f[i][j]表示放到第iii位,当前小于ii原创 2020-11-06 19:41:12 · 1037 阅读 · 0 评论 -
JZOJ6828. 【2020.10.25提高组模拟】幂
DescriptionTTT组数据,T≤1e5,n≤1e7T\le1e5,n\le1e7T≤1e5,n≤1e7Solution好家伙,最下面的数据范围居然是这样的:直接以为卡特兰数乘上个组合数就能切了(然而数据范围在读入的地方这个看起来1e71e71e7的O(1)O(1)O(1)查询多半是递推吧。因此写出dp,f(n),g(n)f(n),g(n)f(n),g(n)分别表示长度为nnn合法方案数以及贡献和。讨论第一个是′x′'x'′x′还是′(′'('′(原创 2020-10-26 22:53:43 · 286 阅读 · 2 评论 -
JZOJ6830. 【2020.10.25提高组模拟】排列
Descriptionn≤1000n\le1000n≤1000Solution梅开二度,几个月前才做过相同套路的题目,结果由于对于容斥的理解不够透彻,最后没有想清楚乱推出来的东西的正确性。首先可以发现一个结论,对于一个排列,找到最长长度为lenlenlen的上升区间,它需要操作的次数是n−lenn-lenn−len。那么容易转化为对于每一个kkk,求maxlen≤kmaxlen\le kmaxlen≤k的排列的个数。直接模拟DP可以做到O(n4)O(n^4)O(n4)或O(n5)O(n^原创 2020-10-26 22:31:03 · 296 阅读 · 0 评论 -
JZOJ6825. 【2020.10.17提高组模拟】prime
Descriptionn<=2e5,∣v∣≤5000n<=2e5,|v|\le5000n<=2e5,∣v∣≤5000Solution对于虚数的相乘,是模长相乘、极角相加的,最后是质数模长∣p∣2|p|^2∣p∣2,所以最多有两个数相乘形成这个质数。不妨考虑对于还未到两个因子的复数暴力乘,由于势能一定,所以时间是可以满足的。又因为有区间赋值,所以我们可以用一个平衡树来进行块的合并(set也可以)。再考虑不贡献模长的四种数,1,−1,i,−i1,-1,i,-i1,−1,i,原创 2020-10-19 22:03:21 · 232 阅读 · 0 评论 -
JZOJ6816. 【2020.10.06提高组模拟】随机的排列
Description给你一个长度为nnn且完全随机的排列ppp,iii(下标)可以被右边或左边第一个大于它的支配。现在需要选择最少的点,使得每一个点要么被选择,要么被一个选择的点支配。还需要支持qqq次修改:交换相邻的两个随机位置的值。对于未修改时和每一次修改后输出最少的选择数。n≤1e5,q≤2e4n\le1e5,q\le2e4n≤1e5,q≤2e4Solution首先建出笛卡尔树,可以发现一个点支配的点是左儿子的所有右儿子链,和右儿子的所有左儿子链。所以可以记原创 2020-10-06 22:31:07 · 197 阅读 · 0 评论 -
JZOJ6815. 【2020.10.06提高组模拟】树的重心
Description求大小为nnn的树上所有大小为kkk的连通块的重心权值之和(如果有两个重心,取编号小的那个)。n≤5e4,k≤500n\le5e4,k\le500n≤5e4,k≤500Solution显然可以得到一种O(nk2)O(nk^2)O(nk2)的换根DP,直接枚举子树内选择的点数转移即可。经典套路:如果没有换根DP的部分,直接做大小为kkk的树形背包的复杂度实际上是O(nk)O(nk)O(nk)的(而不是O(nk2)O(nk^2)O(nk2))。证明:原创 2020-10-06 22:22:12 · 238 阅读 · 0 评论 -
JZOJ6812. 【2020.10.05提高组模拟】战争
Descriptionn≤4e7,ai≤1e18n\le4e7,a_i\le1e18n≤4e7,ai≤1e18Solution神仙函数(构造)题。首先这种题目可以归为一类:中间的步骤完全随机,求起始状态到终止状态的期望步数。相应的也有一般的解法,构造一个势能函数,使它的增量是一个定值,终止状态唯一对应函数的一个最值,那么设终止状态TTT,起始状态SSS,状态sss势能函数F(s)F(s)F(s),增量Δ\DeltaΔ,那么期望步数E(S)=F(T)−F(S)ΔE(S)=\frac{F(原创 2020-10-05 22:08:05 · 240 阅读 · 0 评论 -
【BEST定理】牛客挑战赛43
牛客挑战赛43A.序列划分求和即可。B.集合操作可以发现从前往后删除,观察DP转移发现就是组合数。C.最优公式因为没有发现答案输出要取模所以没过。可以打表发现性质,a=ba=ba=b,然后三分判断,是两个log的。考虑(x1,y1),(x2,y2)(x1,y1),(x2,y2)(x1,y1),(x2,y2)的曼哈顿距离∣x1−x2∣+∣y1−y2∣=max(∣x1−x2+y1−y2∣,∣x1−x2+y2−y1∣)|x1-x2|+|y1-y2|=max(|x1-x2+y1-原创 2020-09-22 12:37:23 · 338 阅读 · 0 评论 -
【二元关系网络流】JZOJ5506. 【清华冬令营2018模拟】变量
Description有n个变量w[1]~w[n],每个变量可以取W或-W。有p个式子,形如Hi=ai|w[xi]-w[yi]|+bi|w[yi]-w[zi]|+ci|w[zi]-w[xi]|+di(w[xi]-w[yi])+ei(w[yi]-w[zi])+fi(w[zi]-w[xi])。有q个条件,形如w[x]<=w[y]或w[x]=w[y]或w[x]<w[y]。最小化sigma(wi)+sigma(Hi)。对于100%的数据,t<=10,n<=500,p,q<=原创 2020-09-12 19:18:47 · 264 阅读 · 0 评论 -
LOJ#3343.【NOI2020】超现实树(surreal)
DescriptionLOJ3343判断一个可以叶子可以生长的树的集合是否几乎完备n,m≤2e6n,m\le2e6n,m≤2e6Solution一道性质题。考场上的时候想到了一些根据树的形态进行trie上dfs的方式去分治的做法,但是过于复杂,也并没有实现。我并没有意识到一个重要的性质:所有的树都可以由若干种树枝(每一个点的儿子的最小大小不超过1,即一个链在某些节点外挂一个点)生长出来,所以如果只有有限个树枝不能得到,意味着也只有有限个树不能得到。也就是,树枝是一个树的基底,如果几乎所原创 2020-09-03 20:52:37 · 319 阅读 · 0 评论 -
LOJ#3342.【NOI2020】制作菜品(dish)
DescriptionLOJ3342n≤500,m≥n−2,k≤5000n\le500,m\ge n-2,k\le5000n≤500,m≥n−2,k≤5000Solution一道性质题。考场上想了一会儿的网络流,但是并不可做,之后尝试猜结论,打了一个暴力。之后看到了m=n−1m=n-1m=n−1的部分分,虽然想到了树,以及每一次的叶子都是剩余值最小的那个,但是并不知道到它和哪一个合并在一起,然后就没有想法了。实际上,对于这一类的题目,应该大胆顺着自己的结论往下走,多玩一玩样例,就可以发原创 2020-09-03 20:40:31 · 284 阅读 · 0 评论 -
LOJ#3340.【NOI2020】命运(destiny)
DescriptionLOJ3340n,m<=5e5n,m<=5e5n,m<=5e5Solution首先很容易想到n2n^2n2的DP,f[x][j]f[x][j]f[x][j]表示xxx点的限制到jjj。把有用的状态提出来就可以用n2n^2n2获得64分。启发式合并可以做到nlog2nnlog^2nnlog2n获得更多分数。很容易就可以在DP的基础上想到线段树合并。但是我考场上的时候想的是前缀和的状态的合并,需要单点乘以及区间加,并且将一段赋为0。由于这个需要维护原创 2020-09-03 20:25:49 · 323 阅读 · 0 评论 -
【扩展lucas】LOJ#2023. 「AHOI / HNOI2017」抛硬币
Description抛硬币,小A投aaa次,小B投bbb次,求小A正面次数多于小B正面次数的方案数。1≤a,b≤1e15,0≤a−b≤1e4,1≤k≤91\le a,b\le 1e15,0 \le a-b\le1e4,1\le k \le 91≤a,b≤1e15,0≤a−b≤1e4,1≤k≤9Solution首先我们先考虑a=ba=ba=b的情况,不难发现对于一种小A赢的方案数,取反就对应小A输的方案数,所以只要在所有方案中减去平的再除以二即可。考虑扩展到a>ba>ba>原创 2020-08-09 08:13:00 · 294 阅读 · 0 评论 -
JZOJ6782.【NOI2020.08.06模拟】wlwl
Descriptionn≤1e5,p≤1e18n\le1e5,p\le1e18n≤1e5,p≤1e18Solution跟昨天的WC T2用同样的套路来转化??!可惜没有提前做到这场模拟赛,血亏。简单的数论都不太熟练,做同余问题连智商都没有了。首先假设ggg为原根,有gx=ag^x=agx=a,设aord(a)=1a^{ord(a)}=1aord(a)=1,那么gx∗ord(a)=1g^{x*ord(a)}=1gx∗ord(a)=1,所以(p−1)∣x∗ord(a)(p-1)|x*ord(a原创 2020-08-08 09:06:21 · 257 阅读 · 0 评论 -
【powerful number】JZOJ6785.【NOI2020.08.07模拟】T3(remapping)
Description若x=∏pkx=\prod p^kx=∏pk,则f(x)=2∑kf(x)=2^{\sum k}f(x)=2∑k,求∑i=1nf(i)\sum_{i=1}^nf(i)∑i=1nf(i)。n<=1e14n<=1e14n<=1e14Solution首先f(x)f(x)f(x)是一个积性函数,我们考虑将fff卷两次μ\muμ。u=(f∗μ)∗μu=(f*\mu)*\muu=(f∗μ)∗μ(狄利克雷卷积),展开后不难发现uuu只在powerful number原创 2020-08-08 08:28:32 · 250 阅读 · 0 评论 -
【LGV不相交路径】JZOJ6775.【NOI2020.07.31模拟】path
Description网格图中,有nnn个起点,第iii个点为(0,ai)(0,a_i)(0,ai),保证ai≤ai+1a_i\le a_{i+1}ai≤ai+1,求一种路径方案,使得iii号点到(i,0)(i,0)(i,0),且路径没有共用点的方案数,规定从(x,y)(x,y)(x,y)只能到(x+1,y)(x+1,y)(x+1,y)或(x,y−1)(x,y-1)(x,y−1)。模998244353,n≤1e6n\le1e6n≤1e6Solution这题是LGVLGVLGV的裸题。首原创 2020-07-31 17:32:42 · 372 阅读 · 0 评论 -
JZOJ6757.【NOI2020模拟07.22】T3(singer)
Descriptionn<219,m(n−k+1)<220n<2^{19},m(n-k+1)<2^{20}n<219,m(n−k+1)<220,模998244353998244353998244353Solution首先容斥,恰好kkk个容斥成至少kkk个升调,那么对于长度nnn来说至多有n−kn-kn−k段。f(n)=∑i>=nCin(−1)n−ig(i)f(n)=\sum_{i>=n}C_i^n(-1)^{n-i}g(i)f(n)=∑i&g原创 2020-07-22 08:39:25 · 296 阅读 · 0 评论 -
JZOJ6754.【2020.07.17NOI模拟】T3(always)
Description有nnn种颜色,第iii种颜色有c[i]c[i]c[i]个。对于所有∑c[i]\sum c[i]∑c[i]个元素的排列,它的贡献为∏1lk\prod \frac{1}{l_k}∏lk1,其中lkl_klk为首尾相接之后第kkk个极大连续段的长度。求(∑c[i])!∏c[i]!\frac{(\sum c[i])!}{\prod c[i]!}∏c[i]!(∑c[i])!个排列的贡献之和模998244353。n≤1e5,∑c[i]≤2e5n\leq1e5,\sum c[i]原创 2020-07-18 17:18:45 · 361 阅读 · 3 评论 -
【负权图网络流】JZOJ6169.【GDSOI 2019 day1】棋盘
Description放假了无聊的小 W 和小 S 在玩游戏。游戏规则是这样的:现在有个 N × M 的空棋盘,要往格子里摆棋子。每个格子可以摆一个棋子,但是每行每列都有各自的棋子数目的上限和下限。小 S 提出了个他喜欢的摆放方案,不一定合法,但不会超过上限限制。小 W 需要找到一个合法的方案,使得跟小 S 的方案状态不同的格子数目最少。一个格子如果在一个方案中摆了棋子,但在另一个方案中没摆棋子,则视为状态不同。两个方案摆放的棋子数目可以不相同。n,m<=50n,m<原创 2020-06-19 16:32:57 · 525 阅读 · 0 评论 -
JZOJ6734. 【2020.06.18省选模拟】航行
Descriptionn,m,ai<=1e5n,m,a_i<=1e5n,m,ai<=1e5Solution相当神仙的方法。首先考虑一下部分分,如果aia_iai为1,2怎么做。直接就是一个裸的最大权闭合子图,可以线段树优化连边。最大权闭合子图:在有向图中选择一个子图,每一个点被选择会有一个贡献(可负)使得子图中的每一个点的所有后继同时也在子图中。做法考虑网络流:对于所有原点连向每一个正权点,流量为权值,每一个负权点连向汇点,流量为权值的相反数。原图中的边全部为in原创 2020-06-19 08:01:06 · 321 阅读 · 0 评论