摘要:
#include#include#includeusing namespace std;const int MAX = 205;int dep, n, map[MAX][MAX];int dfs(int u, int v){ int max1, max2, path_max; max1 ... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(162)
评论(0)
推荐(0)
摘要:
思路:求割点#include#include#includeusing namespace std;const int v = 105;int edge[v][v];int bridge[v][v], cut[v];int low[v], dfn[v], vis[v];void cut_bridge... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(78)
评论(0)
推荐(0)
摘要:
思路:求树的高度。用并查集,不要压缩路径。#include#include#includeusing namespace std;int father[2005], cnt;int max(int x, int y){ return x > y ? x : y;}void init(int n... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(133)
评论(0)
推荐(0)
摘要:
#include#include#include#includeusing namespace std;int res[20][20], vis[20], pre[20];queueq;int N, M;bool bds(int s, int t){ memset(vis, 0, sizeof... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(137)
评论(0)
推荐(0)
摘要:
这个算法是基于FF方法,就是通过不断求残余网络的增广路来增广流量,直到找不到增广路为止。注意:每次找到增广路以后都要更新原网络。EK算法通过BFS寻找源S到汇T的一条最短路径,因此时间复杂度是O(VE^2).模板代码如下:#include#include#include#include#define... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(197)
评论(0)
推荐(0)
摘要:
#include #include #include #include using namespace std;const int maxn = 1001000;#define inf (1 ans) ans = tmp; tmp = p[s+k-1] - a + 1; ... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(119)
评论(0)
推荐(0)
摘要:
思路:用len[i]记录长度为i时的上升子序列对应的最小的那个数,每次插入一个数就更新len数组,使用二分查找进行修改操作,时间复杂度为O(nlogn),最后i的值就是上升子序列的最大长度。#include#include#includeusing namespace std;int a[10000... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(130)
评论(0)
推荐(0)
摘要:
思路:并查集,在查找,路径压缩的时候,用num[i]记录i被移动的次数,有:sum[i] += sum[father[i]]。#include#include#includeusing namespace std;int father[10005], num[10005], city[10005];... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(89)
评论(0)
推荐(0)
摘要:
思路:lazy标记,每次只记录最后那个数的增量,需要是再向前传递。#include#include#includeusing namespace std;long long int Delta[200005], a[200005];double sum;int main(int argc, char... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(94)
评论(0)
推荐(0)
摘要:
思路:并查集应用,处理是倒过来处理。#include#include#includeusing namespace std; int father[10005], a[100005], b[100005], block[100005]; int find(int x){ return x ==... 阅读全文
posted @ 2014-04-30 18:37
wangzhili
阅读(78)
评论(0)
推荐(0)
浙公网安备 33010602011771号