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\) 的期望步数。

\[f_i=\dfrac{\sum\limits_{j=i}^{i+A_i}(f_j+1)}{A_i+1} \]

推一下可以发现:

\[f_i=\dfrac{\sum\limits_{j=i+1}^{i+A_i}f_j+A_i+1}{A_i} \]

前缀和优化即可。

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}\)

\[D_i=\sum\limits_{i=1}^x\dfrac{(x-i+1)(x-i+2)}{2}A_i \]

\[D_i=\dfrac{(x+1)(x+2)}{2}\sum\limits_{i=1}^xA_i-\dfrac{2x+3}{2}\sum\limits_{i=1}^xiA_i+\dfrac{1}{2}\sum\limits_{i=1}^xi^2A_i \]

用树状数组分别维护 \(A_i,iA_i,i^2A_i\),复杂度 \(O((n+q)\log n)\)

posted @ 2022-07-20 13:40  lnwhl  阅读(61)  评论(2)    收藏  举报