摘要: 题意: panda和ikki.玩游戏.. 给出m个点对关系..这些点都在圆上.. 给点对连线..如果可以不交叉(可以在圆内或圆外连线)则panda赢..否则ikki.赢 输入: 给出n m 表示有n个点 m个点对 接下来m行 有a b 表示点a 和 点b 之间有一条线思路: 2-sat..用来解决2个集合的冲突问题.. 这道题..冲突在于是在圆内和在圆外.. 把边看成点.. 然后看所有边连起来之后会不会出现冲突..即在圆外的边和在圆内的边同时出现在一个强连通分量里了.. 所以求出强连通分量.. 看交叉的两条边..用tarjan染色.. 如果冲突出现了(在圆... 阅读全文
posted @ 2012-10-05 19:26 Griselda. 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题意: 某个公园要修路..这将导致两个景点无法连通 输入: 给出n m 表示有n个景点 m条路 接下来m行每行有a b 表示a景点和b景点相连.. 问加几条边可以使任意两个景点都相连..思路: 先用tarjan算法求出每个连通分量 然后对无向图来说..变成双连通分量的方法就是(入度为1的点+1)/ 2Tips: 无视POJ的simple输入输出 都是坑人的..T0T 还有就是现在这样tarjan算法第一次调用的时候就是tarjan(1, 1)Code: View Code 1 #include <stdio.h> 2 #include <cstring> 3 #incl 阅读全文
posted @ 2012-10-05 12:09 Griselda. 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题意: 很久很久以前.. 有一个国王.. 他有好几个儿子.. 这些王子都喜欢上了邻国的公主.. 他们准备迎娶自己喜欢的公主中的一个.. 国王就让宰相给列一个清单.. 宰相就给了国王一个清单..上面写明了哪个王子将迎娶哪个邻国的公主.. 但是调皮的国王不太满意~~ 他还想知道他的儿子分别可以迎娶哪几个公主中的一个而不会让他的兄弟因此而吃醋.. 所以宰相又得重新写清单了.. 噢..对了~邻国的公主和王子人数一样多~<这是一个奇怪的国家..> 输入: 一个n表示有n个王子.. 接下来n行每行有一个m表示第i个王子喜欢m个公主.. 然后给出m个公主的序号.. 最后一... 阅读全文
posted @ 2012-10-05 07:54 Griselda. 阅读(179) 评论(0) 推荐(1) 编辑