反向BFS预处理,求出所有符合题意的点,再正向BFS,(注意对于边权恒为一的点,BFS,比SPFA高效) 输入时n与m分清 include include include include include include using namespace std; const int MAXN=1000 ...
分类:
其他好文 时间:
2017-11-20 23:20:14
阅读次数:
163
题目链接:http://poj.org/problem?id=3159 题目大意:给n个人派糖果,给出m组数据,每组数据包含A,B,C三个数,意思是A的糖果数比B少的个数不多于C,即B的糖果数 - A的糖果数<=C 。 最后求n 比 1 最多多多少颗糖果。 解题思路:经典差分约束的题目,具体证明看这 ...
分类:
其他好文 时间:
2017-11-20 23:20:08
阅读次数:
194
题目中的表述很明显是一道二分答案+最短路的题目,二分收取的费用x判断能否到达奥格瑞玛。检验函数用SPFA跑最短路,注意,费用高于x的点不能使用。 include include include include include include using namespace std; const in ...
分类:
其他好文 时间:
2017-11-20 23:16:17
阅读次数:
144
题目略带一点贪心的思想,先跑三遍最短路(边权为一,BFS比SPFA高效) 一起跑总比分开跑高效,枚举两人在何点汇合,输出最小值。 include include include include include include using namespace std; const int MAXN=4 ...
分类:
其他好文 时间:
2017-11-20 23:11:55
阅读次数:
200
一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多 ...
分类:
编程语言 时间:
2017-11-17 22:37:26
阅读次数:
245
又是一年noip...再次炸裂 day0::发烧了,不知道该干些什么,打了几个板子,想了想常用的技巧,就睡觉了。 day1:看见第一题第一反应不会做,推了一会去做第二题,一个小时终于调对了,然后突然yy出了第一题的结论,此时还有两个小时,开第三题,思路比较明显,大概是个dp,但是似乎有环,于是我成功 ...
分类:
其他好文 时间:
2017-11-13 23:17:31
阅读次数:
194
int dist[maxn],mp[maxn][maxn]; int visit[maxn]; void spfa() //SPFA算法 { int i, now; memset(visit, false, sizeof(visit)); for(i = 1; i Q; Q.push(1); vis... ...
分类:
其他好文 时间:
2017-11-12 23:01:09
阅读次数:
259
/* Dijkstra的算法思想: 在所有没有访问过的结点中选出dis(s,x)值最小的x 对从x出发的所有边(x,y),更新 dis(s,y)=min(dis(s,y),dis(s,x)+dis(x,y)) */ #include #include #include #include #inclu... ...
分类:
其他好文 时间:
2017-11-12 20:53:17
阅读次数:
253
推荐博客 https://i.cnblogs.com/EditPosts.aspx?opt=1 http://blog.csdn.net/mcdonnell_douglas/article/details/54379641 spfa 自行百度 说的很详细 spfa 有很多实现的方法 dfs 队列 栈 ...
分类:
编程语言 时间:
2017-11-10 21:51:36
阅读次数:
251
题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。 输入输出格式 输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。 接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和长度。 输出格式: 一行,包含N个用空 ...
分类:
其他好文 时间:
2017-11-10 00:28:36
阅读次数:
204