摘要: floyd算法好像很奇妙的样子。可以做到每次加入一个点再以这个点为中间点去更新最短路,效率是n*n。#include#include#include#include#includeusing namespace std;const int maxn = 305;const int INF = 0x7... 阅读全文
posted @ 2015-05-22 09:34 Fighting_Heart 阅读(176) 评论(0) 推荐(0) 编辑
摘要: floyd算法。这题目比较操蛋,首先INF需要比较大,我选择了INF = 0xffffffffffffff。还有一点就是%lld会挂掉的,用%I64d才能AC。#include#include#include#includeusing namespace std;const int maxn = 1... 阅读全文
posted @ 2015-05-22 08:03 Fighting_Heart 阅读(404) 评论(0) 推荐(0) 编辑
摘要: Flody多源最短路#include#include#include#include#include#include#includeusing namespace std;const int maxn=35;mapzh;string s,s1,s2;double jz[maxn][maxn],A[m... 阅读全文
posted @ 2015-05-21 19:51 Fighting_Heart 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 差分约束系统。#include#include#include#include#include#include#includeusing namespace std;const int maxn = 50005;map jz[maxn];vectorljb[maxn];int dist[maxn],... 阅读全文
posted @ 2015-05-21 14:41 Fighting_Heart 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 今天刚刚学差分约束系统。利用最短路求解不等式。世界真的好奇妙!感觉不等式漏下几个会导致WA!!#include#include#include#include#include#includeusing namespace std;const int maxn = 1111;vectorljb[max... 阅读全文
posted @ 2015-05-20 21:49 Fighting_Heart 阅读(186) 评论(0) 推荐(0) 编辑
摘要: SPFA+枚举。每条边的权值都设置一次为0 用一次SPFA,算出最短路,每次的最短路取最小值就是答案。#include#include#include#include#include#include#include#include#includeusing namespace std;const i... 阅读全文
posted @ 2015-05-19 15:49 Fighting_Heart 阅读(292) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#includeusing namespace std;int mapp[111][111];int uu[111][111];struct abc{ int x, y, hh; } node[111 * 111];bool cmp(const abc... 阅读全文
posted @ 2015-05-17 16:08 Fighting_Heart 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 最短路问题稍微复杂了一点,松弛的时候多判断一些条件就可以了。第一次用SPFA写最短路。#include#include#include#include#include#includeusing namespace std;const int maxn = 305;vector cost[maxn][... 阅读全文
posted @ 2015-05-15 20:43 Fighting_Heart 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 求出根节点到每个叶子节点的距离,找到最大的。然后总权值减去最大叶子距离就是答案。GNU C++ ACVisual C++ TLE#include#include#include#includeusing namespace std;const int maxn = 111111;vector ljb... 阅读全文
posted @ 2015-05-14 14:39 Fighting_Heart 阅读(172) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#includeusing namespace std;char s[20];long long t, y;long long gcd(long long a, long long b){ long long t; while (b) ... 阅读全文
posted @ 2015-05-14 13:07 Fighting_Heart 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 迪杰斯特拉最短路径。1.every city must wait till all the goods arrive, and then transport the arriving goods together with its own goods to the next city. 这个条件貌似... 阅读全文
posted @ 2015-05-12 17:53 Fighting_Heart 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 迪杰斯特拉单源最短路算法。对成语进行预处理。做出邻接矩阵即可。#include#include#include#includeusing namespace std;const int maxn = 1005;int c[maxn], len[maxn], cost[maxn][maxn], fla... 阅读全文
posted @ 2015-05-12 13:07 Fighting_Heart 阅读(159) 评论(0) 推荐(0) 编辑
摘要: Dijkstra单源最短路算法#include#include#include#includeusing namespace std;const int maxn = 205;int cost[maxn][maxn];int n, m, u, v, c, su, eu;int mincost[max... 阅读全文
posted @ 2015-05-11 17:54 Fighting_Heart 阅读(205) 评论(1) 推荐(0) 编辑
摘要: 先用DFS求出全组合,然后每个组合求最小生成树。#include#include#include#includeusing namespace std;int n, m, summ;int u[10000][20];int t[20], ff[20], nodecost[20], father[20... 阅读全文
posted @ 2015-05-09 10:05 Fighting_Heart 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 2018.04.05 update: 今天无意间重新翻开了博客发现了这个历史遗留问题,已经知道是卡特兰数了,但由于取模的数不是素数啊。。。好像还是不太会做。 不会做。打表打不起来,只知道规律。 规律: a[i][1]=i; a[i][i]=a[i][i-1]; a[i][j]=a[i-1][j]+a 阅读全文
posted @ 2015-05-07 14:38 Fighting_Heart 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 每个连通分量最多只有一个环,求怎么连接使费用最大按费用从大到小排序,一条一条加边,连接一个集合内两个点的时候,判断这个集合之前有没有成环,连接两个集合的时候,判断两个集合的状态,如果都没有,则合并后也没有环,如果有一个有环,合并有也有环,如果两个都有环,则不能合并。#include#include#... 阅读全文
posted @ 2015-05-07 13:44 Fighting_Heart 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 最小生成树,刚刚学了Prim算法。对每条边变的权值进行预处理,c[i][j] = c[i][j] + p[i] + p[j] 其中c[i][j]为输入的权值,p[i],p[j]为连接这两个节点所需的费用。#include#include#include#includeusing namespace ... 阅读全文
posted @ 2015-05-06 22:27 Fighting_Heart 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最小生成树,用了Kruskal算法。POJ上C++能过,G++不能过。。。 算出每两个圆心之间的距离,如果距离小于两半径之和,那么这两个圆心之间的距离直接等于0,否则等于距离-R[i]-R[j]。#include#include#include#includeusing namespace std;... 阅读全文
posted @ 2015-05-06 16:12 Fighting_Heart 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序。深刻体会:ACM比赛的精髓之处不在于学了某个算法或数据结构,而在于知道这个知识点但不知道这个问题可以用这个知识去解决!一看题目,根本想不到是拓扑排序。T_T......#include#include#include#include#includeusing namespace std;i... 阅读全文
posted @ 2015-05-04 22:29 Fighting_Heart 阅读(374) 评论(0) 推荐(0) 编辑
摘要: map水过去了,240ms的样子。。。用字典树应该比map快多了吧。#include#include#include#include#includeusing namespace std;map abc;char s[50005][1000];int main(){ char k[1000];... 阅读全文
posted @ 2015-05-04 18:51 Fighting_Heart 阅读(249) 评论(0) 推荐(0) 编辑