上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: http://poj.org/problem?id=3678题意:给出n个数和m组数对应的位运算,判断n个数是否满足m组位运算构图:把每个点拆成两个,一个代表0,一个代表1,总共有2*n个点,0~2*n-1a AND b=0 2*a+1->2*b , 2*b+1->2*aa AND b=1 2*a->2*a+1 , 2*b->2*b+1 (AND 1 时 要求a和b同时为1,不能为0的处理时:如果i取0,那么i就要取1.)其它的类似代码:#include<iostream>#include<cstdio>#include<cstring&g 阅读全文
posted @ 2012-02-20 00:44 快乐. 阅读(175) 评论(0) 推荐(0)
摘要: 做这个题纯属偶然,找poj 3678的时候,输成 3687了。。。。题目不长,可是真正理解还是费劲,要求输出每个球的重量,不是对每个球排序输出。就算理解了题意,还是分析不出来。下面一神牛的思路:来源 http://imlazy.ycool.com/post.2144071.html PKU 3687在基本的拓扑排序的基础上又增加了一个要求:编号最小的节点要尽量排在前面;在满足上一个条件的基础上,编号第二小的节点要尽量排在前面;在满足前两个条件的基础上,编号第三小的节点要尽量排在前面……依此类推。(注意,这和字典序是两回事,不可以混淆。) 如图 1所示,满足要求的拓扑序应该是:6 4 1 3 9 阅读全文
posted @ 2012-02-19 18:15 快乐. 阅读(179) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3062这个题最大组大的优点就是汉语题目,WKK;说的2-sat,但是只输出 yes/no,写完tarjan就可以得出答案了,还不是很完整的2-sat...代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#define Min(a,b)a<b?a:b#define nMAX 2004#define mMAX 2000016using namespace std;int 阅读全文
posted @ 2012-02-19 02:33 快乐. 阅读(247) 评论(0) 推荐(2)
摘要: 题意:acmer比赛穿的T-shirt 有 S M L X T五种型号,每个人穿的型号介于给出的两字母之间,五种 T-shirt 每种都有一定的数量,问是否每个人都可以得到自己需要的型号这个题。。。不评价。。。开始构图构错了,本想增加一个源点m,增加一个汇点,中间只要 T-shirt的5个点,如果有队员需要某种T-shirt,该点与源点的连线就+1。某种T-shirt数量有多少,就把该点与汇点连线,权值为该T-shirt的数量,结果WA,好好考虑也是,不画出错误的图了。 正确的思路,把人和T-shirt 都看成点,人和源点连线,权值为1,该队员再和需要的T-shirt 连线,权值为1,然后T- 阅读全文
posted @ 2012-02-19 00:33 快乐. 阅读(186) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3084题意:有n个房间,要确保一个房间(t)不能进坏人。相邻的房间可能会有门,但是门上的锁是单向的(只能从一个房间打开进入另一个房间,a b ,只能从a进入b 不能从b 进入a),初始所有的锁都是开着的,问至少关上几个锁,才能不让坏人进入那个房间。最小割?此前看到过最大流最小割定理,还以为是最大流的另一种求法呢,原来是用最大流的算法解决最小割问题。。。构图还是关键:增加一个源点,不能进入坏人的房间(t)是汇点,如果某房间里本来有坏人,就连接这个房间和源点,权值为inf,如果a->b想通,则a->b的权值为inf ,b->a 阅读全文
posted @ 2012-02-17 21:20 快乐. 阅读(256) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1149题意:这个题连猪都成精了 有m个猪圈0<m<1000,每个圈里有一定数量的猪,有一个工作人员,工作人员没有打开猪圈的钥匙,有n个客人0<n<100,每个客人有可以打开某些猪圈的钥匙,客人要买一定数量的猪,客人用钥匙打开猪圈买完猪后,工作人员可以把剩下的猪关在任意打开的猪圈里,问工作人员最多卖掉多少头猪。。。叙述的有点乱,题目本来就挺。。。关键是构图 : 本来想把猪圈和客户都当成节点,再加上一个源点和汇点,但不是一般的麻烦,那么多 节点也不现实 。有一种思路是这样滴,客户0<n<100当成节点,再加上 阅读全文
posted @ 2012-02-15 00:20 快乐. 阅读(152) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2400题意:N个领导对N个员工排名(排在最前面的分数为0,表示评价最高),同时N个员工对N个领导排名,原则同上求 每个人平均分最少题目输入足够把人绕晕。。。还要求把所有的情况输出,用dfs找所有的情况 我做这个题为了熟悉KM代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#define Max(a,b)a>b?a:b#define Min(a,b)a<b?a:b#define MAX 18# 阅读全文
posted @ 2012-02-14 03:07 快乐. 阅读(243) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2195题意:N个人 N个房子,问N个人进入N个房子一共最少走几步KM算法,原理看了一天多,就是把 求最大权匹配的问题 转化成 求完备匹配的问题(x端点都被匹配,或者y端点都被匹配)关于原理百度百科讲的不错 http://baike.baidu.com/view/739278.htm总之,原理查了好多资料还有一个地方,题目让求最小,KM用于求最大,所以做一些处理最后ans加个负号代码:#include<iostream>#include<cstdio>#include<string>#include< 阅读全文
posted @ 2012-02-14 03:00 快乐. 阅读(233) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2186题意:牛搞个人崇拜(怎么又是牛??牛很圣神?),还具有传递性 如果A崇拜B B崇拜C 则A崇拜 C ,求受所有牛崇拜的牛的数量解法:在强连通分量里面,每个牛相互崇拜,把强连通分量缩为一个点,缩点后的图 为一个强连通分量 或者一个 弱连通分量 总之最后出度为零的缩点 受所有的牛崇拜有一个地方:缩点时候可能会出现 多条同向的重边图缩点后 第一个缩点 到第二个缩点 有两条有向线所以最后用 in[]入度不好求 out[]为0的点只有一个的时候就找到答案了代码:#include<iostream>#include<cstdio 阅读全文
posted @ 2012-02-10 06:04 快乐. 阅读(194) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3180还牛举行正式舞会,无语 题意写的那么纠结干嘛就是求一个有向图中 所含节点个数 大于等于2的强连通分量的个数代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#define Min(a,b)a<b?a:b#define nMAX 10002#define mMAX 50002using namespace std;int head[nMAX],dfn[nMAX],low[nMAX],stack[ 阅读全文
posted @ 2012-02-10 05:43 快乐. 阅读(225) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页