2020-2021 Winter Petrozavodsk Camp, Day 5 Almost Retired Dandelion Contest
写个暴力过了某题,完成绝杀。
感觉实际水平还是不够。
[A Assignment Problem]
solution
题面:
做法:猜一猜就知道肯定暴力一个个选过来都是有可能的( 就是每次选最大的,按某种属性顺序 ),证明也很容易,反证一下,如果不是,那就必然有一个是冲突的。然后选择那个冲突的,前面一路退回去,则一定更劣,所以证毕。
然后咋办捏,我直接写了个大暴力,就是枚举了排列,一个个找就过了。时间复杂度
[B Lockout vs tourist]
solution
题面:你和 tourist 一起比赛做题,每道题有不同的分值,你们两个每轮同时决策做哪道题,如果选择相同的题目,那么你不得分,比赛继续进行,如果选择了不同的题目,那么你能拿下你选择的这道题的全部分数,比赛结束,tourist 想让你得分最少,你想让得分最多,问在双方均采取最优决策的情况下你的期望得分。
做法:
[C Multiple?]
solution
题面:求一个值域在
做法:打了个表,不会证,直接猜答案是
[D Output Limit Exceeded]
solution
题面:
做法:
[E Smol Vertex Cover]
solution
题面:
做法:
[F Thanks to MikeMirzayanov]
solution
题面:
做法:
[G Remove the Prime]
solution
题面:
做法:对每一维质数来看这个游戏,那就是一个个区间段,每次区间减一。归纳法可以证明每个区间的
[H Excluded Min]
solution
题面:
做法:
[I Trade]
solution
题面:
数据特殊性:每件商品所会升的价格不同。
做法:肯定是升值越大的越先买,然后
[J Increasing or Decreasing]
solution
题面:两个长度为
做法:
发现这个过程每次的升序部分都有点蠢,可以证明对应位置的数要么是最小要么是最大,所以不用升序了,每次直接看看是最大还是最小就好了。
时间复杂度
这题倒是可以看下代码,不然不太好讲清楚。
1 | const int N=500+10; |
[K Rectangle Painting]
solution
题面:
做法:
[L Extreme Wealth]
solution
题面:开局一块钱,你知道接下来
做法:一共就只有
[M Discrete Logarithm is a Joke]
solution
题面:
做法:看到我写的这题面是不是就不会啦。哈哈。
这题恶心的地方就是,他直接偷偷在样例里告诉你最后一个