摘要: ## UNR #2 积劳成疾 dp 把贡献剥离为每个数的每个数作为区间最大的次数次方的乘积。 考虑一个比较经典的套路,对于一个值域全部为[1,i-1]的序列,枚举第一个插入i的位置,那么,包含i的区间个数可以计算(已知左边数的个数和右边数的个数),就y有了这个dp柿子: ![](https://im 阅读全文
posted @ 2020-03-12 20:00 永无岛 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1.最大流最小割定理 割的容量:所有割边中正向边的容量和 定理一:如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值不超过割CUT(S,T)的容量。(任意割容量>=任意流流量) 感性理解,一个割上的边(包括正向边和反向边),f最接近割的容量的时候就是割上的所有边都是正向边,且全部跑满, 阅读全文
posted @ 2020-03-06 21:10 永无岛 阅读(95) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-03-01 22:57 永无岛 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 口胡一下T4的多项式做法。 就是在状态中记录两个值: 1.第一个选的设施的位置 2.因为前面设施的选择,导致从某一个设施往后都不能选。 状态是F[i][j][l]表示前i个设施,第一个选的设施的位置是j,因为前面设施的选择,导致从倒数第l个设施往后都不能选,最大的目标值。 转移的话,对于往前k个,我 阅读全文
posted @ 2019-10-06 15:22 永无岛 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 这是本人自己根据网上关于这题的资料,再结合自己的理解总结的一篇题解。 因为是在typora里面写的,不能直接粘过来,就直接放图片了。 写的也不算好,应该不会有人想转吧..... 不过要转的话请先征得我的同意(毕竟这么多东西我先研究了两天,又写了一上午,很不容易) 本人在文中摘取了IOI2018集训队 阅读全文
posted @ 2019-08-10 11:44 永无岛 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 我们令f(i)为长度为i的答案 然后我们用序列中相同元素的个数来容斥: f(i)=s(1)f(n-1)-C(n-1,1)*s(2)*f(n-2)+C(n-1,2)*s(3)*f(n-3)-......... 其中s(m)表示sigma(1,A):im 为什么可以这样写: C(n-m,2)s(m)其实 阅读全文
posted @ 2019-07-09 22:12 永无岛 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 其实网上对于找到规律之后的部分已经讲的很详细了,在这里只较为严谨的证明一遍这个规律(毕竟网上不少人都说"打表可得")。 首先,我们考虑,对于排列中的一个数i,它对于逆序对的贡献的下界一定是|i-pi|。(这里认为逆序对是有序数对) 假如pi<i,那么就算它前面的都比它小,那么也至少有i-pi个数在它 阅读全文
posted @ 2019-06-12 17:51 永无岛 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 今天在机房里考了这题。。。。。lbw巨佬一下考场就开始大喊“第二题把直径赋为-1再跑一次直径就行”,作为一个蒟蒻也没有啥好说的,自己弱,没办法。 下午再想这道题,忽然有个暴力的想法。 首先,加一条边就会使一条链(就是这条边连接的两点形成的链)上的边只用被走一遍。(这很显然) 所以,令dp[i][j] 阅读全文
posted @ 2019-06-06 18:27 永无岛 阅读(174) 评论(1) 推荐(0) 编辑
摘要: 这个故事告诉我们,万物皆可暴(du)力(liu)dp。首先,题目的大意就是让我们通过他给定的一些变换方式使得这棵树变为完全二叉树。我们把完全二叉树所有的叶子节点连起来,应该只有两种情况,一种是一条链,另一种是两条链,其中一条链上的点的深度比另一条链的深度大1。令dp(i,j)表示i节点状态为j时的最 阅读全文
posted @ 2019-06-06 18:26 永无岛 阅读(168) 评论(0) 推荐(0) 编辑