摘要: ## 前言 在NOI2016D1T2国王饮水记中有一个叫定理10的东西,picks讲课的PPT中并没有给出详细的推导过程。本人根据PPT中所说的大致思想,尝试证明了定理10,现写在下方。如有错误或不严谨之处,麻烦指出,万分感激。 ## 证明 ![](https://img-blog.csdnimg. 阅读全文
posted @ 2020-06-18 22:02 永无岛 阅读(245) 评论(1) 推荐(1) 编辑
摘要: 前言 有一类DP的转移是带有数据结构特征的,针对这一点,我们可以使用合适的数据结构来优化转移。 可能这么干说着不好理解,下面会给出两道题目来详细说明。 例子 1.【arc073f】Many Moves 题目大意: 你有两个整数 \(a\) 和 \(b\) 。 现在 \(n\) 个操作,依次执行,每次 阅读全文
posted @ 2020-06-18 22:00 永无岛 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目 有一个数列,长度为 \(n\) 。有 \(q\) 个询问,每次询问所有长度为 \(k\) 的区间的最大值之和。 \(q\leq 1e6\) ,\(n\leq 1e6\),\(k\in [1,n]\) 。 题解 先拆一波贡献,把答案转化为每一个数对与每一个询问的贡献。 可以发现,一个数对一个询问 阅读全文
posted @ 2020-06-18 21:59 永无岛 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 这是我根据官方题解复盘出来的做法。 $O(n^2)$DP显然。 令$dp[i][j]$表示i时刻在位置j的最小代价。 转移: $$ dp[i][j]=min_{k<=j}(dp[i-1][k])+ ( i 时间内在位置 j 所有烟花的不满值之和) $$ 令 $dp'[i][j]=min_{k<=j} 阅读全文
posted @ 2020-06-18 21:52 永无岛 阅读(151) 评论(0) 推荐(0) 编辑
摘要: ## UNR #2 积劳成疾 dp 把贡献剥离为每个数的每个数作为区间最大的次数次方的乘积。 考虑一个比较经典的套路,对于一个值域全部为[1,i-1]的序列,枚举第一个插入i的位置,那么,包含i的区间个数可以计算(已知左边数的个数和右边数的个数),就y有了这个dp柿子: ![](https://im 阅读全文
posted @ 2020-03-12 20:00 永无岛 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1.最大流最小割定理 割的容量:所有割边中正向边的容量和 定理一:如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值不超过割CUT(S,T)的容量。(任意割容量>=任意流流量) 感性理解,一个割上的边(包括正向边和反向边),f最接近割的容量的时候就是割上的所有边都是正向边,且全部跑满, 阅读全文
posted @ 2020-03-06 21:10 永无岛 阅读(98) 评论(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 永无岛 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 这是本人自己根据网上关于这题的资料,再结合自己的理解总结的一篇题解。 因为是在typora里面写的,不能直接粘过来,就直接放图片了。 写的也不算好,应该不会有人想转吧..... 不过要转的话请先征得我的同意(毕竟这么多东西我先研究了两天,又写了一上午,很不容易) 本人在文中摘取了IOI2018集训队 阅读全文
posted @ 2019-08-10 11:44 永无岛 阅读(264) 评论(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 永无岛 阅读(155) 评论(0) 推荐(0) 编辑