ABC EF 简单题记录
ABC 266 E(1227)
最多扔 \(n\) 次骰子,求最后一次扔到的数的期望最大值。
考虑 dp,设 \(dp[i]\) 表示扔 \(i\) 次骰子的期望最大值。
转移时枚举这次投到的数,若大于 \(dp[i-1]\),则继续投,若小于,则停止。
ABC 266 F(1525)
给定一颗基环树,求两点之间的路径上是否经过环。
可以先通过拓扑排序找出环打上标记,之后从环上的每一个点开始搜索,找到每一个点的“根”。询问的时候只要判断两个点的“根”先不相同即可。
ABC 265 E(1531)
题意不好描述。
考虑 dp,\(f[i][j][k]\) 表示第一种操作进行 \(i\) 次,第二种操作进行 \(j\) 次,第三种操作进行 \(k\) 次方案,dp 转移枚举这一步的操作即可,但需要用 map 存,常数比较大,注意卡常。
ABC 264 E(1229)
赛时又没做出来。
这里提供一种带权并查集的做法。
考虑倒序思考,把删边变成加边,每次有多少个点通电。设一个超级源点,表示所有发电场,每次加边就 merge,答案即为超级源点的 \(size-1\)。
ABC 263 E(1659)
期望 dp。设 \(f_i\) 表示从 \(i\) 到 \(n\) 的期望步数。
推一下可以发现:
前缀和优化即可。
ABC 262 E(1719)
太 ahhoc 了!
设红色节点的度的贺为 \(S\),红红之间边数为 \(R\),红蓝边数为 \(D\)。
易得:\(S=2R+D\),发现 \(D\) 为偶,\(S\) 一定为偶。
这要求奇数度的节点的个数为偶。排列组合搞搞即可。
这东西得预处理阶乘逆元。
ABC 261 E(1261)
赛时又没做出来,下大分。。。。
按位求,预处理出从 \(1\) 到当前位置每一位的 \(0/1\) 会变成什么。复杂度 \(O(n\log\{\max a_i\})\)。
ABC 261 F(1587)
原问题可以转化为逆序对的个数减去同色逆序对的个数,二位偏序问题,用树状数组维护,注意清空。
ABC 260 E(1692)
给定数轴上的 \(n\) 个二元组 \((a_i,b_i)\),求不同长度包含 \(a_i,b_i\) 中至少一个的区间个数。
双指针。
穷举左端点,双指针快速求出对应的最近右端点。差分,快速统计个数。
ABC 260 F(1995)
给定一个 \((S+T)\) 个点, \(m\) 条边的无向图,该图由两个节点数分别为 \(S\) 和 \(T\) 的独立集组成,在图上找由四个节点组成的环(\(S\le3\times 10^5,T\le3000\))
考虑到 \(T\) 较小,用一个二位数组 \(M\) 表示 \(T\) 中的两点是否联通。
第一重循环穷举 \(S\) 上的节点,二三重循环穷举与 \(S\) 相连的 \(T\) 上的节点,快速找出有无第四个点与该两点同时相邻。其实就是暴力,复杂度看似会超,但仔细想想却发现是鸽巢原理。
ABC 259 E(1370)
只有当前数的质因数中有最高位,且唯一,对答案才有贡献。
ABC 258 E(1545)
非常锻炼的一道题。先像 ABC 167 D 一样把原问题转化为图上找环的问题。
将 \(x\bmod \sum w_i\),将数组复制两遍,在数组上进行倍增。因为 \(x< \sum w_i\),所以复制两遍原数组就应该足够了。每次位置如果 \(\ge n\) 就模 \(n\)。
但是坑点很多,调了好几天/kk,注意模之后要加回来。
ABC 257 E(1385)
比较有趣的贪心题。
考虑到位数越大数越大,我们先使位数最大,为 \(\dfrac{n}{\min a_i}\)。
位数固定后我们从前往后尽可能使该位最大即可。
ABC 256 E(1224)
咕了好久,终于把坑填上了。
\(n\) 个点 \(n\) 条边,发现构成基环树森林。发现环上必有一条边不满足条件,故问题变成了找基环树森林环上的最小值加和。
实现用到并查集。
ABC 256 F(2067)
给定序列 \(A_i\),设其前缀和为 \(B_i\),其前缀和的前缀和为 \(C_i\),其前缀和的前缀和的前缀和为 \(D_i\),修改 \(A_i\),查询 \(D_i\)。
树状数组。
考虑 \(A_i\) 对 \(B_x\) (\(i\le x\)) 的贡献为 \(1\)。
考虑 \(A_i\) 对 \(C_x\) (\(i\le x\)) 的贡献为 \(x-i+1\)。
考虑 \(A_i\) 对 \(D_x\) (\(i\le x\)) 的贡献为 \(\dfrac{(x-i+1)(x-i+2)}{2}\)。
用树状数组分别维护 \(A_i,iA_i,i^2A_i\),复杂度 \(O((n+q)\log n)\)。

浙公网安备 33010602011771号