摘要:
对于每次询问,构造出虚树,相邻两点边权为该两点路径上边权的最小值f[i]表示以i为根的子树与1不连通的最小代价,vip[i]表示i是不是关键点f[i]=sum(vip[j]?w[j]:min(f[j],w[j]))#include#include#define N 250010#define K 1... 阅读全文
摘要:
设h为树的高度,sum[i]为深度大于i的点的个数则$ans=\max(i+\lceil\frac{sum[i]}{k}\rceil)$注意到这是一条直线,于是斜率优化至$O(n)$#include#define N 1000010typedef long long ll;int n,m,i,x,g... 阅读全文
摘要:
1 n d v相当于给$a[x]+=v[\gcd(x,n)=d]$\[\begin{eqnarray*}&&v[\gcd(x,n)=d]\\&=&v[\gcd(\frac{x}{d},\frac{n}{d})=1]\\&=&v\sum_{k|\gcd(\frac{x}{d},\frac{n}{d})... 阅读全文
摘要:
首先求出SCC缩点,E[T]=0,按拓扑序计算对于无边连出的块,如果不是T所在块,则称该块是死路块对于一个块,如果其中的点连出的边是死路块,则它也是死路块否则对于每块进行高斯消元求出期望如果S点所在块为死路块,则答案为INF#include#includeconst int N=10010,M=10... 阅读全文
摘要:
n维超立方体有$2^{n-i}C_n^i$个i维元素,于是$O(n)$预处理出1到n的逆元,再$O(n)$计算即可。注意Trick:P可能小于n,所以要将数字表示成$a\times P^b$的形式。#include#define N 10000001typedef long long ll;int ... 阅读全文