CF1800-1900
CF1490G Old Floppy Drive
首先判断是否可以在第一圈就符合题意,记录前缀和
显然如果在第一圈就满足条件,就有
如果无解,就有
接下来就是循环多次的情况,二分一下走的圈数,对于二分出来的
对于一个符合条件的圈数
CF1494C 1D Sokoban
显然分开讨论正负箱子,首先考虑正数。
记录前缀和
接下来枚举每一个位置
显然位置
CF1495B Let's Go Hiking
显然两人选择坡长的山坡更优。
首先明确赢得比赛的两种方法:
其一是两人在不同的山坡移动,当 D 已经到达终点而无法移动时,Q 还未到达终点,那么 Q 胜利。
其二是两人在同一个山坡移动,Q 将 D 的路堵上了,那么 Q 胜利。
对于先手 Q,他首先选择了一个最长的坡,然后轮到 D。
第一种情况:如果剩下的坡长都小于 Q 选择的坡。
显然如果 D 选择与 Q 不同的坡,他会因为这条路短于 Q 的路而率先到达终点导致无法取胜。因此他会选择和 Q 选择同一条路去堵 Q。如果这条坡的长度为奇数,D 在坡底即可,如果是偶数,在坡底往上选一格即可。所以这种情况 Q 无法胜利。
接下来第二种情况:轮到 D 选择时,剩下的坡有与 Q 选择的坡长度相等的。
如果这两条坡没有连在一起,那么 D 显然会选择这条路,此时 D 会因为是后手而取得胜利。
显然如果有多条这样的坡,与上面同理,D 必胜。(同时也说明答案只会是
如果这两条坡连在一起,Q 在这两条最长坡的坡顶,显然这时 Q 想取胜只能去堵 D,当坡长为偶数时,Q 可以获胜。否则若为奇数 Q 会反被 D 堵住。
最后我们发现 Q 胜利的条件只有一个:有且仅有两条最长的坡,并且这两条坡连在一起且长度为偶数。
CF1512F Education
我们发现如果升到第
证明
假设要升到第
我们可以使用两个数组
得到公式:
于是我们可以求出升到第
CF1468J Road Reform
先做一遍最小生成树,如果最小生成树上有大于
如果最小生成树上所有的边都小于
CF1475D Cleaning the Phone
我们可以将体积为
枚举在第一堆选择的个数,再二分在第二堆满足条件的最小前缀。
最后取最小值即可。
CF1500A Going Home
这道题直接暴力枚举即可,因为
CF1509C The Sports Festival
显然我们应该将
那么容易想到改变后的
因此,先将
所以转移就是
CF1517D Explorer Space
首先当
由于走出
于是问题转化成了:从原点向外走
设
CF1525D Armchairs
从源点向每一个人连一条流量为
对于每一个
CF1535D Playoff Tournament
设
首先我们把题干中的标号重新排序,将原本的标号
当
当
当
最后
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现