【POJ 3062】Party(2-SAT、tarjan)】的更多相关文章

Wormholes 题目描述 教学楼里有很多教室,这些教室由双向走廊连接.另外,还存在一些单向的秘密通道,通过它们可以回到过去.现在有 N (1 ≤ N ≤ 500) 个教室,编号 1..N, M (1 ≤ M ≤ 2500) 条走廊,和 W (1 ≤ W ≤ 200) 条秘密通道. DY在养猫之余,还是一个时间旅行爱好者.她希望从一间教室出发,经过一些走廊和秘密通道,回到她出发之前的某个时间. 共有F (1 ≤ F ≤ 5) 组数据.对每组数据,判断DY是否有回到过去的可能性.不存在耗时超过1…
Roadblocks 直接翻译了 Descriptions Bessie搬到了一个新的农场,有时候他会回去看他的老朋友.但是他不想很快的回去,他喜欢欣赏沿途的风景,所以他会选择次短路,因为她知道一定有一条次短路.这个乡村有R(1<=R<=100000)条双向道路,每一条连接N(1<=N<=5000)个点中的两个.Bessie在1号节点,他的朋友家是n号节点Input第一行:两个整数N和R接下来R行:每行包含三个整数,A,B,D,表示一条连接A与B的长度为D的路径Output输出1到…
2-SAT的入门题. a,a',b,b'分别表示两对夫妇,如果a,b有矛盾,那么a要来,就只能来b',b要来,就只能来a'.于是建了两条边(a,b'),(b,a'). 用tarjan强连通分量缩点染色后,如果同一对夫妇染色相同,说明两个要么都来,要么都不来,就不可能有解了.否则,形成的强连通分量中必定是对称的(abc是强连通分量,那么a'b'c'也会在一个强连通分量里),于是只要选择几个强连通分量就可以每个集合都选1个. #include <cstdio> #include <cstri…
题意是给你n个物品,每次两辆车运,容量分别是c1,c2,求最少运送次数.好像不是很好想,我看了网上的题解才做出来.先用状压DP计算i状态下,第一辆可以运送的重量,用该状态的重量总和-第一辆可以运送的,如果小于c2,那么可以一次运送i状态里的货物.然后再用DP把s[i]为i状态的运送次数,通过转移方程s[i | j] = min{s[i | j] ,s[i] + s[j]}计算出全部运送过去的最少次数. #include<cstdio> #include<cstring> #incl…
题意:给你一个字符串,求这个字符串到第 i 个字符为止的重复子串的个数. 解法:判断重复子串的语句很重要!!if (p && i%(i-p)==0) printf("%d %d\n",i,i/(i-p)); 我之前一直不是很理解,而实际上多枚举几种情况就好了.若是重复的,那么next[i]肯定是最大值,值余下一个循环节不同:而若不是,next[i]表示的前缀和后缀串的和重叠部分不一样以外的部分就肯定空出来,不能整除的.(P.S.我在说些什么......m(._.)m)…
Hotelier 直接翻译了 Descriptions Amugae的酒店由10人组成10客房.房间从0开始编号0到99 从左到右. 酒店有两个入口 - 一个来自左端,另一个来自右端.当顾客通过左入口到达酒店时,他们被分配到最靠近左入口的空房间.类似地,当顾客通过右入口到达酒店时,他们被分配到最靠近右入口的空房间. 有一天,Amugae失去了房间分配清单.值得庆幸的是,Amugae的记忆非常完美,他记得所有顾客:当顾客到达时,从哪个入口到他们离开酒店.最初酒店是空的.编写一个程序,从Amugae…
[POJ 3694] Network(割边+LCA) Network Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 7971   Accepted: 2902 Description A network administrator manages a large network. The network consists of N computers and M links between pairs of comput…
[POJ 3071] Football(DP) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4350   Accepted: 2222 Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, -, 2n. In each round of the tournament, all tea…
[POJ 1201] Intervals(差分约束系统) 11 1716的升级版 把原本固定的边权改为不固定. Intervals Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 23817   Accepted: 9023 Description You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn. Write a p…
[Loj#535]花火(线段树,扫描线) 题面 Loj 题解 首先如果不考虑交换任意两个数这个操作,答案就是逆序对的个数. 那么暴力就是枚举交换哪个两个数,然后用数据结构之类的东西动态维护逆序对. 但是这样还不够. 仔细观察哪些点交换了才有意义. 假设交换的位置是\(l,r\) 首先必须有\(h[l]\gt h[r]\),这个很显然,如果把一个更大的数换到了前面显然不优. 其次,\(l\)必须是前缀的最大值. 如果\(l\)不是前缀最大值,那么存在一个位置\(i\)满足\(h[i]\gt h[l…