传送门 组合数学好题. 题目要求输出的结果成功把概率转化成了种类数. 本来可以枚举统计最小值为iii时的概率. 现在只需要统计最小值为iii时的方案数,每一行有不少于iii个1的方案数. 显然一行选i个1的方案数为(mi)∗xm−i∗yi\binom {m} {i}*x^{m-i}*y^{i}(im​)∗xm−i∗yi 于是对于每一行分开考虑最后用快速幂合并就行了. 代码: #include<bits/stdc++.h> #define ll long long using namespace…
传送门 线段树好题啊. 题目要求的是sum−a−b−c+maxsum-a-b-c+maxsum−a−b−c+max{∣a+v∣+∣b+v∣+∣c+v∣|a+v|+|b+v|+|c+v|∣a+v∣+∣b+v∣+∣c+v∣}. 那么后面有几种情况: a+v+b+v+c+va+v+b+v+c+va+v+b+v+c+v a+v−b−v+c+va+v-b-v+c+va+v−b−v+c+v a+v+b+v−c−va+v+b+v-c-va+v+b+v−c−v −a−v+b+v+c+v-a-v+b+v+c+v−…
传送门 考虑到模数等于7 * 13 * 17 * 19. 那么只需要维护四棵线段树求出每个数处理之后模7,13,17,197,13,17,197,13,17,19的值再用crtcrtcrt合并就行了. (因为太懒不想写crt改用枚举求解水过) 代码…
传送门 一道挺不错的倍增. 其实就是处理出每个数连向的下一个数. 由于每个点只会出去一条边,所以倍增就可以了. 开始和zxyzxyzxy口胡了一波O(n+m)O(n+m)O(n+m)假算法,后来发现如果是mmm个自环就咕咕了. 哎还是太年轻了啊. 另外把ststst打成了hashhashhash以及没开longlonglong longlonglong都能过样例真是神奇. 代码…
题目链接:C. 痛苦的 01 矩阵 题目大意:原题说的很清楚了,不需要简化_(:з」∠)_ 题解:设\(r_i\)为第\(i\)行中0的个数,\(c_j\)为第\(j\)列中0的个数,\(f_{i,j}\)代表对应格子是否为0,则有\(cost(i,j)=r_i+c_j-f_{i,j}\),\((cost(i,j))^2=r_i^2+c_j^2+f_{i,j}+2r_ic_j-2f_{i,j}(r_i+c_j)\) $$\sum_{i=1}^n \sum_{j=1}^n \left( cost(…
传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单调递减且连续的. 所以后面的方法是1种. 考虑第111~i−1i-1i−1个位置. 显然放法数为∑j=1i−1f[j]\sum _{j=1} ^{i-1}f[j]∑j=1i−1​f[j] 又因为f[1]=1,f[i−1]=∑j−1i−2f[j]f[1]=1,f[i-1]=\sum _{j-1} ^{…
传送门 其实是一个裸的最优比率生成树. 注意精度的控制就行了. 代码…
传送门 T2原题啊. 直接组合数学求出合法方案数,再除去一个(n+m)!(n+m)!(n+m)!: ans=0(n<m)ans=0(n<m)ans=0(n<m) ans=n+1−mn+1(m≤n)ans=\frac {n+1-m} {n+1} (m\le n)ans=n+1n+1−m​(m≤n) 代码…
传送门 根据题目列出方程: fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi+1+fi)f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i+1}+f_i)fi​=pi​∗(fi−1​+fi−2​)+(1−pi​)∗(fi+1​+fi​) 但这会牵扯到iii之后的状态没法做. 因此考虑如果合成失败会变成一个等级为i−2i-2i−2的武器. 相当于消耗了一个等级为i−1i-1i−1的武器. 因此fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi−1+fi)f…
传送门 纯粹是为了熟悉板子. 然后发现自己手生了足足写了差不多25min而且输出的时候因为没开long longWA了三次还不知所云 代码…