摘要:
对于每个权值找出他出现的极长区间,总数是 O(40n)\mathcal O(40n)O(40n) 的。 然后我们判断一个区间是否有解,每个限制形如一个同余式,发现模数 ≤40\leq 40≤40,那么两两判断裴蜀定理即可。 考虑双指针,找到最长合法区间,对每个模数记录出现位置及余数,这很好做。 阅读全文
摘要:
什么神仙。 将期望转到局面上。 发现期望相当于每个还可以操作的局面出现的概率之和。 于是我们找到局面,算概率即可。 找到树上一个大小为 aaa 的子图,满足 a>ka>ka>k,如果有 bbb 个之外的点与之相连。 我们考虑将操作的序列看成排列,那么出现这种局面的概率为 a!b!(a+b)!\fra 阅读全文
摘要:
考虑字典序的性质。 我们维护当前的 ai,cia_i,c_iai,ci 表示判断 aia_iai 是否 <ci<c_i<ci,连边。 tarjan 判环,如果是一个环,说明环上所有点都相等。 注意,我们连边是对两个点的环进行连边。 对于一个限制,如果当前的 ai,cia_i,c_iai,c 阅读全文
摘要:
有 gcd(xa−1,xb−1)=xgcd(a,b)−1\gcd(x^a-1,x^b-1)=x^{\gcd(a,b)}-1gcd(xa−1,xb−1)=xgcd(a,b)−1 和 lcm(S)=∏T⊂Sgcd(T)(−1)∣T∣−1\operatorname{lcm}(S)=\prod_{T 阅读全文
摘要:
钦定最小值 lll。 方案数就是 [l,r]−[l+1,r][l,r]-[l+1,r][l,r]−[l+1,r],就是容斥掉没有最小值的情况。 现在就是树上的链的乘积,容易想到树形 DP。 发现值域上端点之间的区间每个点的一次函数不变。 对每一段,拉格朗日插值算前缀和就行了。 阅读全文
摘要:
考虑构造出一个权值为 xxx 的数要多少棵叶子,记为 cxc_xcx。 则 cx=∑j=0x−1cj+1c_x=\sum_{j=0}^{x-1}c_j+1cx=∑j=0x−1cj+1,则 cx=2xc_x=2^{x}cx=2x。 所以权值的值域是 logn\log nlogn 的。 考虑 阅读全文
摘要:
搞出平均数 vvv,相当于每个数都得是 vvv,将 ai−v→aia_i-v\to a_iai−v→ai,则变成每个数都得为 000,且 ai≥−va_i \ge -vai≥−v。 一个区间能均摊,当且仅当区间和为 000。 考虑最小步数,发现上界是 ⌈len−1k−1⌉\lceil\frac 阅读全文
摘要:
跟 CF1889C1 很像。 多次询问,我们考虑将每个段的端点标记,将值域分成若干个段。 我们如果可以求出前缀段通过删除能得到的最多空点个数,由于每一段要么全空,要么全被覆盖,所以我们可以二分从而求出答案。 扫描线,找到被覆盖 ≤2\le 2≤2 的段,维护到每段区间末尾为止空点的长度 aia_ia 阅读全文
摘要:
首先对于两个点 (u,v)(u,v)(u,v) 的合并,发现是每 gcd(au,av)\gcd(a_u,a_v)gcd(au,av) 个分成一段。 然后点 uuu 的每一段都会跟点 vvv 的每一段取或。 在强联通分量内的,两两都会贡献,于是计算其中所有点的 gcd\gcdgcd,按这个数将 阅读全文
摘要:
发现操作并不会使一个存在的二进制位消失,所以最后的答案为区间的或。 令这个数为 mxmxmx,首先序列必须存在 mxmxmx。 注意到当 mxmxmx 出现次数 ≥2\ge 2≥2 时,必然有解,可以通过先将这两个数弄成相邻的再左右扩展得到。 现在讨论 mxmxmx 出现次数为 111 的情况,我们 阅读全文
摘要:
当每个栈只有一个元素时,我们连接 i→pii\to p_ii→pi,pip_ipi 为第 iii 个栈的栈顶。 现在是一棵内向基环树了。 此时询问的答案是每个点对应的树的处在环上的根。 回到原问题,其实我们不断消环,即找到环,将环上的栈顶弹出,并新建连边 i→pii\to p_ii→pi,并维 阅读全文
摘要:
排列的单调且连续的区间一定互不相交,且由 aaa 可以推出这些区间。 如果 a={3,3,3,1,1,1}a=\{3,3,3,1,1,1\}a={3,3,3,1,1,1},那么区间就是 {[1,3],[4,4],[5,5],[6,6]}\{[1,3],[4,4],[5,5],[6,6]\}{[1,3 阅读全文
摘要:
先暴力贪心。 设 fu,0/1f_{u,0/1}fu,0/1 分别表示是否删除 uuu 和父亲之间的边,子树内的最小代价。 我们要满足的就是 uuu 被删除的边数 kkk 满足 duu−k≤xdu_u-k \le xduu−k≤x。 这下每个 vvv,不是选 w+fv,1w+f_{v,1}w+f 阅读全文
摘要:
发现同颜色最远点对一定有一点在直径 SSS 上。 这下找到直径,算每个点到直径的两种距离。 然后枚举最远点对长度 ddd,根据两种距离跟 ddd 的大小关系,我们可以知道一个点选的方案数。 然后我们考虑容斥。 记答案为 ∑wifi\sum w_if_i∑wifi 的形式,表示最远点对为 wiw_ 阅读全文