自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渐近自由

只要有朝那个方向的分运动,你就离它越来越近

  • 博客(18)
  • 收藏
  • 关注

原创 uva 10803(floyd变式)

题意:给村庄的坐标,在每次行走10km内必须要到达一个村庄,求出相互村庄间最大的最短距离。解析:建图的时候把大于10的边踢掉,然后floyd,最后找出最大距离。最后那个换行实在是坑。代码:#include #include #include #include #include #include #include #include

2015-02-19 14:42:58 424

原创 uva 125(floyd变式)

题意:求城市到城市之间的路径条数,若存在环-1。解析:bc上有做过类似的环题,扫一遍floyd,然后如果g[k][k]不为0说明存在环。这题的floyd处理是g[i][j] += g[i][k] * g[k][j]。代码:#include #include #include #include #include #include #include

2015-02-19 11:15:35 440

原创 uva 515(差分约束bellman or spfa)

题意:给定一个序列的长度,然后给定若干关系,这个关系是子序列各个元素之和与某个给定整数的大小关系。要求是否存在这样一个序列满足所有给定的若干关系。解析:设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] + …

2015-02-16 20:45:08 482

原创 uva 11045 uva 10330(EK最大流)

题意:解析:代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long longusing namespace std;const int maxn

2015-02-16 01:14:05 391

原创 uva 10986 (队列优化的spfa最短路)

题意:带权值的无向图,问s到t间的最短距离。解析:最短路。点边数比较大,用spfa。栈超时,优先队列超时,队列0.195s。代码:#include #include #include #include #include #include #include #include #include #include #include #in

2015-02-15 17:01:15 474

原创 uva 10801(乘电梯dijkstra)

题意:给几个电梯,电梯0 ~ n-1分别可以到达很多层楼。换乘电梯需要60s时间。问从0层到target层最小的时间。解析:将进入第0层的电梯60s也算上,最后减。坑点是如果target为0输出0。代码:#include #include #include #include #include #include #include #i

2015-02-14 16:16:28 548

原创 uva 10099(floyd变式)

题意:有一个导游要带着一群旅客从一个城市到达另一个城市,每个城市之间有最大的旅客流量限制。问最少几趟能将这些旅客从一个城市搞到另一个城市。解析:用floyd找出最小流量中的最大边,然后次数就是   ceil(总人数 / 最大承载量 - 1),-1的意思是导游每次也要在车上。ps.老司机哭晕在厕所代码:#include #include #includ

2015-02-13 23:02:19 437

原创 uva 10048(floyd变式)

题意:求两个点之间经过的路径中最大噪声最小的值。解析:floyd的变式,每次取g[i][k] g[k][j]中的大边与当前边g[i][j]比较,取小。代码:#include #include #include #include #include #include #include #include #include #include #inc

2015-02-11 13:45:18 424

原创 poj 3159 (spfa差分约束最短路) poj 1201

题意:每次给出b比a多不多于c个糖果,求n最多比1多多少个糖果。解析:差分约束。这个博客讲差分约束讲的比较好:http://www.cnblogs.com/void/archive/2011/08/26/2153928.html套个spfa。代码:#include #include #include #include #include #i

2015-02-10 22:18:20 461

原创 poj 1734 (floyd求最小环并打印路径)

题意:求图中的一个最小环,并打印路径。解析:ans 保存最小环长度。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long longu

2015-02-10 16:07:28 563

原创 hdu 3790 (单源最短路dijkstra)

题意:每条边都有长度d 和花费p,给你起点s 终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。解析:考察对dijkstra的理解。代码:#include #include #include #include #include #include #include #include #include #inc

2015-02-10 10:42:11 406

原创 poj 1797 (最大生成树Kruscal)

题意:求最大生成树的最小边。解析:忘了判断建树是否完成一直wa。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long longusing

2015-02-09 22:28:35 465

原创 hdu 2489 (dfs枚举 + prim)

题意:对于一棵顶点和边都有权值的树,使用下面的等式来计算Ratio给定一个n 个顶点的完全图及它所有顶点和边的权值,找到一个该图含有m 个顶点的子图,并且让这个子图的Ratio 值在所有m 个顶点的树中最小。解析:因为数据量不大,先用dfs枚举搭配出m个子节点,算出点和,然后套个prim算出边和,每次比较大小即可。dfs没有写好,A的老泪纵横。错在把index在

2015-02-09 20:46:00 432

原创 hdu 1102 uva 10397(最小生成树prim)

题意:给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。解析:把已经修的路的权值改为0,套个prim()。注意prim 最外层循坏为n-1。代码:#include #include #include #include #include #include #include #include #include #include #incl

2015-02-09 15:45:59 436

原创 hdu 1285(拓扑排序)

题意:给各个队间的胜负关系,让排名次,名词相同按从小到大排。解析:拓扑排序是应用于有向无回路图(Direct Acyclic Graph,简称DAG)上的一种排序方式,对一个有向无回路图进行拓扑排序后,所有的顶点形成一个序列,对所有边(u,v),满足u在v 的前面。该序列说明了顶点表示的事件或状态发生的整体顺序。比较经典的是在工程活动上,某些工程完成后,另一些工程才能继续,

2015-02-09 12:13:14 461

原创 数论入门整理(updating)

一、gcd lcm基础中的基础,一般用来处理计算第一步什么的,分数化简之类。LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } 例题:hrbust 1178 hdu 2028 Lowest Common Multiple Plus二、exgcd例题:poj 1061 + poj 2115

2015-02-09 10:34:36 1212

原创 uva 10940 (约瑟夫环)

题意:一堆牌按1到n的顺序从上到下放一堆,然后拿掉第一张,第二张放到最底下,依此类推,问最后剩下的牌是多少。解析:间隔为2的约瑟夫环问题,n为50000,用数学解法。约瑟夫的数学解法 转自网络,第一次接触约瑟夫环的时候就是看了下面的:约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列

2015-02-05 12:00:26 474

原创 uva 10183 uva 10519 uva 10516(java 大叔)

题意:求a,b之间有多少个fib数。大牛java代码 留着备用:import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(Sys

2015-02-04 11:36:46 457

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除