「模拟赛」多校 A 层联训 9
A. 排列最小生成树 (pmst)
大家都没签上的签到
调参调到 110 能过?!但赛时用 set 这个大常数选手存的边,挂了个 log,所以跑不动大样例。
正解:
发现只按把编号相邻的点连边构成一条链,此时所有边的长度都
那么我们只把边权
边权最多只有
B. 卡牌游戏 (cardgame)
签到
设
而这前
共有
对于
C. 比特跳跃 (jump)
二进制运算性质
发现其实是一题三做。
-
部分发现大部分数都可以做到答案为 0,只有在
的二进制表示全为 1 的时候特殊,这个时候除了 之外的为 0,把与 相关的边建上跑最短路求出的 为 n 的答案; -
部分将异或运算看成是每一位上相加但不进位,所以每次改变二进制表示下的一位再连边连向原数就好了
-
部分或的数越多,权值就越大,所以一个数只由 1 或者自己二进制下 1 的子集表示的数转移过来较优。
先把 1 连向每个点和那
条边跑一边最短路,然后对于每个数用它二进制下 1 的子集表示的数的权值更新自己,同样每次只改变二进制的一位。把当前每个数的权值作为边权存进 Dij 的堆里,再跑一遍最短路。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现