最短路
A_loud_name
23333333~~~
展开
-
ssl2339 分糖果 spfa
题目大意 给一个无向图(点数1分析 就是一个赤裸裸的spfa吗!代码const maxe=100000; maxv=2000000;type arr=record x,y,w,next:longint; end;var n,m,s,q:longint; ls:array[1..maxe] of longint; a:array[1.原创 2016-04-13 18:06:09 · 638 阅读 · 9 评论 -
2016年提高组模拟题(20161114) 锦标赛 ssl 2571 差分约束系统
分析题目中的限制条件可以改写为 Y<=X 如果我们有这些限制 Y<=X和 Z<=Y,那么我们可以得到一个新的限制 Z<=X,并且这可以和原来的限制合并在一起。 我们最终的目标是找到缺失的两个人的限制. 所以我们应该去寻找他两的的限制——也就是求最短路。(差分约束系统) 代码const maxe=10000; maxv=20000;type arr=record x,y,原创 2016-11-14 19:44:15 · 318 阅读 · 0 评论 -
[SCOI2011]糖果 洛谷 3275 差分约束系统
题目描述幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要求。幼儿园的糖果总是有限的,lxhgww想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。输入格式输入的第一行是原创 2016-12-02 20:10:15 · 394 阅读 · 0 评论 -
Cashier Employment poj 1275 差分约束系统
题目大意Tehran 的一家每天24 小时营业的超市,需要一批出纳员来满足它的需要。超市经理雇佣你来帮他解决他的问题——超市在每天的不同时段需要不同数目的出纳员(例如:午夜时只需一小批,而下午则需要很多)来为顾客提供优质服务。他希望雇佣最少数目的出纳员。经理已经提供你一天的每一小时需要出纳员的最少数量——R(0), R(1), …, R(23)。 R(0)表示从午夜到上午1:00 需要出纳员的原创 2016-12-03 11:23:21 · 582 阅读 · 0 评论 -
Arbitrage poj 2240 最长路找正环
题目大意给出一些货币和货币之间的兑换比率,问是否可以使某种货币经过一些列兑换之后,货币值增加。举例说就是1美元经过一些兑换之后,超过1美元。可以输出Yes,否则输出No。分析和poj1860一样——点一下 用bellman找最长路找正环,不过是输入时很蛋疼,慢慢的调字符串吧!!!代码const maxe=10000; maxv=20000;type arr=record x,y原创 2016-12-06 17:38:18 · 293 阅读 · 0 评论 -
股票经济人通信网络 poj 1125 多源最短路
题目大意就是在一个有向图中找一个点,要求这个点和离他最远的点的最短路最近。分析直接上floyd,水~~~code#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#define fo(i,a,b) for (int i=a;i<=b;i原创 2016-12-07 17:34:23 · 384 阅读 · 0 评论 -
MPI Maelstrom poj 1502 单源最短路
题目大意求从点1到其他点最短路的最大值。(额)分析随便写 c++的字符串~ c++的数组从零开始的异世界code#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#define fo(i,a,b) for (int i=a;i<=b;原创 2016-12-07 18:42:23 · 299 阅读 · 0 评论 -
[USACO09OCT]热浪Heat Wave 洛谷 1339 最短路
题目大意单源最短路···········分析写dij就好了, 但是 我写了dij+堆优化版本的。学习了如何使用c++的优先队列。ps:家里的键盘很恶心啊:f5、f7、f11太小了,按不到。 ps:c++的模板正在补全中。code//dij+堆优化版本#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#i原创 2017-01-14 16:32:21 · 432 阅读 · 1 评论 -
最短路计数 洛谷 1114 最短路
题目描述给出一个N个顶点M条边的无向无权图,顶点编号为1~N。问从顶点1开始,到其他每个点的最短路有几条。分析可以使用最短路。松弛的时候如果遇到没有访问过的则ans[v]=ans[u],如果遇到访问过而且dis[v]==dis[u]+1,则将方案数累计入ans[v]。记得取模ans的初始值为0,起点为1。code#include<iostream>#include<cstring>#includ原创 2017-01-14 17:17:12 · 1757 阅读 · 3 评论 -
杂务 洛谷1113 spfa最长路
题目描述John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些杂务必须在另一些杂务完成的情况下才能进行。比如:只有将奶牛赶进牛棚才能开始为它清洗乳房,还有在未给奶牛清洗乳房之前不能挤奶。我们把这些工作称为完成本项工作的准备工原创 2017-02-06 13:46:59 · 429 阅读 · 0 评论 -
电车 洛谷1346 dp
题目描述在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所指向的轨道出去,如果电车司机想走另一个轨道,他就必须下车切换开关的状态。为了行驶向目标地点,电车司机不得不经常下车来切换开关,原创 2017-01-24 21:50:19 · 619 阅读 · 1 评论 -
bzoj1922 [Sdoi2010]大陆争霸 带限制的最短路
题目大意在一个遥远的世界里有两个国家:位于大陆西端的杰森国和位于大陆东端的 克里斯国。两个国家的人民分别信仰两个对立的神:杰森国信仰象征黑暗和毁灭 的神曾·布拉泽,而克里斯国信仰象征光明和永恒的神斯普林·布拉泽。 幻想历 8012年 1月,杰森国正式宣布曾·布拉泽是他们唯一信仰的神,同 时开始迫害在杰森国的信仰斯普林·布拉泽的克里斯国教徒。 幻想历 8012年 3月2日,位于杰森国东部小镇神谕镇的克原创 2017-03-10 18:43:51 · 453 阅读 · 0 评论 -
狡猾的商人 bzoj 1202 差分约束系统
题目大意刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3…n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表示这个月亏损Ai 元。所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和。 刁姹的任务是秘密进行的,为了调查商人的账本,她只好跑到商人那里打工。她趁商人不在时去原创 2017-03-07 16:50:24 · 451 阅读 · 0 评论 -
路径 ssl 2651 spfa+暴力
题目大意给出一个n个点m条边的无向图,每条边的长度均为1,要求回答k个询问,每次询问给出(s,t,d),问是否存在一条从s到t的路径,长度为d,若有满足的路径,则输出TAK,否则输出NIE。每个点每条边允许经过多次。分析如果s到t有长度为d的路径 那么就一定有长度为d+2的路径 因此只要spfa求出s开始到每个点的奇数长度的最短路和偶数长度的最短路(分层图)。 然后和D比较大小。 特判自己连自原创 2017-04-13 21:50:46 · 439 阅读 · 0 评论 -
六兆年と一夜物語 jzoj3501 最短路
题目某一天,少年邂逅了同病相连的IA。见面后,IA一把牵起少年的手,决定和他一起逃离部落,离开这个无法容身的是非之地。要逃离部落,少年和IA就需要先选择一条耗时最少的路线,从而避免被部落的大人们抓到。部落可以大致分为N个区域,少年和IA在区域1,部落的出口设在区域N。此外部落还有M条连接两个区域道路。道路是无向的,没有一条道路的两端连接相同的区域,也没有两条道路所连接的两个区域完全相同。对于其中前(原创 2017-12-10 13:40:22 · 417 阅读 · 0 评论 -
设计 jzoj 1295 差分约束系统
Description 和人一样,牛也喜欢站得离朋友较近的位置。FJ有N(2<=N<=1,000)头牛,编号为1..N,现在要设计一个顺序让他们站成一排给他们喂食。奶牛们按照编号顺序依次站立,允许有多只牛站在同一位置(也就是说,牛i和牛j(iInput 第1行:3个空格隔开的整数N,ML,MD。 第2到ML+1行:每行包含3个空格隔开的整数A,B和D,满足1<=AOutput 如果不存在原创 2016-10-15 16:12:38 · 453 阅读 · 0 评论 -
poj 1201 Intervals
题目大意有一个序列,题目用n个整数组合 [ai,bi,ci]来描述它,[ai,bi,ci]表示在该序列中处于[ai,bi]这个区间的整数至少有ci个。如果存在这样的序列,请求出满足题目要求的最短的序列长度是多少。如果不存在则输出 -1。输入第一行包括一个整数n,表示区间个数,以下n行每行描述这些区间,第i+1行三个整数ai,bi,ci,由空格隔开,其中0<=ai<=bi<=50000 而且 1<=c转载 2016-11-29 21:40:17 · 297 阅读 · 0 评论 -
邻接表的spfa
邻接表利用链式储存结构。对于每一个顶点,开一条链,依次存储以该点为起点的边。下面的代码用g数组储存边的信息,ls[i]储存i这个顶点对应的链的起始位置。通时g中的next域使所有起始点为i的边连成一条链。const MaxE=100000; MaxV=50000; type rec=record x,y,w,next:longint;原创 2016-04-13 18:27:28 · 639 阅读 · 3 评论 -
poj1062 昂贵的聘礼 dij
题目大意 中文题,题目大意就不说了。(注意,等级限制是包括间接地交易的。如一的等级是3,二的等级是5,三的等级是7,等级限制是2;那就不能一和二交易,二又和三交易,因为一和三的等级相差超过2)分析 如果没有等级限制,那就分两步: 一.建图,把每个物品看成一个节点,酋长的允诺也看作一个物品(点1),如果一个物品加上金币可以交换另一个物品,则这两个节点之间有边,权值为金币数,把0原创 2016-04-14 16:45:12 · 599 阅读 · 3 评论 -
poj 3259 Wormholes bellman
题意John的农场里N块地,M条路连接两块地(双向),w个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts(即是一条单向负权边)。我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己(找有没有负权回路)。分析找有没有负权回路可是bellman的强项,用bellman求一个带负权的有向图中是否存在权值为负的回路,有输出YES,没有输出NO。反思原创 2016-04-14 21:16:23 · 562 阅读 · 3 评论 -
poj 1860 Currency Exchange bellman
题目大意 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加,因为货币的交换是可以重复多次的,所以我们需要找出是否存在正权回路。分析 就是要求有没有正环,用bellman求最长路,原创 2016-04-15 19:43:03 · 612 阅读 · 3 评论 -
poj 3311 Hie with the Pie floyd+状态压缩dp
题目大意 给你n个城市(1~n)和一个PIZZA店(0),要求找一条回路,从0出发,又回到0,而且距离最短。分析先用floyd把任意I,j两点的最短路找出来。再DP: D[I,j]=min(d[I,j],d[i xor (1 shl (j-1)),k]+f[k,j])((i and (1 shl (j-1))) 其中i表示用二进制表示n个城市,1表示经过,0表原创 2016-04-23 08:23:10 · 692 阅读 · 3 评论 -
poj 3463 Sightseeing dij
题目大意 求最短路和比最短路长一个单位的次短路的个数。 分析 求最短路和次短路。可以Dijkstra算法。采用邻接表建图(因为有重边)。 松弛是要改成: 1.if(x 2.else if(x==最小)更新方法数; 3.else if(x 4.else if(x==次小)更新方法数; 在dijkstra的循环部分,我们要循环2*n次原创 2016-05-04 16:38:17 · 475 阅读 · 4 评论 -
poj 3275 Ranking the Cows 传递闭包+邻接表优化
题目大意 FJ想按照奶牛产奶的能力给她们排序。现在已知有N头奶牛(1 ≤ N ≤ 1,000)。FJ通过比较,已经知道了M(1 ≤ M ≤10,000)对相对关系。每一对关系表示为“X Y”,意指X的产奶能力强于Y。现在FJ想要知道,他至少还要调查多少对关系才能完成整个排序。 分析 如果排序可以确定了,就是任意两头牛之间的关系都可以确定了。N头奶牛一共有C(N, 2) = N原创 2016-04-23 10:12:01 · 530 阅读 · 3 评论 -
poj 3013 Big Christmas Tree spfa
题目大意 要建一棵圣诞树,使得总的花费最小。具体规则是:圣诞树是一颗无向树形图,其中,编号为1的节点为根节点,原始图中每条边具有边权,每个点也有一值权。圣诞树中,各条边的花费是该边权*该边的子树中所有点值,总的花费则是圣诞树中所有边的花费之和。分析 1.对点u,只有从点u到根结点之间的边会乘以点u的重量。 2.所以,对于点u;最小的花费是要使点u到根结点的边权最小,即最短路。原创 2016-04-22 20:16:10 · 665 阅读 · 3 评论 -
Party_纪中_1328
题目大意 N头牛要去参加一场在编号为x(1的牛的农场举行的派对(1),有M(1条有向道路,每条路长ti(1 每头牛都必须参加完派对后回到家,每头牛都会选择最短路径,求这n个牛的最短路径(一个来回)中最长的一条的长度。 特别提醒:可能有权值不同的重边。 分析 这一眼看上去就是一个最短路。 注意,因为是有向图,所以从家到x农场的最短路和从x农场到家的最短路是不一原创 2016-07-07 12:37:36 · 710 阅读 · 8 评论 -
bzoj 2763 JLOI 2011 飞行路线 分层图+spfa
DescriptionAlice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机。那么Alice和Bob这次出行最少花原创 2016-08-15 21:03:34 · 471 阅读 · 0 评论 -
外星人入侵 纪中3077 spfa+玄学优化
Description外星人入侵地球。可怕的吃人外星人正在全国各地依次序建立它们的基地。全国共有N(1≤ N ≤10,000)座城市,城市编号1~N。城市之间有M(0≤ M ≤100,000)条双向道路相连。外星人计划建立A(0≤A≤N)个基地。你只有在距离当前所有外星人基地至少K(1≤K≤100)单位长度的城市才能得到安全。所以你必须赶快写一个程序决定走到哪里去。Input第1行:4个整数N, M原创 2016-08-17 14:53:05 · 579 阅读 · 0 评论 -
hdu 1245 Saving James Bond dij
题目大意有一个100*100的正方形湖,湖中间有一个直径为15的圆形小岛;有n个点随机分布在这个正方形中;一个人要从小岛上跳出湖外,可以跳跃在这些点上;人每一步能跳的最大距离为d;求能跳出湖外所需的最小的跳跃距离和步数; 分析首先计算每个坐标两两间的距离;然后找出所有能从小岛上一步跳到的点存入数组s中;然后找出所有能一步跳出湖外的点存入数组t中;设置原创 2016-05-04 18:04:39 · 477 阅读 · 3 评论 -
伊吹萃香 纪中2556 分层图+spfa
Description 在幻想乡,伊吹萃香是能够控制物体密度的鬼王。因为能够控制密度,所以萃香能够制造白洞和黑洞,并可以随时改变它们。某一天萃香闲着无聊,在妖怪之山上设置了一些白洞或黑洞,由于引力的影响,给妖怪们带来了很大的麻烦。于是他们决定找出一条消耗体力最少的路,来方便进出。已知妖怪之山上有N个路口(编号1..N),每个路口都被萃香设置了一定质量白洞或者黑洞。原本在各个路口之间有M条单向路,走原创 2016-08-14 19:55:55 · 998 阅读 · 2 评论 -
c........x 4^8^2^6 ssl 2554 小澳的葫芦 01分数规划+最短路
Description小澳最喜欢的歌曲就是《葫芦娃》。 一日表演唱歌,他尽了洪荒之力,唱响心中圣歌。 随之,小澳进入了葫芦世界。 葫芦世界有n个葫芦,标号为1~ n。n个葫芦由m条藤连接,每条藤连接了两个葫芦,这些藤构成了一张有向无环图。小澳爬过每条藤都会消耗一定的能量。 小澳站在1号葫芦上(你可以认为葫芦非常大,可以承受小澳的体重),他想沿着藤爬到n号葫芦上,其中每个葫芦只经过一次。 小原创 2016-11-03 17:07:02 · 652 阅读 · 0 评论 -
【中山市选2009】小明的游戏 jzoj 2182/bzoj 2464 最短路
题目大意裸的最短路。。。分析我tm比赛时还爆内存了 然后是发现把坐标改点时写错了。。。code#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<string>#include<algorithm>#include<stack>#include<queue> using namespac原创 2017-12-30 15:43:41 · 321 阅读 · 0 评论