省选模拟73

A. 决战

  容易发现只要状压最后一行的状态就可以推出下一行的状态。

  然后预处理一下转移是否合法就行了。

  然而这并不是正解。

  正解的做法似乎是将dp看成一个多项式,然后用矩阵优化。并不是很懂。

B. gift

  显然的分数规划,二分一个值,然后就是在费用变成了k倍的情况下最大收益是否为0。

  发现贡献的形式就是两个同时选造成一定贡献,所以就是网络流最小割模型。

  然后直接跑就行了。

 

C. 质数

  考场上打了min25筛,然后发现也就能跑1e11左右,果然理论复杂度都是骗人的,实际运算次数比理论复杂度多了个10倍的常数。。。

  正解是考虑$2^{f(i)}$实际上就是$ [ij==n][gcd(i,j)==1]$的点对数,所以可以套个莫比乌斯反演上去。

  然后推一推式子就行了。复杂度最后是$n^(0.5)ln(n)$。

  

  

posted @ 2020-04-17 22:03  tdcp  阅读(107)  评论(0编辑  收藏  举报