CODEFORCES掉RATING记 #1

来源:互联网 发布:如何取淘宝店名 编辑:程序博客网 时间:2024/05/17 01:18

  时间:2017.7.16晚
  比赛:Educational Codeforces Round 25

  比赛开始前去睡觉了。。。开始后5min才起来
  一进去就点开AB,B先加载好,就先做了B。读完题后发现是傻题,给你一个 10×10 的五子棋盘,问你下一步后能不能赢。直接枚举+判断搞定。
  A的题面看了五分钟开始看不懂,就去闻了一下同学,题面是给你一个超级简单的密码,要你解密。这道题我想多了导致没有1A。
接下来去看D。给你两个字符串 st 都含有小写字母, s 中还含有’?’。’?’能表示任意字符。判断将两个字符串打乱后 t 最多能在 s 中出现多少次。二分答案+判断。
  然后是C,有 n 道题,如果你当前做的题最难是 s ,则你能做出难度 2×s 的题。你还可以做这 n 道题以外的题,难度任意。问你最少要做多少这 n 道题以外的题才能做出这 n 道题。直接排序+扫描。
  E:比赛时写了一个查分约束,但题面说求字典序最小的解,似乎(对于我这种蒟蒻来说)不太能做。结束后题解说按拓扑序从后往前考虑就可以了。当字典序要求最小的时候应该尽量把字典序打的往后放。一个点 i 放多少与 i 的祖先有关,所以按拓扑序考虑。
  F:很容易想到DP。我比赛时SB了。DP的方程为 fi=fj+a+|b| , 但我脑抽想成fi=fj+|a|+|b| 了,就认为在一些边界的处理上会有问题,就没有写。 n=8000 ,直接KMP或者其他方法乱搞即可。
  G:猜到是动态点分治了,但不想写,细节也写不好,就放弃了。题解有 O(n) 的神奇做法 。我们先把第一个黑点设为根,设 fi 表示 i 到根的点的编号的最小值。这个东西可以 O(n) 处理出。每次把一个点 x 染黑后可以发现 x 到根的点都能成为答案,用一个变量 s 维护这个东西。每次染色时暴力往上跳,遇到已经跳过的点就break。查询时 ans=min(s,fx)
  染色
  做完前4题大概是24:00,排名是240左右。结束时掉到rk300+了,今天早上又爬回rk240了。
  比赛时如果不SB的话应该可以做出EF,就能进前20啦。哪来的那么多如果

原创粉丝点击