09 2018 档案
摘要:【传送门:BZOJ1532】 简要题意: 有n个人,m场比赛,求出赢得最多的人最少要赢多少场 题解: 网络流水题 二分答案x,st向每个人连边,流量为x,每个人向关于自己的比赛连边,流量为1,每场比赛向ed连边,流量为1 如果最大流为m,说明答案合法 参考代码:
阅读全文
摘要:【传送门:BZOJ1106】 简要题意: 有n种数,每种数有两个,给出一个2*n的序列,表示每个数在栈中的位置,可以任意交换相邻两个位置的数,若相邻两个数为同种数,则这两个数从栈中移除,然后所有上面的数都会掉落并形成连锁反应,求出移除所有数的最少步数 题解: 树状数组水题 若当前第i个位置出现的这个
阅读全文
摘要:【传送门:BZOJ2084】 简要题意: 若一个01串,先将01取反后,再将整个串翻转,如果能得到原来的01串,则说明这个串反对称 给出一个长度为n个01串,求出有多少个子串是反对称的 题解: Manacher好题 将回文的意义变为相对位置互不相同就行了 参考代码:
阅读全文
摘要:【传送门:BZOJ1116】 简要题意: 给出n个点,m条无向边,判断是否能够通过将某些边变成单向边,使得每个点入度都为1 题解: 因为每个点入度都为1时,必定是一棵外向树,而外向树有且仅有一个环 那么就判断所有连通图是否满足有且只有一个简单环,用tarjan来判 参考代码:
阅读全文
摘要:【传送门:BZOJ1097】 简要题意: 给出n个点,m条边的无向连通图,有k个必经点,有c组关系,每组关系输入x,y,保证x和y为必经点,代表要在x上逗留后才能在y上逗留(可以直接经过y点,这样就不算逗留),必经点的编号为2到k+1,求出从1点开始,经过k个必经点后,到达n点的最短距离 题解: P
阅读全文
摘要:【传送门:BZOJ1115】 简要题意: 给出n堆石子,除第一堆石子外,其他堆的石子数都不能少于前一堆的石子数。现有两人轮流取石子,每次能拿任意一堆的任意数量的石子,但要保证拿完以后仍满足每堆石子数不能少于前一堆的石子数。若不能再取石子则输掉比赛,询问先手是否必胜 题解: 阶梯博弈 因为每堆石子数都
阅读全文
摘要:【传送门:BZOJ2938】 简要题意: 给出n个01串,判断是否存在一个无限长的01串不包含任意一个给出的01串 题解: AC自动机构造fail指针,画一下图可以知道 如果在字典树中找到环,就可以找到一个无限长的01串 注意:当一个点有一个儿子不存在时,可以将fail边当作儿子边来使用,这样子就可
阅读全文
摘要:【传送门:BZOJ1098】 简要题意: 给出n个人与m个关系,每个关系包括x,y两个数,表示x与y能够相互联系对方。现在要将这n个人分成k块,使得不同块的任意两个人之间能够互相联系,求出最大的k 题解: 本来以为直接就补图+tarjan过掉,结果发现补图边数是n2级别的,稳T 然后发现其实很多状态
阅读全文
摘要:【传送门:BZOJ1131】 简要题意: 给出一棵n个点的无根树,求出以哪个点为根时,所有点的深度和最大,若有多个答案,输出编号最小的点 题解: 水题,先以1为根,求出所有点的初始深度,然后对于以1个根的答案,就是初始深度和 求初始深度时,顺便记录每个点的子树大小 然后让1继续深搜,我们发现一旦新遍
阅读全文

浙公网安备 33010602011771号