
图论 - 最短路/差分约束
NotFound1
这个作者很懒,什么都没留下…
展开
-
|Vijos|图论最短路|P1046 观光旅游
https://vijos.org/p/1046求个最小环,Floyd即可。#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using namespace std;int n,m;int G[102][102];int dis[102][102];int main () {原创 2016-08-20 14:46:04 · 467 阅读 · 0 评论 -
|BZOJ 2763|最短路|[JLOI2011]飞行路线
BZOJ 2763分层图最短路注意:priority_queue默认排序序列是从大到小的,所以重载小于符号时要a>b 以后权值一律写w,不要用v或c!#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>#define fo(i, j, k) for (i=(j);i<=(k)原创 2017-05-20 23:19:19 · 483 阅读 · 0 评论 -
|hdu 3666|差分约束|THE MATRIX PROBLEM
hdu 3666由题意可知, L<=C(i,j)∗ai/bj<=UL <= C(i,j) * a_i/b_j <= U 可以都除以C(i,j)C(i,j), 得 L/C(i,j)<=ai/bj<=U/C(i,j)L/C(i,j) <= a_i/b_j <= U/C(i,j) 此时都是除法,不满足差分约束看两个性质 log(a/b)=log(a)−log(b)log(a/b) = log(a)原创 2017-05-11 20:00:22 · 421 阅读 · 0 评论 -
|hdu 3440|差分约束|House Man
hdu 3440差分约束,由于求最大差,故建立a−b<=ca-b<=c的不等式,跑最短路 h数组排序后,依次连接两个相邻的数,注意绝对值的问题ps: INF要开0x7fffffff#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>#define ms(i, j) memse原创 2017-05-10 19:54:21 · 444 阅读 · 0 评论 -
|算法讨论|差分约束 学习笔记
题目 [差分约束]BZOJ 2330:用最短路算法求最长路求差分约束 [差分约束]poj 1201:用最短路算法求最长路求差分约束模板及讲解差分约束就是给出一些形如x−y≥cx-y \ge c的约束,问你是否有解,或求最大、最小解。该问题可以转化为图上最短路问题。1、求最大差 建立形如 A−B<=CA-B<=C 的不等式,在原图中添加边 B−>AB->A 边权为 CC 对建好的图跑最短路,如原创 2017-02-11 16:20:29 · 594 阅读 · 0 评论 -
|hdu 3592|差分约束|World Exhibition
poj传送门/* Hdu 3592 差分约束系统 */#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>using namespace std;#define ms(i,j) memset(i, j, sizeof i);const int INF原创 2017-04-16 15:18:32 · 500 阅读 · 0 评论 -
|hdu 1531|差分约束|King
Hdu传送门 题目很烦,慢慢体会。/* Hdu 1531 差分约束系统 教训: 1、SPFA的写法 2、SPFA判负环搞清楚有几个点 3、最短(长)路中的dis[i]表示 a[i]-a[0]的最大(小)值 */#include<cstdio>#include<cstring>#include<algorithm>#include<ve原创 2017-04-14 21:47:08 · 546 阅读 · 0 评论 -
|BZOJ 3445|最短路|[Usaco2014 Feb] Roadblock
bzoj传送门 Luogu免权限地址 先对原图进行一次最短路,然后记录最短路上的边,然后枚举每一条边加倍,进行最短路,取每次最短路的答案减去原图最短路即可#include<cstdio> #include<algorithm> #include<cstring>#include<queue> #define ms(i,j) memset(i,j, sizeof i);using原创 2017-03-19 21:20:36 · 874 阅读 · 0 评论 -
|BZOJ 2330|差分约束|[SCOI2011]糖果
BZOJ传送门 差分约束。 裸题不讲了。可以看我的差分约束学习笔记。 注意这题直接把所有点加进来做,否则TLE,还要开long long#include<cstdio> #include<algorithm> #include<cstring> #include<vector>#include<queue>#define ms(i,j) memset(i,j, sizeof i原创 2017-02-11 18:17:22 · 497 阅读 · 0 评论 -
|poj 1201|差分约束|Intervals
poj传送门 差分约束。 设dis[i]dis[i]为i−1i-1包含在ZZ集合内数的个数 由题意得,dis[b]−dis[a−1]≥cdis[b]-dis[a-1]\ge c, 由隐含条件每个数只出现一次或不出现,得0≤dis[i]−dis[i−1]≤10 \le dis[i]-dis[i-1] \le 1 整理后得, dis[b]−dis[a−1]≥cdis[i]−dis[i−1]≥原创 2017-02-11 16:06:54 · 407 阅读 · 0 评论 -
|Vijos|图论最短路|P1082 丛林冒险
https://vijos.org/p/1082非常有代表性的题目,在SPFA时多加一个判断即可此问题可解所有体力+权值的最短路问题#include#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using namespace std;struct node{ int u;原创 2016-08-20 18:42:58 · 359 阅读 · 0 评论 -
|Tyvj|图论最短路|P1031 热浪
http://tyvj.cn/p/1031求ts到te的最短路径即可代码为dijkstra#include#include#includeusing namespace std;int G[2505][2505];int dis[2505];int visit[2505];int main () { int t,c,ts,te; scanf("%d%d%d%d",原创 2016-08-12 14:01:05 · 521 阅读 · 0 评论 -
|Tyvj|图论最短路|P1083 分糖果
http://tyvj.cn/p/1083以C小朋友为起点求最短路,任何一种都行,然后找出离C小朋友最远距离ans,答案是ans+m+1代码是SPFA求最短路,当然可以用Floyd/dijkstra等等#include#include#includeusing namespace std;int w[1005][1005];int num[1005];bool visit[原创 2016-08-12 13:41:12 · 526 阅读 · 0 评论 -
|Vijos|图论最短路|P1155 集合位置
https://vijos.org/p/1155恶心的题目。。用dijkstra求次短路只有70分,只有删边才能AC,这里给出70分代码给大家参考。#include#include#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using namespace std;struct原创 2016-08-22 11:59:36 · 440 阅读 · 0 评论 -
|Vijos|图论最短路|P1446 最短路上的统计
https://vijos.org/p/1446Floyd+枚举先做一次Floyd,然后对于每一个询问,枚举中间点k,如果G[a][k]+G[k][b]==G[a][b],那么这个就是最短路上的点。#include#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using nam原创 2016-08-21 14:42:20 · 438 阅读 · 0 评论 -
|Vijos|图论最短路|P1406 古韵之鹊桥相会
https://vijos.org/p/1406两个相邻点相同则权值为0,否则权值为1.不相邻点权值设为正无穷然后在上面和下面加上一排数,上面的是起点,下面的是终点最后Floyd,输出任意一个在起点和终点的距离(G[起点][终点])即可#include#include#include#include#include#define ms(i,j) memset(i, j原创 2016-08-21 13:40:10 · 360 阅读 · 0 评论 -
|Vijos|图论最短路|P1391 想越狱的小杉
SPFA,感觉不是真正意义上的SPFA。。#include#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));using namespace std;const int maxn = 2000 + 5;int w[maxn][maxn];int edge[maxn][maxn];in原创 2016-08-20 22:55:19 · 696 阅读 · 0 评论 -
|算法讨论|最短路 学习笔记
题目模板及讲解知识点: 1、 求两点最短距离 2、求次短路 3、求最小环1 求两点最短距离//堆优化dijkstra #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #define ms(i,j) memset(i,j, sizeof i); using namespace原创 2017-03-11 16:54:03 · 378 阅读 · 0 评论