摘要: A:对于每个B,会和其右边的每个W交换一次。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std 阅读全文
posted @ 2018-12-15 22:28 Gloid 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 显然集合后相对位置不变最优。主席树上二分向左和向右的分界点即可。注意主席树的值域。我怎么天天就写点一眼题啊。 阅读全文
posted @ 2018-12-15 17:03 Gloid 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 对于一个序列,重排后有序的概率显然是∏cnti!/n!,其中cnti为第i种数出现次数。要使概率最小,显然应该让各种数字尽量平均分配。剩下的是div2BC左右的大讨论。 阅读全文
posted @ 2018-12-15 15:47 Gloid 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 可以发现这个过程非常类似埃氏筛,将在该区间内没有约数的数定义为质数,那么也就是求每种方案中选完所有质数的最早时间之和。 于是先求出上述定义中的质数个数,线性筛即可。然后对每个最短时间求方案数,非常显然的组合数。最好特判一下l=1的情况,毕竟如果1作为质数会有奇怪的事。 我的线性筛……跑的几乎跟埃氏筛 阅读全文
posted @ 2018-12-15 14:43 Gloid 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 由裴蜀定理,子集S有解当且仅当gcd(S,P)|w。 一个显然的dp是设f[i][j]为前i个数gcd为j的选取方案。注意到这里的gcd一定是P的约数,所以状态数是n√P的。然后可以通过这个得到gcd是j约数的选取方案。复杂度O(n√PlogP)。 考虑优化。注意到每个数取gcd后的贡献仅与其和P的 阅读全文
posted @ 2018-12-15 13:59 Gloid 阅读(163) 评论(0) 推荐(0) 编辑