ABC EF 简单题记录

ABC 266 E(1227)

最多扔 n 次骰子,求最后一次扔到的数的期望最大值。

考虑 dp,设 dp[i] 表示扔 i 次骰子的期望最大值。
转移时枚举这次投到的数,若大于 dp[i1],则继续投,若小于,则停止。

ABC 266 F(1525)

给定一颗基环树,求两点之间的路径上是否经过环。

可以先通过拓扑排序找出环打上标记,之后从环上的每一个点开始搜索,找到每一个点的“根”。询问的时候只要判断两个点的“根”先不相同即可。

ABC 265 E(1531)

题意不好描述。
考虑 dp,f[i][j][k] 表示第一种操作进行 i 次,第二种操作进行 j 次,第三种操作进行 k 次方案,dp 转移枚举这一步的操作即可,但需要用 map 存,常数比较大,注意卡常。

ABC 264 E(1229)

赛时又没做出来。
这里提供一种带权并查集的做法。
考虑倒序思考,把删边变成加边,每次有多少个点通电。设一个超级源点,表示所有发电场,每次加边就 merge,答案即为超级源点的 size1

ABC 263 E(1659)

期望 dp。设 fi 表示从 in 的期望步数。

fi=j=ii+Ai(fj+1)Ai+1

推一下可以发现:

fi=j=i+1i+Aifj+Ai+1Ai

前缀和优化即可。

ABC 262 E(1719)

太 ahhoc 了!
设红色节点的度的贺为 S,红红之间边数为 R,红蓝边数为 D
易得:S=2R+D,发现 D 为偶,S 一定为偶。
这要求奇数度的节点的个数为偶。排列组合搞搞即可。
这东西得预处理阶乘逆元。

ABC 261 E(1261)

赛时又没做出来,下大分。。。。
按位求,预处理出从 1 到当前位置每一位的 0/1 会变成什么。复杂度 O(nlog{maxai})

ABC 261 F(1587)

原问题可以转化为逆序对的个数减去同色逆序对的个数,二位偏序问题,用树状数组维护,注意清空。

ABC 260 E(1692)

给定数轴上的 n 个二元组 (ai,bi),求不同长度包含 ai,bi 中至少一个的区间个数。

双指针。
穷举左端点,双指针快速求出对应的最近右端点。差分,快速统计个数。

ABC 260 F(1995)

给定一个 (S+T) 个点, m 条边的无向图,该图由两个节点数分别为 ST 的独立集组成,在图上找由四个节点组成的环(S3×105,T3000

考虑到 T 较小,用一个二位数组 M 表示 T 中的两点是否联通。

第一重循环穷举 S 上的节点,二三重循环穷举与 S 相连的 T 上的节点,快速找出有无第四个点与该两点同时相邻。其实就是暴力,复杂度看似会超,但仔细想想却发现是鸽巢原理。

ABC 259 E(1370)

只有当前数的质因数中有最高位,且唯一,对答案才有贡献。

ABC 258 E(1545)

非常锻炼的一道题。先像 ABC 167 D 一样把原问题转化为图上找环的问题。

xmodwi,将数组复制两遍,在数组上进行倍增。因为 x<wi,所以复制两遍原数组就应该足够了。每次位置如果 n 就模 n

但是坑点很多,调了好几天/kk,注意模之后要加回来。

ABC 257 E(1385)

比较有趣的贪心题。
考虑到位数越大数越大,我们先使位数最大,为 nminai
位数固定后我们从前往后尽可能使该位最大即可。

ABC 256 E(1224)

咕了好久,终于把坑填上了。
n 个点 n 条边,发现构成基环树森林。发现环上必有一条边不满足条件,故问题变成了找基环树森林环上的最小值加和。
实现用到并查集。

ABC 256 F(2067)

给定序列 Ai,设其前缀和为 Bi,其前缀和的前缀和为 Ci,其前缀和的前缀和的前缀和为 Di,修改 Ai,查询 Di

树状数组。
考虑 AiBx (ix) 的贡献为 1
考虑 AiCx (ix) 的贡献为 xi+1
考虑 AiDx (ix) 的贡献为 (xi+1)(xi+2)2

Di=i=1x(xi+1)(xi+2)2Ai

Di=(x+1)(x+2)2i=1xAi2x+32i=1xiAi+12i=1xi2Ai

用树状数组分别维护 Ai,iAi,i2Ai,复杂度 O((n+q)logn)

posted @   lnwhl  阅读(49)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示