【题解】牛客IOI周赛23-普及组

 A

读入的时候遍历检查一遍,看有多少个字符 s.

B

暴力模拟即可。即 i 从第 n 项到第 0 项,每次 。就可求出 f(x)。复杂度 O(nm)。

C

考虑倒推。如果当前最后一步向右走那么就相当于把这个字符插入到最前面,如果是向左走就相当于插入到最后面。直接用一个 deque 维护一下即可。

D

考虑按照 b_i 从小往大排序,考虑 dp_i 表示前 i 个数,第 i 个数必须选最多能选多少个。转移为:



考虑如何优化转移,我们维护mx[z]表示:



那么,



考虑 mx 和 dp 都可以在 的时间内求得。

考虑

所以时间复杂度是 O(nlogn) 的。
全部评论

相关推荐

码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 12:10
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务