摘要:
这个题目的关键就是判断 大爷所有可能会走的路 会不会经过询问的边。 某一条路径经过其中的一条边, 那么2个端点是在这条边的2测的。 现在我们要判断所有的路径是不是都经过 u -> v 我们以u为根节点, 如果所有的路劲的起点 有且仅有一个点在 v 的子树内 我们就可以知道这个边是合法的。 那么我们每 阅读全文
摘要:
题意: 现在有一副完全图, 将他转化成线图。 线图就是 把原来的图上的边都变成点, 然后如果原来的任意2条边存在公共点, 他们就会有一条边, 边权为原来的2条边的和。 最后求出线图中的任意2点的最短路的和。 题解: 对于原图来说 现在有 ( a, b) -> (c, d) 他的花费是 W(a,b) 阅读全文
摘要:
题意: 现在有一个2维矩阵, 初始化为0。 并且这个矩阵是及时更新的。 dp[i][j] = dp[i-1][j] + dp[i][j-1]; 现在有2种操作: 0 x y dp[1][x] += y 1 x 查询dp[k][x]的值。 题解: 神奇的分块算法。 首先我们可以发现 如果在一个 x 的 阅读全文
摘要:
HDU-6437 题意:一天有n个小时,现在有m场电影,每场电影有一个愉悦值,有k个人,电影分2种类型A, B, 并且每一场电影只能一个人看, 一个人可以看无数次电影, 只要时间足够, 但是连续看同一种电影会减少愉悦值W点。现在要求所有人总的愉悦值加起来最大。 题解: 网络流建图,先把每个点拆成2个 阅读全文
摘要:
AC自动机 模板题 HDU-2222 Keywords Search 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 #define ULL unsigned LL 5 #define fi firs 阅读全文
摘要:
转自仓鼠大神的博客 1.快速幂求法 费马小定理(a和p互质) a^(p-1) ≡1 (mod p) a^(p-2) ≡ inv(a) (mod p) 1 LL pow_mod(LL a, LL b, LL p){//a的b次方求余p 2 LL ret = 1; 3 while(b){ 4 if(b 阅读全文
摘要:
link-cut tree #define lch(x) tr[x].son[0] #define rch(x) tr[x].son[1] const int N = 5e5 + 100; struct Node{ int rev, rt; int son[2], pre; int mx, val, 阅读全文
摘要:
1 #define lch(x) tr[x].son[0] 2 #define rch(x) tr[x].son[1] 3 const int N = 1e5 + 100; 4 int tot = 0, root; 5 struct Node{ 6 int son[2], pre, sz; 7 vo 阅读全文
摘要:
1. 最大流 const int N = 200; const int M = N*N; int head[N], deep[N], cur[N]; int w[M], to[M], nx[M]; int tot; void add(int u, int v, int val){ w[tot] = 阅读全文
摘要:
题意:现在有n个主武器, m个副武器, 你要选择1个主武器,1个副武器, 使得 题目给定的那个式子最大。 题解:这个题目困难的地方就在于有绝对值,| a - b | 我们将绝对值去掉之后 他的值就为 max{ a-b, b-a }. 由于题目中状态最多也是5维, 所以我们对与这五维枚举他的状态, 是 阅读全文