AtCoder Beginner Contest 245
A - Good morning
输入输出。
B - Mex
用个数组标记是否出现过,然后遍历一遍就能知道答案。
C - Choose Elements
可以动态规划。
表示前个元素,结尾元素为的状态是否可达, 其中表示结尾是,表示结尾为。
显然都可达,然后可以很简单的从转移算出:枚举当前的结尾元素,枚举前一位的结尾元素,若二者差的绝对值小于则可以转移。
看是否包含可达状态即可。
D - Polynomial division
多项式除法,就竖式除法模拟一下。
E - Wrapping Chocolate
贪心。
对于所有巧克力和盒子,按宽为第一关键字降序排序。
枚举巧克力,把所有宽度大于它的盒子加入候选。
现在候选中每一个盒子的宽度都比当前巧克力大,只需要长度再比他大即可。
然后由于候选中的宽度都是满足条件的,现在长度更珍贵,所以就贪心地选候选中长度条件满足且最小的那个。
F - Endless Walk
拓扑排序。
拓扑排序中环不会被遍历到,而环能走到的点会由于环这个前置条件没有满足而不会被遍历到,而其余点的前置条件都回逐渐被满足然后遍历到。
但是题目要的是能走到环的点,所以就在反图上搞,在反图上搞就是能走到环的点了。
存图的反图,然后拓扑排序,没有入过队的点均为答案。
G - Foreign Friends
最短路。
首先,设置一个虚拟源点,往所有popular连边长为0的边,这样点到虚拟源点的最短路就是到popular的最短距离。
然后,还要求说国籍要不同,所以再入队时可以标记一下路径的类型为国籍,并且传递下去,这样就可以知道枚举到的路径最终是到哪一个国籍的popular了。
但是这样复杂度还是会比较高,不过因为只要求国籍不同,所以维护最短和次短两个不同类型的最短路就可以了。
然后如果最短路的类型是不同国籍的,就直接用最短;不然就切换到次短。
Ex - Product Modulo 2
数数好难啊,专门写一篇题解吧,传送门
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)