福建省队集训 20180707

福建省队集训 20180707

以下是流水账

collection

只有这个是题解

考虑最大流,物品作为流量在不同的人之间流动。那么一个物品一定是经过一系列时间递增的边到1号的手中。交换的建图很容易想到

统计答案:

  1. 先让1号留一个自己的(很显然),并且不考虑1给其他人自己的,其他的人只考虑第一个在什么时候流到1,初始流量为1。
  2. 要交换到1的边不直接连到1的下一层,因为再拿这个去交换其他的不如直接拿1自己的去换,直接连到T
  3. 注意1最多只有a1个,再由T向TT连流量为a1-1的边。
  4. 注意同一时间只能有ai个在i点。
  5. 交换不对称的情况当成是没统计的那些点在换。

“大”样例一遍过了 这大概就是学OI的快乐吧

count

不会...

根号分治可以迫真n根号k O(n+k),因为对于<根号k的本质不同的转移只有根号个,然后相同的归一下类

正解:

(f(i, j)) 表示之后选的乘积不超过 (i,) 只考虑小等于j的数的方案数 若j (leq sqrt{i},) 暴力转移到(fleft(left|frac{i}{j} ight|, j-1 ight), quad fleft(left|frac{i}{j^{2}} ight|, j-1 ight))
(j>sqrt{i}),由于$j>frac{i}{j}, fleft(leftlfloorfrac{i}{j} ight floor, j-1 ight) $ 相当于 $ fleft(leftlfloorfrac{i}{j} ight floor,leftlfloorfrac{i}{j} ight floor ight)
$
分每种| $leftlfloorfrac{i}{j} ight floor $考虑(只有 (O(sqrt{i})) 种),每个这样的j会让方案数加上 $ fleft( leftlfloorfrac{i}{j} ight floor,leftlfloorfrac{i}{j} ight floor ight)$ 用前缀和可以算出有多少个这样的j 暴力转移时可能要计算一个f(i,j)的值,动态算就可以了
(i) 只要考虑 (leftlfloorfrac{k}{x} ight floor) 的各种情况即可,类似洲阁师,这个做法的时间复杂度为(O(n+k^{frac 3 4}))

NPIO十合一

提答题,感觉很妙。

题解里有以下操作:

  1. char存1e9数组卡内存
  2. 分段桶排/快排
  3. 拆数字+拆数组NTT
  4. n个char+(n/256)个int存size
  5. 提答题の暴力+期望复杂度
  6. bitset随便A
  7. 暴力猜+simulator验证

玄学的东西

原文地址:https://www.cnblogs.com/lcyfrog/p/13035825.html