摘要:
#include#include#include#includeusing namespace std;int m,n;int SG[1000001];int sg(int x){ if(SG[x]!=-1) return SG[x]; if(!x) return SG[x]=0; setS; in... 阅读全文
摘要:
#include#includeusing namespace std;#define MOD 1000000007typedef long long ll;ll F[16][16][16][16][16][6];ll f(int a,int b,int c,int d,int e,int pre)... 阅读全文
摘要:
设siz[i]表示i的子树大小-1。询问中b在a上方的便于统计。对于b在a下方的情况,贡献为距a距离在K以内的节点的siz之和。按dfs序建立可持久化线段树,线段树的下标是深度。相当于把每个点(带权)映射到了平面上,然后求一个矩形内的点权之和。#include#includeusing namesp... 阅读全文
摘要:
题解很多,实现起来以外地简洁。内层的区间线段树上用了标记永久化。#includeusing namespace std;#define N 50001struct Node{int sumv,tag,lc,rc;}T[N*256];int e;int n,m;void Update(int ql,i... 阅读全文
摘要:
跑出最短路图,然后把结点拆点跑最大流。#include#include#include#include#includeusing namespace std;#define M 100001#define INF 2147483647#define N 501typedef long long ll... 阅读全文