摘要:
【传送门: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堆石子,除第一堆石子外,其他堆的石子数都不能少于前一堆的石子数。现有两人轮流取石子,每次能拿任意一堆的任意数量的石子,但要保证拿完以后仍满足每堆石子数不能少于前一堆的石子数。若不能再取石子则输掉比赛,询问先手是否必胜 题解: 阶梯博弈 因为每堆石子数都 阅读全文