[原创]Codeforces Round #401 (Div. 2) 【结题报告】
2017-03-27 00:47:49 Tabris_ 阅读数:300
博客爬取于 2020-06-14 22:41:05
以下为正文
版权声明:本文为 Tabris 原创文章,未经博主允许不得私自转载。
https://blog.csdn.net/qq_33184171/article/details/66652353
总结下,
看题慢,读错题,代码能力渣,思维不敏捷,菜的一逼。
Shell Game
————————————————————————————————————————————
傻逼题,,
明确题意
枚举下所有情况 就能 AC 了。。
1 | int main(){ |
Game of Credit Cards
————————————————————————————————————————————
贪心题
先对两个序列排序,
对于两个问题要分开考虑,
但是大同小异 ,
第一个就是尽量抗伤害
第二个就是尽量输出,类似田忌赛马
1 | # include <bits/stdc++.h> |
Alyona and Spreadsheet
————————————————————————————————————————————
给你一个 N*M 的方阵,每个方阵有一个值,有 Q 次询问,
问你第 x 行到第 y 行中存不存在一列是单调不减的 存在 yes 否则 no
其实很简单,我预处理出来到每一行的最长的那个列就好了,
然后询问的时候就能做到 O(1)
详看代码吧
1 | # include <bits/stdc++.h> |
Cloud of Hashtags
————————————————————————————————————————————
给你一堆字符串 对于每个字符串只能删除后缀, 删除最少的字符 使得这些字符串字典序单调不减
正着考虑 很明显 无法解决,
但是因为只能删后缀,那么从后向前考虑就没有问题了
只要使得 s[i-1]的字典序依次小于 s[i]就行了
自己的代码太丑了
献上巨巨优美的代码
1 | # include <bits/stdc++.h> |
Hanoi Factory
————————————————————————————————————————————
给你一堆圆圈,有内半径和外半径 还有厚度,,现在让你将其摞在一起 ,
外半径大的不能再外半径小的上面,
不能从内半径中掉出去
问你能摞成的厚度最大是多少
很简单,先对外半径升序排相等的使内半径升序
然后从前开始找,能摞在这个圆圈上的厚度最大的为多少,
维护个最大值就行了
用线段树维护半径就行了,注意要离散化。
(后看到有人使用树状数组维护的因为维护的是前缀最大,所以没毛病,当时可能脑袋有点浑,并没有看太清晰就写了。。
1 | # include <bits/stdc++.h> |


