A. 数字游戏
Solution
显然每次要么翻转最高位的1,要么把最后位置取反改变1的奇偶性,枚举一下即可。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260210
B. 跳跳跳
Solution
区间dp, 令 表示 经过一系列跳跃后的最优值,因为区间长度为 的话代表我们跳第 次,显然有
由于是环形,需要扩展成 的序列。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49331799
C. 数字匹配
Solution
考虑数据范围,显然可以先预处理出一个表记录串 中长度为 的所有子串(可以直接用数字存储),那么直接暴力枚举串 的长度为 子串是否在这个表中即可。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49277751
D. 优美字符串
Solution
不难看出要让任意相邻字符都不相等,只需要统计每个连续相同的子段,他们的长度为 ,贡献就为 ,最后记得加上原来的长度。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260214
E. 分组
Solution
人数最多的小组的人尽可能少, 经典二分题目, 考虑二分答案,让每个组尽可能均匀分配即可。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260213
F. 过桥
Solution
考虑 ,因为 为负相当于折返跑没有意义,只考虑 的情况,暴力做转移即可。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260215
G. 空调遥控
Solution
直接树状数组统计所有符合情况的即可
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260211
H. 来点gcd
Solution
考虑到每个数字只需要判断1次,并且所有 为 的候选只会在 的倍数里出现,所以可以在调和级数的复杂度 下遍历所有倍数,对所有倍数取 判断能否达到目标值即可。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49277226
I. 体操队形
Solution
数据量很小,可以直接找全排列,验证即可。因为 ,因此, 完全可以接受。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49260216