摘要: /* 将原式化简,会发现最后只需要维护四个东西,分别是:Σx,Σy,Σx*y,Σx*x。 区间加的时候x和y都很容易, Σx*y=Σ(x+S)*(y+T)=Σx*y+S*Σy+T*Σx+len*S*T Σx*x=Σ(x+S)*(x+S)=Σx*x+2*S*Σx+len*S*S 区间修改的时候 Σ(i+S)*(i+T)=Σi*i+(S+T)*Σ... 阅读全文
posted @ 2017-04-13 21:19 karles~ 阅读(223) 评论(0) 推荐(0) 编辑
摘要: /* KMP+高斯消元 设N为未结束状态的概率。 假设用两个串TTH和HTT,设第一个获胜的概率是A,第二个人获胜的概率为B。 如果在N后面加上TTH,那么有三种可能。 NTTH=A+BTH+BH ,是什么意思呢?就是如果在N后面加入TTH,那么第一个人猜的序列出现在了硬币序列中,第一个人获胜,但是N是什么我们不清楚,但是有可能到达第一个T或者... 阅读全文
posted @ 2017-04-13 21:16 karles~ 阅读(223) 评论(0) 推荐(0) 编辑
摘要: /* 01分数规划,二分答案k,看是否存在方案使的(a1+a2+a3...)/(b1+b2+b3...)>=k。 即(a1-k*b1)+(a2-k*b2)+(a3-k*b3)...>=0,那么用费用流写就行了。 需要注意的是常数问题没需要用一点黑科技,比如把结构体改成数组。 */ #include #include #include #include #de... 阅读全文
posted @ 2017-04-13 21:15 karles~ 阅读(205) 评论(0) 推荐(0) 编辑
摘要: /* 先求出全部的再删去没有质数的,矩阵乘法随便转移一下。 f[i][j]表示选i个,总和%p=j的方案数。 */ #include #include #include #define N 110 #define M 20000010 #define lon long long #define mod 20170408 using namespace std; int n,m... 阅读全文
posted @ 2017-04-13 21:12 karles~ 阅读(201) 评论(0) 推荐(0) 编辑