上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页
  2012年10月27日
摘要: 大意:给出n种国家的货币汇率,一定金额的某种货币经过一系列汇率变换后再换成原来货币,金额增加了,求出这样的一个变换,要求变换步数最少。Floyd变形,关于Floyd动态规划的理解。状态转移方程:f[k][i][j]=min(f[k-1][i][j],f[k-1][i][k]+f[k-1][k][j])f[k][i][j]表示只经过前k个点(包括k),从i到j的最小值。当k从1到n时,就是从i到j的最小值。我们熟悉的用二维数组的写法实际上是对空间的一种压缩。解释一下:计算只经过前k个点,从i到j的最小值时,有两种情况需要考虑:经过第k个点和不经过第k个点。经过第k个点则距离应是从i到k的最小值和 阅读全文
posted @ 2012-10-27 21:58 有间博客 阅读(539) 评论(0) 推荐(0) 编辑
  2012年10月26日
摘要: 大意:让你求一组城镇A与B之间的最大距离,不能大于10,如果有城镇不连通,则输出Send Kurdy。思路:FloydCODE:#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<queue>usingnamespacestd;#defineMAXN1100#defineINF0X3F3F3F3Fstructnode{doublex,y;}a[MAXN];intn,m;doubled[MAXN 阅读全文
posted @ 2012-10-26 21:54 有间博客 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 差分约束,题目的关键在于建模的过程,这题题意比较难懂,数据各种BT,以前在HDU上过的,到UVA就不能过。题目大意: 给定一个序列的长度,然后给定若干关系,这个关系是子序列各个元素之和与某个给定整数的大小关系。要求是否存在这样一个序列满足所有给定的若干关系。思路:本题主要就是需要想到利用前n个元素的和为替代。即设s[i] = a[1] + a[2] + …a[i]。 a[si] + a[si+1] + … + a[si + ni] = s[si + ni] - s[si - 1];所以如果a[si] + a[si+1] + … + a[si + ni] < k 则 s[si + ni] 阅读全文
posted @ 2012-10-26 18:52 有间博客 阅读(268) 评论(0) 推荐(0) 编辑
  2012年10月25日
摘要: 最短路CODE:#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>usingnamespacestd;#defineMAXN20010#defineINF0X3F3F3F3FstructEdge{intu,v,w;intnext;}edge[MAXN*5];intfirst[MAXN],d[MAXN];intn,m,cnt;ints,e;voidinit(){cnt=0;memset(first,-1,sizeof(fi 阅读全文
posted @ 2012-10-25 21:46 有间博客 阅读(190) 评论(0) 推荐(0) 编辑
摘要: SPFA判环。CODE:#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>usingnamespacestd;#defineMAXN1100#defineINF0X3F3F3F3FstructEdge{intu,v,w;intnext;}edge[MAXN*4];intfirst[MAXN],d[MAXN];intn,m,cnt;voidinit(){cnt=0;memset(first,-1,sizeof(first) 阅读全文
posted @ 2012-10-25 21:17 有间博客 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目大意:南极有n个科研站, 要把这些站用卫星或者无线电连接起来,使得任意两个都能直接或者间接相连。任意两个都有安装卫星设备的,都可以直接通过卫星通信,不管它们距离有多远。 而安装有无线电设备的两个站,距离不能超过D。 D越长费用越多。现在有s个卫星设备可以安装,还有足够多的无线电设备,求一个方案,使得费用D最少(D取决与所有用无线电通信的花费最大的那条路径)。分析与总结:很自然的想到求最小生成树,然后为了使得D费用最少,就要让其中路径最长的那些用来安装卫星。 s个通信卫星可以安装s-1条最长的那些路径。 那么, 最小生成树中第p-s大的路径长度就是D。只需要求出最小生成树上的所有路径长度,排 阅读全文
posted @ 2012-10-25 19:09 有间博客 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 大意:让你用最小的cost连接所有的城市,有些城市已经连接好啦。思路:最小生成树,连接好了的道路w[u][v] = w[v][u]赋值为0.CODE:#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<queue>usingnamespacestd;#defineMAXN1100#defineINF0X3F3F3F3Fintn,m;structnode{doublex,y;}a[MAXN];d 阅读全文
posted @ 2012-10-25 15:58 有间博客 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 大意:给你一个无向图,让你求到达终点的最短距离然后再返回求最短距离,但是不能经过同一条边两次。思路:我的思路是去的时候求一次最短路,回来是将所有边反向,然后求一次最短路,测试数据过了,如果是有向图的话,应该可以AC,无向图不知为啥WA,欢迎大牛们指点。等我学了最小费用流的时候再来看看。12.10.25CODE:#include<iostream>#include<cstdio>#include<cstring>#include<queue>usingnamespacestd;#defineMAXN1000001#defineINF0x3f3f3f 阅读全文
posted @ 2012-10-25 13:38 有间博客 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 大意:给定一定的电梯以及电梯可以到达的楼层,求坐电梯到特定的位置最小的时间。思路:1、建立无向图,明确一个电梯上的楼层是相互可达的,以每一个楼层代表一个顶点建图。2、由于换乘电梯需要60s,那么什么时候换乘电梯呢?由于同一个电梯上的楼层是相互可达的,所以我们只有通过另外一个电梯找到了更小的搭乘时间时候我们才会松弛。3、上第一个电梯时是不需要时间的,为了Dijkstra处理方便,我们加上,我们最后减去60即可。4、松弛时判断的条件是d[y] > d[x] + w[x][y] + 60。CODE:#include<iostream>#include<cstdio>#i 阅读全文
posted @ 2012-10-25 13:32 有间博客 阅读(232) 评论(0) 推荐(0) 编辑
  2012年10月24日
摘要: 大意:给定一张无向图,让以最少的次数将起点的全部乘客运往终点,图中的每个节点有容量限制。思路:与UVA 10048 差不多,都可以用Floyd动态规划去解决。d[i][j] = max(d[i][j], min(d[i][k], d[k][j]));另外:导游也算一个容量。CODE:#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>usingnamespacestd;#defineMAXN110intd[MAXN][MAXN];intn,m;voidinit() 阅读全文
posted @ 2012-10-24 21:42 有间博客 阅读(182) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页