复盘
T1 很水,一道异或求和,但是某两位仁兄因没打括号而死。
T2 很水,一道字符串处理,但是我和某位仁兄因没特判而死(虽然没有 hack 掉我,所以我理论上还是满分)。
T3 不水,看了很久,没想出来,自闭了就去看了 T4。
发现也做不出来。
此时我出去晃了一圈,大概是不知道从哪里看到了一个“二”字,顿悟。
跑回教室打了一个二分套 dp,过了大样例就磕 T4。
时间剩的不多了,就打了一个 \(n^2\) 的 \(40\) 分暴力就交了。
- 预估:\(100 + 100 + 100 + 40 = 340\),非常爽!
- 实际:\(100 + 100 + 90 + 40 = 330\),还是非常爽!
优点
- 只挂了 \(10\) 分。
- T2 被 hack 了但是没挂分。
缺点
- 居然挂了 \(10\) 分?!
- T2 居然被 hack 了?!
题解
T1 异或
题意
一个长为 \(n\) 的数列,将其中一个数异或 \(k\),求更改后的最大和。
题解
按题意模拟即可。
不过位运算要打括号哦~
T2 数字转换
题意
对于一个数 \(n\),可以将每一位增加 \(1\) (无限次)或任意一位加 \(1\) (一次)
题解
模拟
T3 最优除法
题意
将一个数除以 \(i\) 的代价为 \(a_i\),求 \(x\) 变到小于 \(y\) 的最小代价。
题解
(思路来自 banned_xiejiayun,加上我的一些改编,侵删)
假设:
\[b_8 = 10^9
\]
\[b_4 = 10
\]
但是我们想要由 \(32\) 到 \(4\),此时不能直接除以 \(8\),可以除以两个 \(4\),用 \(20\) 来代替 \(10^9\) 的高昂代价。