POJ 3207 Ikki's Story IV - Panda's Trick(2-sat问题) Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many times, he is tired of such easy games and wants to play another game…
http://poj.org/problem?id=3207 Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7021   Accepted: 2604 Description liympanda, one of Ikki’s friend, likes playing games with Ikki. Today after minesweeping wi…
Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7296   Accepted: 2705 Description liympanda, one of Ikki’s friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many tim…
Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 6691   Accepted: 2496 Description liympanda, one of Ikki’s friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many tim…
题意: 有一个环,环上n个点,现在在m个点对之间连一条线,线可以往圆外面绕,也可以往里面绕,问是否必定会相交? 思路: 根据所给的m条边可知,假设给的是a-b,那么a-b要么得绕环外,要么只能在环内,除非a和b是连续的点才不会影响到任何弧,否则一定会多少影响其他弧的走势.比如样例所举出的 0-2和 1-3,就必须有一条弧选择外环,一个选择内环. 如何使他们有序不冲突呢?其实这题跟环上的点没多大关系,而且给的点数n也没什么用,而倒是边才重要.我们要做的是让边不冲突.那么肯定是要先选出可能冲突的边来…
注意到相交的点对一定要一里一外,这样就变成了2-SAT模型 然后我建边的时候石乐志,实际上不需要考虑这个点对的边是正着连还是反着连,因为不管怎么连,能相交的总会相交,所以直接判相交即可 然后tarjan缩点,再判是否合法即可 #include<iostream> #include<cstdio> using namespace std; const int N=100005; int n,m,h[N],cnt,l[N],r[N],dfn[N],low[N],tot,s[N],top…
题意: 平面上,一个圆,圆的边上按顺时针放着n个点.现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接.给你的信息中,每个点最多只会连接的一条边.问能不能连接这m条边,使这些边都不相交. 解题报告: 题意可能刚开始不是很好理解,比如1 5连边,2,6连边,由于点是顺序排列的,一画图就可以发现,这两条边必须一个从圆外面连,一个从内部连,否则就会相交.如果再加入3 7这条边,那么就必须相交了. 这样,就可以转化成标准的2-sta问题: 1:每个边看成2个点:分别表示在内部…
http://poj.org/problem?id=3207 题意:一个圆上顺时针依次排列着标号为1-n的点,这些点之间共有m条边相连,每两个点只能在圆内或者圆外连边.问是否存在这些边不相交的方案.(n<=1000, m<=500) #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> using n…
POJ 3207 Ikki's Story IV - Panda's Trick liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many times, he is tired of such easy games and wants to play another game with Ikki. liympanda…
题意: 就是一个圈上有n个点,给出m对个点,这m对个点,每一对都有一条边,合理安排这些边在圈内或圈外,能否不相交 解析: 我手残 我手残 我手残 写一下情况 只能是一个在圈外 一个在圈内 即一个1一个0 #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <cctype> #include…
题意: 圆上n个点,m对点之间连边,连在园内或园外,所有边不相交是否可行 发现两对点连线都在内相交则都在外也相交,那么只有一个在内一个在外啦,转化为$2-SAT$问题 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; ,M=5e5; typedef long long…
Code: #include<cstdio> #include<algorithm> #include<vector> using namespace std; const int maxn=3000; int c=0; int mark[maxn],S[maxn],from[maxn],to[maxn]; vector<int>G[maxn]; void add_edge(int x,int y){ x=(x*2)+1,y=(y*2)+1; G[x-1].…
题目链接:http://poj.org/problem?id=3207 题意:在一个圆圈上有n个点,现在用线把点两两连接起来,线只能在圈外或者圈内,现给出m个限制,第 i 个点和第 j 个点必须链接在一起,问是否存在可行解. 容易想到圈内和圈外分别表示2sat的两种状态,对每一个限制 i 和 j ,考虑所有其它横跨他们的限制,然后连边就可以了. //STATUS:C++_AC_47MS_6300KB #include <functional> #include <algorithm>…
poj3207:http://poj.org/problem?id=3207 题意::平面上有一个圆,圆的边上按顺时针放着0..n-1共n个点.现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接.给你的信息中,每个点最多只能连一条边.问是否可以连接这m条边,使这些边都不相交. 题解:第一道2-sat.看了别人的题解,才理解了这样的想法.对于一条边,要么在圆内要么在圆外.两条相交的边不能同时在园内或者同时在圆外,所以一条在园内,一条在圆外.这样就是2-sat问题了.这一…
Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 9426   Accepted: 3465 Description liympanda, one of Ikki’s friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many times, he is tired of such easy gam…
题目 liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many times, he is tired of such easy games and wants to play another game with Ikki. liympanda has a magic circle and he puts it on a…
Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so many times, he is tired of such easy games and wants to play another game with Ikki. liympanda has a magic circle and he put…
2-SAT. tarjan缩点.强连通分量的点要选一起选. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; + ; + ; int n,m; int a[maxn],b[maxn]; int g[maxn],v[maxm],next[maxm],eid; int dfn[maxn],vis[maxn],low[maxn],vid; int color[maxn],ci…
题目传送门 题意:在一个圆上顺时针安放着n个点,给出m条线段连接端点,要求线段不相交,线段可以在圆内也可以在圆外,问是否可以. 思路:假设一条线段,放在圆外是A,放在园内是A',那么两条线段如果必须一个放圆内一个放圆外的条件就是 端点区间相交(严格相交),所以就建立了2-SAT模型,然后跑2-SAT的模板就可以了. //#include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<std…
---题面--- 题意:给定一个圈,m条边(给定),边可以通过外面连,也可以通过里面连,问连完这m条边后,是否可以做到边两两不相交 题解: 将连里面和连外面分别当做一种决策(即每条边都是决策点), 如果有两条边相冲突,即如果这两条边都连里面就会导致不合法,那就 x --- > y' , y --- > x', 额...那怎么判断不合法? 注意到被边u ---> v(u < v)割成两半的分别是: u ~ v,其他, 一条边不经过这条边的充要条件是:两个端点都在这条边的同一侧. 也就…
传送门 题意: 给出一个圆,圆上有\(n\)个点,依次为\(0,1,\cdots,n-1\). 现在要连接\(m\)对点,每次连接时可以直接从里面连,也可以从外面连. 最后问,连完这\(m\)对点后,是否有线相交. 思路: 每次连接时可以直接从里面连,也可以从外面连,那么可以考虑这个问题是一个\(2-sat\)模型.\(2-sat\)模型一般可以表示为:\((x_1\bigvee x_2)\bigwedge (x_3\bigvee x_4)\bigwedge \cdots\).大概就是这样,每个…
POJ 3207 Ikki's Story IV - Panda's Trick id=3207" target="_blank" style="">题目链接 题意:一个圆上顺序n个点,然后有m组连线,连接两点,要求这两点能够往圆内或圆外.问能否构造出使得满足全部线段不相交 思路:2-sat,推断相交的建边,一个在内.一个在外,然后跑一下2-sat就可以 代码: #include <cstdio> #include <cstring…
题目链接: id=3207">http://poj.org/problem? id=3207 Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 8063   Accepted: 2969 Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today af…
Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072KB   64bit IO Format: %I64d & %I64u Submit Status Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and winning so m…
职务地址:id=3207">POJ 3207 找好矛盾关系.矛盾关系是(2,5)和(3,6)这两个仅仅能一个在外边,一个在里边.利用这个矛盾关系来建图. 能够用在外边和里边来当1和0,最后推断每对是否出现矛盾. 代码例如以下: #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <stdlib.h> #include…
题目链接 题意:平面上,一个圆,圆的边上按顺时针放着n个点.现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接.给你的信息中,每个点最多只会连接的一条边.问能不能连接这m条边,使这些边都不相交. 分析:将每一条边缩成一个点,对于每条边要么在圆内要么在园外只有满足一种情况,将在圆内设为i,在圆外设为i',那么对于两条线(i, j)不能同时在圆内,那么也不能同时在圆外.则有四种情况 (i, j') (i', j) (j, i') (j', i)要建这四条边,然后就照着刘汝…
Language: Default Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 8796   Accepted: 3241 Description liympanda, one of Ikki's friend, likes playing games with Ikki. Today after minesweeping with Ikki and w…
记住几个最重要的公式: xANDy=0<=>(x=>y′)AND(y=>x′) xANDy=1<=>(x′=>x)AND(y′=>y) xORy=0<=>(x=>x′)AND(y=>y′) xORy=1<=>(x′=>y)AND(y′=>x) xXORy=0<=>(x′=>y′)AND(x=>y)AND(y=>x)AND(y′=>x′) xXORy=1<=>(x=…
这道题是我对于2-SAT问题的入门题:http://poj.org/problem?id=3207 一篇非常非常非常好的博客,很详细,认真看一遍差不多可以了解个大概:https://blog.csdn.net/JarjingX/article/details/8521690 总结一下我对于 2-SAT 问题的初步见解: 有很多个集合,每个集合里面有若干元素,现给出一些取元素的规则,要你判断是否可行,可行则给出一个可行方案.如果所有集合中,元素个数最多的集合有k个,那么我们就说这是一个k-sat问…
Ikki's Story I - Road Reconstruction Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 7659   Accepted: 2215 Description Ikki is the king of a small country – Phoenix, Phoenix is so small that there is only one city that is responsible fo…