CF/SRM的口胡记录

  感觉整体BZOJ做做丝毫没有前途,几个大爷都在淦SRM,我就来开个坑来口胡一波CF/SRM以便快速滚粗。(因为是口胡就不设计数器了,其实是我懒。

  【SRM645】Easy  按区间排排序直接扫一遍就可以了。

  【SRM645】Medium  如果每个点的方向向量相同那么就可能能够到达否则肯定不能。①如果偶数步,就是有两种向量的合成,我们可以用扩展gcd来判断是否可行。②如果是奇数步,就跑一步,然后按照①来做就可以了。

  【SRM645】Hard  感觉这个900pts的题目不难啊。容斥下转化成求一个集合S的每个点访问不超过1,那么这个问题可以继续容斥一下转化成刚好是1,然后很容易发现那个K步东西,我们用快速幂的姿势就能够解决了。这样复杂度好像是(O((N+logK)4^{n}))

  【SRM642】Easy  (O(ns))是显然的。。。我感觉会有简单的做法。。。好像标算给的就是这复杂度。。。

  【SRM642】Medium  感觉这个费用流不难,注意到每个device最多给一个tree用一次,那么就建三列点:物品、days、devices。这样搞一搞就可以了。

  【SRM642】Hard  令(f_{i,j,k})表示第i轮A的位置值为j,那么A+k的位置的期望是多少,这样只需要计算一个那个概率就可以了,这个概率也可以同样弄个东西递推一下。

  【SRM637】Easy  利用期望的线性性搞一搞。

  【SRM637】Medium  考虑(f_{i,S})表示前i个的左右状态为S的SG值,递推就可以了。  

  【SRM637】Haed  感觉自己的建模水平就小学差不多,这个可以转化成8-联通,这样就能转化成有没有两个不同的上下和左右路径了,这样我们枚举每个2*2,从这个出发能否有4个不同的到边界的不交路径就可以了。

  【SRM633】Easy  感觉只要到一个和不小于x的就可以了。

  【SRM633】Medium  感觉挺水的,假设一个x是在S中,那么就考虑把它周围的进行划分,显然这可以最小割,那么就是一个经典的建模。

  【SRM633】Hard  感觉这个1000pts也很显然。(lcm=prod {p_{k}^{max(q_{i},q_{j})}}),(gcd=prod{p_{k}^{min(q_{i},q_{j})}})。这样就意味着要对这些元素进行一个分配咯,我们只要检验这个能否被分配就可以使用2-SAT。