上一页 1 2 3 4 5 6 7 8 9 10 ··· 41 下一页

poj 1236 Network of Schools

摘要: 题目描述:有一些学校连接到一个计算机网络。这些学校之间达成了一个协议:每个学校维护着一个学校列表,它向学校列表中的学校发布软件。注意,如果学校B在学校A的列表中,则A不一定在B的列表中。任务A:计算为使得每个学校都能通过网络收到软件,你至少需要准备多少份软件拷贝。任务B:考虑一个更长远的任务,想确保给任意一个学校发放一个新的软件拷贝,该软件拷贝能发布到网络中的每个学校。为了达到这个目标,必须在列表中增加新成员。计算需要添加新成员的最小数目。// 任务A就是求缩点后 入度为0的点的个数// 任务B 就是让缩点后的图中出度或入度为0的点消失 那么只要出度为0的点和入度为0的点连 主要看哪种点多就是 阅读全文
posted @ 2013-07-22 17:25 江财小子 阅读(195) 评论(0) 推荐(0) 编辑

poj 2553 The Bottom of a Graph

摘要: 求解的是有向图中满足“自己可达的顶点都能到达自己”的顶点个数如果强连通分量中某个顶点,还能到达分量外的顶点,则该连通分量不满足要求// 因此,本题要求的是将强连通分量缩点后所构造的新图中出度为0的顶点个数 // 如果某个新图的节点出度数为0 且是缩点而来 那么该强连通分量里面的点都是符合要求的#include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 60100#define maxm 10010struct Edge. 阅读全文
posted @ 2013-07-22 16:57 江财小子 阅读(134) 评论(0) 推荐(0) 编辑

poj 2186 Popular Cows

摘要: 题目描述:每头奶牛都梦想着成为牧群中最受奶牛仰慕的奶牛。在牧群中,有N头奶牛,1≤N≤10,000,给定M对(1≤M≤50,000)有序对(A, B),表示A仰慕B。由于仰慕关系具有传递性,也就是说,如果A仰慕B,B仰慕C,则A也仰慕C,即使在给定的M对关系中并没有(A, C)。你的任务是计算牧群中受每头奶牛仰慕的奶牛数量。思路:因为仰慕关系具有传递性,因此在同一个强连通分量中的顶点:如果强连通分量中一头牛A受强连通分量外另一头牛B的仰慕,则该强连通分量中的每头牛都受B的仰慕;如果强连通分量中一头牛A仰慕强连通分量外的另一头牛B,则强连通分量中的每一头牛都仰慕B。因此,本题可以将强连通分量缩为 阅读全文
posted @ 2013-07-22 16:29 江财小子 阅读(222) 评论(0) 推荐(0) 编辑

poj 2762 Going from u to v or from v to u?

摘要: 题目描述:为了让他们的儿子变得更勇敢些,Jiajia和Wind将他们带到一个大洞穴中。洞穴中有n个房间,有一些单向的通道连接某些房间。每次,Wind选择两个房间x和y,要求他们的一个儿子从一个房间走到另一个房间,这个儿子可以从x走到y,也可以从y走到x。Wind保证她布置的任务是可以完成的,但她确实不知道如何判断一个任务是否可以完成。为了使Wind下达任务更容易些,Jiajia决定找这样的一个洞穴,每对房间(设为x和y)都是相通(可以从x走到y,或者可以从y走到x)的。给定一个洞穴,你能告诉Jiajia,Wind是否可以任意选择两个房间而不用担心这两个房间可能不相通吗?// 求解的是单连通性, 阅读全文
posted @ 2013-07-22 16:07 江财小子 阅读(223) 评论(0) 推荐(0) 编辑

poj 3694 Network

摘要: 题意: 添加每条新连接后网络中桥的数目// 超时 先放着了 ,下次改//早上这代码超时了 下午改了,代码在下面#include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 440000#define maxm 100010struct Edge{ int to; int num; int next; Edge(){}; Edge(int u,int v){to=u;next=v;}}E[m... 阅读全文
posted @ 2013-07-22 11:03 江财小子 阅读(154) 评论(0) 推荐(0) 编辑

