摘要:
容斥+计数 ~~一开始还以为是什么玄学dp,没想到居然是一道计数题~~ 我写法是参照 "这篇题解" 的。 分3部分讨论: 1.从n 1个人中选k个被碾压的 2.对于未被碾压的n 1 k人,求出其有多少种成绩分布情况(这里我们不关心这些人成绩的 具体值 ,只关心其 与B神的大小关系 ) 3.求出一种合 阅读全文
摘要:
区间dp+决策单调性 "题目链接" part1.朴素dp 记$dp[l][r]$表示l到r这个区间最坏情况下的最小花费。 那么考虑在$[l,r]$中任选一个点k挖,此时有两种情况: 1.k点有油,那么后续代价就是$dp[k+1][r]$ 2.k点没有油,那么后续代价就是$dp[l][k 1]$ 显然 阅读全文
摘要:
虚点/虚边专题 2019.9.18 说明:本篇文章里涉及的题目都是我在好久之前做的,有很多细节差不多忘了,只知道个大致想法,讲得不免会有些粗糙,请见谅! 所谓虚点,顾名思义,就是原本不存在的点,是由人为构建的。 水题:灌水 正如标题,此题巨水,但还算比较经典的。 题目描述 Farmer John已经 阅读全文
摘要:
最大独立集专题 本文着重介绍一些特别的图的有关最大独立集的问题。 part1.树上最大独立集 例题: "没有上司的舞会" 题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增 阅读全文
摘要:
数论+组合计数 "题目链接" 一道鬼题! part1.不看取模,假设所有元素互不相等 显然,这是一个康托展开。 c++ include define ll long long define int long long define MAXN 1000010 using namespace std; 阅读全文
摘要:
笛卡尔树+树形dp 你会发现,如果有两个高度分别为$h[i]$和$h[j]$(满足$ih[k],h[j] h[k]$,那么在任意高度H满足$H min\{h[k]\}k \in [i+1,j 1]$的i和j棋盘都不会相互制约的。 那么,我们能不能先在n个棋盘中找到一个最小的h,那么其两旁的棋盘在大于 阅读全文
摘要:
树形dp+状压dp "题目链接" 首先,无法删的边会形成一棵树(废话) 那么我们把这棵树先弄出来。 由于 为了保证他们的训练强度相同,他们要选择一条具有偶数条道路的路径。 因此剩下的非树边两端点构成了一个偶环,那么这条非树边是肯定要删除的。 又因为 绝不中途穿越已经去过的城市,并且绝不在相同的道路上 阅读全文
摘要:
树形dp "题目链接" 这道题是真滴SAO~~(骚)~~啊 首先,如果你按照拓扑排序的方法去做的话。。。。请重构代码吧。。。。 若不看方向,这些边显然会形成一棵树,那我们考虑树形dp。 因此,状态肯定有一维$dp[x]$为当前节点为x。 显然,只开一维是不够的。那么,接下来,问题就来了,我们要如何设 阅读全文
摘要:
生成树 "题目链接" 显然,如果是一棵树的话,那么任意拿一条边都是没关系的。 因此,我们先在图上随便生成一棵树,由于这是无向图,因此非树边只有返祖边。 那么,我们考虑非树边形成的环的奇偶性(即环上点数量的奇偶性)。 1.对于奇环: 不难发现,奇环上我们必须选一条边。换言之,我们选的边必须在奇环上。 阅读全文
摘要:
状压dp+容斥 由于n各集合有$2^n$个交集,因此我们可以把整个矩形划分成许多含有若干矩阵交集的子矩阵。 就像第一个样例就可以这样划分。 这样的话,我们就不用讨论许多矩阵相交的情况,问题就会简化很多。 设$mx[i]$表示第i个子矩阵内的最大值, $S[i]$ 表示第i个子矩阵内含有的元素数量 然 阅读全文