摘要: 如果这张图是个DAG,那么最长链就是第一个答案,所以就先tarjan缩点。 第二部分拓扑排序解决,注意重边会影响答案,所以不要重复转移。 #include <bits/stdc++.h> namespace IO { char buf[1 << 21], *p1 = buf, *p2 = buf; 阅读全文
posted @ 2020-01-26 16:40 Mrzdtz220 阅读(136) 评论(0) 推荐(0)
摘要: 整体二分加上一个二维树状数组数点即可。 #include <bits/stdc++.h> namespace IO { char buf[1 << 21], *p1 = buf, *p2 = buf; int p, p3 = -1; void read() {} inline int getc() 阅读全文
posted @ 2020-01-26 14:45 Mrzdtz220 阅读(104) 评论(0) 推荐(0)
摘要: 整体二分和树套树都是 $O(n \log ^ 2 n)$ 的,但是整体二分的常数更小。 整体二分就是二分答案,然后就转化成区间数点问题,把区间里小于当前mid的数标成1,然后bit查询一下,再分成左右递归做下去。 #include <bits/stdc++.h> const int N = 5e4 阅读全文
posted @ 2020-01-26 12:31 Mrzdtz220 阅读(116) 评论(0) 推荐(0)
摘要: 黑暗爆炸上没有spj。 第一部分的答案为 $\sum \limits_{j = 1}^{i - 1} q_j \times \frac{1}{(i-j)^2}$,直接卷积就行。第二部分就把 q 数组reverse一下再卷一遍。 #include <bits/stdc++.h> #define db 阅读全文
posted @ 2020-01-26 09:11 Mrzdtz220 阅读(106) 评论(0) 推荐(0)