摘要: 相当于求边权和为3的倍数的路径条数 阅读全文
posted @ 2018-03-08 13:52 Cupcake 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 点分治 感觉像线性数据结构上的二分 或者说线性数据结构上的二分就是点分治的特殊情况 阅读全文
posted @ 2018-03-08 13:29 Cupcake 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 矩阵树定理 注意模数不是质数,不能用逆元 用了一种类似辗转相除的方法,非常巧妙 阅读全文
posted @ 2018-03-08 13:28 Cupcake 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 高斯消元模板 需要判断无解和多解 阅读全文
posted @ 2018-03-08 13:27 Cupcake 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 把能坐在一起的连边,求出点双连通分量,再对每个点双连通分量判一下是否存在奇环。 阅读全文
posted @ 2018-03-08 13:26 Cupcake 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 边双连通分量模板 求出边双连通分量,缩点后成为一个树。 若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那么 至少增加的边数 =( 这棵树总度数为1的结点数 + 1 )/ 2 阅读全文
posted @ 2018-03-08 13:25 Cupcake 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #define ll long long 3 using namespace std; 4 const int N=510; 5 int n,T,ans1,cnt,siz,dfn[N],low[N],timer; 6 ll ans2; 7 bool vis[N],iscut[N],viscut[N]; 8 struct Edge{ 9 int ... 阅读全文
posted @ 2018-03-08 13:24 Cupcake 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 建出虚树 两遍dp求出虚树上的各点被哪个点管辖 再对虚树上的每一条边计算贡献 阅读全文
posted @ 2018-03-08 13:23 Cupcake 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 朴素算法O(n^3) 可用四边形不等式优化到O(n^2) 1 #include 2 using namespace std; 3 const int N=210,oo=2e9; 4 int n,a[N],f[N][N],p[N][N],ans1=oo,ans2; 5 int main(){ 6 scanf("%d",&n); 7 for(int i=1;if[j][k... 阅读全文
posted @ 2018-03-08 13:22 Cupcake 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 求平均时间最小就是求总时间最小 假设每个顾客对应的技术人员已经分配好了 那么技术人员在修某一辆车时对答案的贡献就是 time × 在排队的人数 所以可以想到把技术人员拆成n个点{mi1,mi2 ,……,min​ } 对于每个顾客,向mij​连一条容量为1,花费为 time*j 的边 求这个二分图的最 阅读全文
posted @ 2018-03-08 13:20 Cupcake 阅读(115) 评论(0) 推荐(0) 编辑