A. 活着的证据
Solution
简单分类讨论:
- 如果
,位数很多,优先构造位数长的,直接先填充5,再填充1。
优先构造8,注意要维护
的值,如果满足大于等于3,说明可以放8(因为每填一个数字8,
减少1,
减少4),如果等于2,就放7,等于1就放6,最后肯定会退化成情况1,或者
,此时再讨论一下即可。
好像写的挺复杂的。。。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=48733831
B. 寻寻觅觅寻不到
Solution
字符串哈希,设给定的字符串为 ,长度为
,那么依据题意可以分成三段:
判断这三段都相等即可,直接枚举 做字符串哈希
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=48733830
C. 踩不出足迹
Solution
简单 ,设异或为
, 同或为
,
表示到了第
个位置时取异或的最大值,
表示到了第
个位置同或取得最大值,做转移即可,注意可能要开
? 我也不知道,反正开了不会错。
:发现自己做法属于误打误撞hhhh
实际上我们知道同或的意义是 后再异或
(k个),显然做两次同或后跟做了两次异或没有区别,所以比较显然的做法是维护一个异或和
,然后判断
即可,即做不做一次同或。
Code
dp:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=48734693
正解:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=48734909