poj 3352 Road Construction

摘要: // 只能说这题和上题一模一样// 我就直接贴上题代码了、、#include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 20100#define maxm 5010struct Edge{ int to; int num; int next; Edge(){}; Edge(int u,int v){to=u;next=v;}}E[maxn];int V[maxm],num;int pre[m... 阅读全文
posted @ 2013-07-22 09:48 江财小子 阅读(176) 评论(0) 推荐(0) 编辑

poj 3177 Redundant Paths

摘要: 题目描述:有F个牧场,1≤F≤5,000,贝茜和她的牧群经常需要从一个牧场迁移到另一个牧场。奶牛们已经厌烦老是走同一条路,所以它们想再新修一些路,这样它们从一个牧场迁移到另一个牧场时总是可以选择至少两条独立的路。现在F个牧场的任何两个牧场之间已经至少有一条路了,奶牛们需要至少有两条。给定现有的R条直接连接两个牧场的路,F-1≤R≤10,000,计算至少需要新修多少条直接连接两个牧场的路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指没有公共边的路,但可以经过同一个中间顶点。本题的意思是给定一个无向连通图,判断最少需要加多少条边,才能使得任意两点之间至少有两条相互“边独立”的道路。显然 阅读全文
posted @ 2013-07-22 09:20 江财小子 阅读(234) 评论(0) 推荐(0) 编辑

POJ 2942 Knights of the Round Table

摘要: 题目描述:武士是一个十分吸引人的职业,因此近年来Arthur王国武士的数量得到了空前的增长。武士在讨论事情时很容易激动,特别是喝了酒以后。在发现一些不幸的打斗后,Arthur国王要求智者Merlin确保将来不会发生武士的打斗。Merlin在仔细研究这个问题后,他意识到如果武士围着圆桌坐下,要阻止打斗则必须遵循以下两个规则:(1) 任何两个互相仇视的武士不能挨着坐,Merlin有一张清单,列出了互相仇视的武士,注意,武士是围着圆桌坐下的,每个武士有两个相邻的武士。(2) 围着圆桌坐下的武士数量必须为奇数个。这将能保证当武士在争论一些事情时,能通过投票的方式解决争端。而如果武士数量为偶数个,则可. 阅读全文
posted @ 2013-07-21 20:25 江财小子 阅读(236) 评论(0) 推荐(0) 编辑

zoj 2588 Burning Bridges

摘要: 题目描述:Ferry王国是一个漂亮的岛国,一共有N个岛国、M座桥,通过这些桥可以从每个小岛都能到达任何一个小岛。很不幸的是,最近Ferry王国被Jordan征服了。Jordan决定烧毁所有的桥。这是个残酷的决定,但是Jordan的谋士建议他不要这样做,因为如果烧毁所有的桥梁,他自己的军队也不能从一个岛到达另一个岛。因此Jordan决定烧尽可能多的桥,只要能保证他的军队能从任何一个小岛都能到达每个小岛就可以了。现在Ferry王国的人民很想知道哪些桥梁将被烧毁。当然,他们无法得知这些信息,因为哪些桥将被烧毁是Jordan的军事机密。然而,你可以告知Ferry王国的人民哪些桥肯定不会被烧毁。输入描述 阅读全文
posted @ 2013-07-21 16:14 江财小子 阅读(354) 评论(0) 推荐(0) 编辑

3732 Ahui Writes Word

摘要: // N个物品 放进容量为C的背包里面 要求价值最大// 一看 第一反应是0 1背包 不过 N=100000 C=10000// 注意到 v,c在 10以内// 那么 最多就100种组合了 然后就转化为 多重背包了// dp#include #include #include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 10010int dp[maxn];int mp[110][110]; // v,cchar str[. 阅读全文
posted @ 2013-07-21 15:01 江财小子 阅读(215) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 41 下一页