当前位置: 首页 > news >正文

AtCoder Beginner Contest 431 题解

A

想让 \(x < y\) 变成 \(x \ge y\) 的最小 \(\Delta\) 当且仅当 \(x = y\) 取到,所以 \(\Delta = \max(0, y - x)\)

code

B

直接模拟,记 vs[x] 表示编号为 \(x\) 的部件是否被使用过即可。

code

C

贪心,最优的匹配方案一定是前 \(k\) 小的头部匹配前 \(k\) 大的身体,分别排序之后一一 check 是否能匹配即可。

code

D

记头部总重为 \(w_0\),身体总重为 \(w_1\),如果头部重量不超过身体,有 \(w_0 \le w_1 \Rightarrow 2w_0 \le w_0 + w_1 \Rightarrow 2w_0 \le \sum W_i \Rightarrow w_0 \le \dfrac{\sum W_i}{2}\)

即头部重量不超过总重的 \(\dfrac{1}{2}\)(这个结论其实易得,但是为了严谨还是给出说明了)。那么先贪心的把全部部件作为身体部件,然后尝试把部件移动到头部创造最大价值。具体来说,一个部件从身体移动到头部对答案的贡献是 \(-B_i + H_i\),那么我们直接令每个元素的价值为该值,做 01 背包,在 \([0, \dfrac{\sum W_i}{2}]\) 中取最大答案即可。

code

E

自然的想法是 dp,但是需要考虑后效性。不难看出这个图中重复到达一个状态一定是不优的,所以用喜欢的方法怎么做都行,注意到边权只有 \(0,1\) 所以直接 01bfs 复杂度就是 \(O(nm)\) 的,实现上有一点小技巧。

我令 \(0 \sim 3\) 分别表示上右下左,那么:

(令前后光束朝向分别为 \(k_1, k_2\)

  • \(k_1 \oplus k_2 = 2\),无法转移(没有镜像反射的可能)
  • \(s[nx][ny] = A\) 时,若 \(k_1 \oplus k_2 = 0\) 时边权为 \(0\),其余为 \(1\)
  • \(s[nx][ny] = B\) 时,若 \(k_1 \oplus k_2 = 3\) 时边权为 \(0\),其余为 \(1\)
  • \(s[nx][ny] = C\) 时,若 \(k_1 \oplus k_2 = 1\) 时边权为 \(0\),其余为 \(1\)

应该能避免一些复杂的写法。

code

F

赛时只会 \(O(n^2)\) 的做法,有点菜了。但是还是记录一下,如果假了请指正qwq。

考虑 \(x\) 后能接的点 \(x_2\) 满足 \(x - D \le x_2\) ,所以 \(x_2\) 的范围就是 \([x - D, +\infty)\),直接暴力连边,注意到可能出现环,缩点之后有 \(f_{u,k}\) 表示,到 \(u\)\(B\) 序列长度为 \(k\),转移简单,然后就是 \(O(n^2)\) 的了,不过肯定是没法过的。

考虑找性质,首先考虑 \(B\) 中相邻的 \(v_i,v_{i-1}\),肯定有 \(v_{i - 1} - D \le v_i\),所以 \(v_{i - 1} \le v_i + D\)。也就是,超过 \(v_i + D\) 的值不能放在 \(v_i\) 前,这启发我们排序之后按顺序插入。那么,我们每次插入一个 \(v\) 的方案,实际上跟 \(B\) 具体的样子没有关系,而只跟其中的数值有关系,因为我们升序插入,所以插在任意一个地方都满足 \(v_{i - 1} + D \le v_i\),那么要满足 \(v_i - D \le v_{i + 1}\) 的位置有 \(\sum^{v_i - 1}_{x = v_i - D}c_x+1\)\(c_x\) 表示 \(x\) 的数量)个。(\(+1\) 是因为可以放到序列末)

我们已经解决了没有重复元素时的问题,那么考虑当存在重复元素时,问题等价于要把 \(c_x\) 个小球放到上述那些位置中,那么答案为

\[\prod_{v=1}^{max(A)}\binom{\sum_{i=v-D}^{v}c_i}{c_v} \]

code

http://www.jsqmd.com/news/36257/

相关文章:

  • 2025年轻钢龙骨厂家权威推荐榜单:龙骨/卡式龙骨/隔墙龙骨源头厂家精选
  • 常见的跨网文件安全交换系统解析及应用指南
  • 摄影提示词
  • 2025年比较好的蛇形帘厂家推荐及采购参考
  • 2025年靠谱的高定全品类五金厂家最新权威实力榜
  • firewalld防火墙关闭后telnet仍然不通的原因
  • 2025年11月北京律师推荐排名榜:行业白皮书视角下的十位优质律师
  • 2025年质量好的冰雕施工厂家推荐及选择参考
  • 2025年北京生态原产地保护产品认证机构权威推荐榜单:生态原产地保护产品认证证书/生态原产地保护产品认证管理办法/生态原产地保护产品认证办理时长源头机构精选。
  • 如何用 Calibre 轉化爲 PDF
  • 2025年,别让技术文档再“沉睡”了!手把手教你搭建一个会思考的AI文档库
  • 2025年11月北京律师推荐榜:权威评测十家律所与律师服务排行
  • 2025年热门的东莞平板硫化机最新TOP厂家排名
  • 2025 年 11 月防腐木厂家推荐排行榜,防腐木地板,防腐木花架,防腐木凉亭,防腐木围栏,防腐木批发公司推荐
  • 实用指南:Linux内核架构浅谈38-Linux页表结构:四级页表(PGD、PUD、PMD、PTE)的实现解析
  • 完整教程:大数据背景下时序数据库选型指南:国产开源技术的突破与实践
  • 解锁高效协作:好用的跨网文件安全交换系统来袭!
  • 2025 年 AI、机器学习与数据工程趋势报告 - 公众号
  • 2025年知名的发泡小便器厂家最新热销排行
  • 2025年上海继承律师权威推荐榜单:离婚律所/房产律所/离婚事务所团队精选
  • 基础查找算法(二)顺序查找
  • PHP实战:CRMEB标准版配货单打印功能配置与使用教程
  • SWD访问DP和AP的区别。
  • 2025年知名的互感器TOP品牌厂家排行榜
  • 第十周:数字存储示波器的使用与拍频测量
  • 2025年上海离婚房产律所权威推荐榜单:婚姻律所/离婚事务所/继承律所团队精选
  • 2025年惠州小规模纳税人代理记账公司权威推荐榜单:财税分析/营业执照代办/财税风险规避源头公司精选
  • 构造做题记录
  • 2025年评价高的枕套面料最新TOP品牌厂家排行
  • 【URP】Unity[后处理]帕尼尼投影PaniniProjection