该文被密码保护。 阅读全文
posted @ 2016-09-23 13:40 知る奇迹に 阅读(0) 评论(0) 推荐(0)
摘要: struct KM{ bool S[maxn], T[maxn]; int Lx[maxn], Ly[maxn]; int W[maxn][maxn]; int slack[maxn]; int myleft[maxn]; vector G[maxn]; int n; void init(int n){ this ... 阅读全文
posted @ 2016-09-23 13:39 知る奇迹に 阅读(134) 评论(0) 推荐(0)
摘要: 点双 边双 阅读全文
posted @ 2016-09-23 13:38 知る奇迹に 阅读(351) 评论(0) 推荐(0)
摘要: vector G[maxn]; int pre[maxn], low[maxn], c[maxn]; int n, m; stack s; int dfstime, scc_cnt; void dfs(int u, int fa){ pre[u] = low[u] = ++dfstime; int len = G[u].size(); s.push(u); fo... 阅读全文
posted @ 2016-09-23 13:36 知る奇迹に 阅读(302) 评论(0) 推荐(0)
摘要: 二维: 定义dp(i, j, k, L)表示以(i,j)为左上角,宽度为(2^k, 2^L)的区间内的某个数值 阅读全文
posted @ 2016-09-23 13:35 知る奇迹に 阅读(124) 评论(0) 推荐(0)
摘要: http://codeforces.com/contest/713 题目大意:给你一个长度为n的数组,每次有+1和-1操作,在该操作下把该数组变成严格递增所需要的最小修改值是多少 思路:遇到这类题型,最普遍的方法就是把严格递增给变为递增就好了,所以我们对所有的a进行处理,a[i]-=i,然后再dp。 阅读全文
posted @ 2016-09-23 11:12 知る奇迹に 阅读(273) 评论(0) 推荐(0)