摘要:
树分治。 网上有部分人的题解写的啥呀。。。 按重心进行分治。 首先O(n)算出以当前点为根depth(u)+depth(v) #include #include using namespace std; const int maxn = 10000 + 10; const int maxm = 20000 + 10; const int inf = 0x3f3f3f3f; int g[max... 阅读全文
摘要:
2-SAT。 首先有平面图定理 m #include #include using namespace std; const int maxn = 10000 + 10; const int maxm = 3000000 + 10; int g[maxn],v[maxm],next[maxm],eid; int a[maxn],b[maxn],c[maxn],pos[maxn]; bool t... 阅读全文
摘要:
2-SAT。 读入用了黄学长的快速读入,在此膜拜感谢。 把每对时间当作俩个点。如果有交叉代表相互矛盾。 然后tarjan缩点,这样就能得出当前的2-SAT问题是否有解。 如果有解,跑拓扑排序就能找出一个特定的解。 #include #include #include using namespace std; const int maxn = 5000 + 10; const int... 阅读全文