ASFNU SC Day3

暑期训练第三天,学习基础算法。

比如:二分和三分,位运算,hash,博弈论等。

------算法模板------

坑放这,再填……

--------例题---------

坑放这,再填……

-------模拟赛-------

帅气的地址

A.CodeForces - 730C

  首先想到二分答案,这没话说……

  原来想的是bfs预处理,再暴力排序,结果是O(nq log^2 n)的,T了。

  但是其实只要先排序,跳着查,就能去掉一个log。

  我怎么就没想到呢……

B.CodeForces 626E

  以前做过,在这里,只是加了一个输出方案……

  结果发现前缀和和排序写混了,就GG了……

  后来还是A了就是了。

C.CodeForces 514C

  题解听懂了不会实现,自己yy了一个做法,卡常过了。

  就是对于每个字符串长度开一个map,暴力枚举修改哪个点,再放进去匹配。

  但是这样n很小的时候就T了,这时我们就需要调参,特判n<=x的情况。

  (我不明白为什么不哈希长度反而更快了……)

D.CodeForces 165E

  考虑记搜一个数关于(1<<22)-1的补集的子集,这样就能以O(2^22*22)的复杂度通过本题。

  实现也太简单了,不讲,这种题主要是思路。

E.HYSBZ - 1115

  7分钟切你信不信……

  以前做过了,按照两个两个分组,若先手取后面的,后手可把前面的取走相同的数。

  这样就转化成有n/2堆石子,石子数为组内两石柱高度之差的nim游戏了。

  直接异或就行。

附代码:以后有时间了再放。

posted @ 2018-06-27 23:15  臼邦庶民  阅读(97)  评论(0编辑  收藏  举报