上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 39 下一页
  2014年2月12日
摘要: http://poj.org/problem?id=2492题意 :就是给你n条虫子,m对关系,每一对关系的双方都是异性的,让你找出有没有是同性恋的。思路 :这个题跟POJ1703其实差不多,也是需要一个数组来存跟父亲节点的关系,需要两个集合来存是否有关系,在最后稍微变一下形就OK了。#include#include#include#includeusing namespace std;int pre[100010];//代表着父亲结点,如果D后边是a b,则pre[b]=a ;int father[100010] ;//代表着这个点和父亲结点的关系,是属于同一类还是不同团伙int m,n ; 阅读全文
posted @ 2014-02-12 09:15 枫、 阅读(193) 评论(0) 推荐(0) 编辑
  2014年2月11日
摘要: http://poj.org/problem?id=1703题意 :有两个黑帮团伙。有n个团伙成员,现在并不知道他们分别属于哪个团伙。给你一些信息,信息中包含两个人的编号,表示这两个人分属不同团伙,然后给你两个人的编号,问你他们俩是不是属于同一个团伙。思路 : 并查集。因为这个题给出的每个关系都代表着两个人属于不同的团伙,所以没办法像普通的并查集那样,只用两个集合就行,例如,给你(1,2)(5,6)(1,5),根据关系我们可以知道2,5属于一个团伙,1,6属于一个团伙,但是你并没有办法表示。书上介绍了一种常用的做法:只要两者关系确定了,就将他们放入同一集合中,再另外增加一个关系数组father 阅读全文
posted @ 2014-02-11 21:28 枫、 阅读(205) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3422题意 : 给你一个N*N的方格,每个格子有一个数字,让你从左上角开始走,只能往下往右走,走过的数字变为0,走K次,问最大能是多大,累加的。思路 :http://blog.csdn.net/qq172108805/article/detail... 阅读全文
posted @ 2014-02-11 16:52 枫、 阅读(154) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2195题意 : N*M的点阵中,有N个人,N个房子。让x个人走到这x个房子中,只能上下左右走,每个人每走一步就花1美元,问当所有的人都归位了之后,需要花多少美元。思路 :最小费用最大流。把人作为一个顶点集合U,房子作为另一个顶点集合V,把U中所有点到V中所有点连线,费用cost[u][v]为abs(△x)+abs(△y),反向弧费用cost[v][u]= -cost[u][v],容量cap[u][v]=1,构成一个多源多汇的二分图。由于每一个多源多汇的网络流都必有一个与之对应的单源单汇的网络流,为了便于解题,由此构造一个超级源s和超级汇t, 阅读全文
posted @ 2014-02-11 15:12 枫、 阅读(370) 评论(0) 推荐(0) 编辑
  2014年2月10日
摘要: http://poj.org/problem?id=3694题意 : N个点,M条边,构成一个连通图,将图中加入特定的一些边,每加一条边就输出加入这条边后图中剩的桥的个数。思路 :双连通分量,用LCA#include #include #include #include #include #include using namespace std;const int maxn = 100005 ;const int maxm = 555555 ;const int INF = 1000000000 ;struct Edge{ int v, next;}map[maxm];int low[m... 阅读全文
posted @ 2014-02-10 20:42 枫、 阅读(190) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2942题意 :n个骑士举行圆桌会议,每次会议应至少3个骑士参加,且相互憎恨的骑士不能坐在圆桌旁的相邻位置。如果意见发生分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数,以防止赞同和反对的票一样多,知道哪些骑士相互憎恨之后,你的任务是统计有多少个骑士不可能参加任何一个会议。思路 :这个题牵扯的知识点挺多的,具体的可以参考白书上解释的蛮详细的。#include #include #include #include #include #include using namespace std;const int maxn = 1100 ;st 阅读全文
posted @ 2014-02-10 16:59 枫、 阅读(200) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1275题意 : 一家24小时营业的超市,要雇出纳员,需要求出超市每天不同时段需要的出纳员数,午夜只需一小批,下午需要多些,希望雇最少的人,给出每小时需要的出纳员的最少数量,R(0),R(1),...,R(23)。R(0)表示从午夜到凌晨1:00所需要出纳员的最少数目;R(1)表示凌晨1:00到2:00之间需要的;以此类推。这些数据每一天都是相同的。有N人申请这工作,申请者 i ,从一个特定的时刻开始连续工作恰好8小时。定义ti(0#include #include #include using namespace std;const int 阅读全文
posted @ 2014-02-10 10:39 枫、 阅读(154) 评论(0) 推荐(0) 编辑
  2014年1月19日
摘要: http://codeforces.com/contest/382A . Ksenia and Pan Scales题意 : 每个大写字母都占相同的重量,第一个字符串指的是天平两边现在有的砝码分布,而第二个字符串是想让你把第二个字符串全部的砝码放到第一个字符串上,看“|”两边的字母是不是一样多。思路 :算是一个简单小模拟吗?#include #include #include #include #include using namespace std ;int main(){ char str[110] ; char str1[110] ; while(scanf("%s" 阅读全文
posted @ 2014-01-19 15:47 枫、 阅读(404) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2983题意:N个 defense stations,M条消息,消息有精确和模糊之分,若前边为P。则为精确消息,有两个defense stations和他们之间的距离,若为P A B X则是精确消息,并且A在B北边X光年远,V A B则是模糊消息,A在B北边,不知道距离,但至少是1光年远。思路 :这个题要转化成差分约束。因为dist[a]-dist[b] = x,所以转化成差分约束x= 1,化简之后为 dist[b] - dist[a] #include #include #include using namespace std ;const 阅读全文
posted @ 2014-01-19 10:31 枫、 阅读(190) 评论(0) 推荐(0) 编辑
  2014年1月18日
摘要: http://poj.org/problem?id=3159题意:有向图,第一行n是点数,m是边数,每一行有三个数,前两个是有向边的起点与终点,最后一个是权值,求从1到n的最短路径。思路:这个题让会神给讲的,用的dijkstra,看的网上很多用SPFA的。关于SPFA:http://www.cnblogs.com/devtang/archive/2011/08/25/spfa.htmlhttp://blog.csdn.net/chenjiang492943457/article/details/5375413关于差分约束系统:http://www.cnblogs.com/void/archiv 阅读全文
posted @ 2014-01-18 20:23 枫、 阅读(245) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 39 下一页