02 2020 档案
摘要:题目描述 题解 显然可以求i删掉时j的贡献 不能把环单独割开,大概是计算的主体不相同? 考虑一条i到j的路径,如果i到j上没有环则期望为1/len 否则即∑f(x) |x|,x表示一个使ij连通的集合 其实不需要算方案数,考虑直接算概率 概率又不好直接算,所以dp维护容斥系数 如果一个环被分成大小为
阅读全文
摘要:题目描述 题解 镇♂男则反 如果没有操作3很好办,反着做维护操作1的次数即可 实际上一次操作3的贡献是zi (∑i到操作1位置的距离) 维护一下即可O(n^4) code
阅读全文
摘要:题目描述 有源汇上下界最小费用最大流 同上下界网络流,把u->v拆成S'->v、u->v和u->T'三条边,其中S'->v和u->v有代价 也可以求出每个点的出入情况D[i],表示(流入-流出) 如果D[i]>0则连S'->i,否则连i->T' 本质是强制必经边满流,然后再平衡流量 然后跑S'->T
阅读全文
摘要:题目描述 给定一张 N 个点,M 条边的无向图,边有红、绿、蓝三种颜色,分别用 1,2,3 表示。 求这张图有多少生成树,满足绿色边数量不超过 x,蓝色边数量不超过 y,答案对10^9 + 7 取模。 1 ≤ N ≤ 40,1 ≤ M ≤ 10^5,1 ≤ ci ≤ 3 行列式 定义矩阵A的行列式d
阅读全文
摘要:题目描述 题解 怒草题解 类似burnside,可以得出循环节个数为gcd(n,k) 把每个循环节拉出来变成一个环,答案即为每个环的相邻元素乘积和 对于每个环首先把最大的放在中间,然后左右轮流从大到小放 可以感受到一个数大于另一个数时两边的数之和必然大于另一个数的和 所以不能交换,即为最优 code
阅读全文
摘要:https://www.cnblogs.com/nietzsche oier/p/8185805.html
阅读全文
摘要:题目描述 题解 吼题 推荐博客:https://www.cnblogs.com/jz 597/p/12300760.html 最暴力的做法是把n个2^m的FWT乘起来,这样显然不行 先把pi,1\~k异或上pi,1,把pi,1变为0,最后再把pi,1异或回去 考虑FWT(xor)的本质,tr(A)=
阅读全文
摘要:在线很毒瘤 离线考虑求出每条边的存在时间,把边放到线段树上,然后线段树分治维护可撤销并查集 具体来说,进入某个节点时把边加入(不连通时),出节点时删掉 顺序加边倒序删边,每次删的边必然是根节点与某个儿子的连边,所以可以直接维护深度按秩合并 与直接做的区别在于,撤销时实际上并没有真正删边,而是还原成进
阅读全文