代码系列
文章平均质量分 77
JarjingX
只是一个奋斗的OIER。
展开
-
【代码】POJ 2762
// 题目来源:POJ 2762// 题目大意:给定一个有向图,问该图是否弱连通(若图中任意两点之间可以到达,即可以i到j或者j到i,该图即为弱连通)// 解决方法:强连通分量缩点,当且仅当该图的拓扑序列唯一的时候才成立,那么只需记录当前入度为0的个数,当多于1个时不成立#include #include #define _ 60002#define o 10002using na原创 2013-01-17 15:53:16 · 1417 阅读 · 0 评论 -
【代码系列】POJ 1273( 单纯形解最大流 )
这是写的很蠢但是很详细的单纯形,为什么蠢呢?因为我竟然给每个基变量开了空间!!写完之后,又看了盾哥的代码!!然后……// 题目来源:POJ 1273// 题目大意:求源汇点最大流// 解决方法:建立线性规划模型,用单纯形求解即可// 特别注意:设原图有n个点,m条边,则:最大流量约束m,流量平衡约束2*n-4,总约束m+2*n-4;非基变量m,基变量m+2*n-4,总变量2*m+2*原创 2013-02-02 20:32:23 · 2672 阅读 · 1 评论 -
【代码】POJ 2723
// 题目来源:POJ 2723// 题目大意:m道门,每道门两把锁,有n对钥匙,对应2*n把锁,已知一对钥匙内取出一把另一把就会消失,求按顺序最多可开多少门// 解决方法:依然2-sat啦,只不过要带上二分答案#include #include #define o 10002#define _ 10002void link( int, int );bool check( in原创 2013-01-18 20:59:30 · 1610 阅读 · 0 评论 -
【代码】POJ 3683
// 题目来源:POJ 3683// 题目大意:有n对新人要举行仪式,每对都有两个时间段可以选择,问是否可以所有新人的仪式时间不重叠// 解决方法:2-sat的一眼题,把仪式可以选择的两个时间段看成两个点,仪式时间重叠的即为矛盾关系// 特别注意:输出要按输入顺序!不要按照自己处理的顺序来。#include #define o 10000 #define _ 1000000v原创 2013-01-18 21:04:26 · 2960 阅读 · 0 评论 -
【代码】POJ 3678
// 题目来源:POJ 3678// 题目大意:有很多点可取值0或1,它们之间有很多边为0或1,规定每条边由端点(xor,and,or)得到,求是否可行// 解决方法:每个点的取值只有两种情况,非常符合2-sat,用强连通分量判断即可// 特别注意:可通过在拆成的点对中搭边来保证最后的结果落在某个点上#include #include #define o 1002#define _原创 2013-01-18 21:03:40 · 2014 阅读 · 0 评论 -
【代码】POJ 3352
// 题目来源:POJ 3352 ( CCC 2007 )// 题目大意:给定无向图G,为了满足删去任意一条边后原图任然连通,则原图至少需增加多少条边// 解决方法:求出原图的桥数量,记作sum,则(sum+1)/2即为答案#include void link( int, int );void tarjan( int, int );void dfs( int );int next原创 2013-01-17 16:00:52 · 1072 阅读 · 0 评论 -
【代码】POJ 3648
// 题目来源:POJ 3648// 题目大意:有n对夫妻参加婚礼,现安排座位,已经某些人不能同时坐在新娘的对面,且夫妻不可同侧,求可行方案// 解决方法:仍然2-sat建图解决// 特别注意:新娘到新郎要连边,因为选出的必须是新郎#include #include #define o 100000#define _ 1000000using namespace std;vo原创 2013-01-18 21:02:57 · 1974 阅读 · 0 评论 -
【代码】POJ 3207
// 题目来源:POJ 3207// 题目大意:圆上顺序排列n个点,现要在一些点间连边,规定边只能在圆内或圆外,求有没有可能不相交// 解决方法:连边只能在里面或者外面,这就是2-sat问题,直接缩点判断即可 #include #define o 5002void link( int, int );void tarjan( int );int next[ o ], h[ o ],原创 2013-01-18 21:01:42 · 4132 阅读 · 1 评论 -
【代码】POJ 2749
// 题目来源:POJ 2749// 题目大意:有两点坐标已知,现要在坐标系上各点与两点之一建立路径,已知某些点不能建立在同一个点上,有些点必须建立在同一个点上,求最小曼哈顿距离// 解决方法:枚举最大值,然后用2-sat判断可行性#include #include #include #define o 10000#define _ 1000000#define oo 10000原创 2013-01-18 21:00:31 · 1952 阅读 · 0 评论 -
【代码】POJ 2942
// 题目来源:POJ 2942 ( Central Europe 2005 )// 题目模型:给定一个无向图G,求图中哪些点不能够在任何奇圈之内(奇圈即点数为奇数的圈)// 解题方法:对图求块,然后在各个块内二分染色判断// 特别注意:求块的时候在栈中要压边不能压点#include #include using namespace std;bool map[1002][1002原创 2013-01-17 15:58:15 · 1149 阅读 · 0 评论 -
代码染色!
#pragma comment(lib, "glaux.lib")#include #include #include #define N 20000float timespan = 0.005;float wind[3];struct { float life, fade, r, g, b, x, y, z, xv, yv, zv, xa, ya, za;} p[N + 2];原创 2017-12-15 16:33:16 · 1940 阅读 · 0 评论