推公式
文章平均质量分 90
Frozen_Guardian
已退役菜鸡Acmer
展开
-
2021牛客多校9 - Cells(推公式+NTT)
题目链接:点击查看题目大意:初始时给出 nnn 个点,分别为 {(0,a0),(0,a1),⋯ ,(0,an)}\{(0,a_0),(0,a_1),\cdots,(0,a_n)\}{(0,a0),(0,a1),⋯,(0,an)},每次可以向下走或向左走,问到达点 {(1,0),(2,0),⋯ ,(n,0)}\{(1,0),(2,0),\cdots,(n,0)\}{(1,0),(2,0),⋯,(n,0)} 且路径不相交的方案数题目分析:有向图路径不相交方案数问题,考虑 LGVLGVLGV 定理,实质原创 2021-08-18 12:45:54 · 304 阅读 · 0 评论 -
洛谷 - P4062 [Code+#1]Yazid 的新生舞会(推公式+线段树)
题目链接:点击查看题目大意:给出一个长度为 nnn 的序列,现在要求存在 绝对众数 的子区间个数所谓 绝对众数,就是对于区间 [l,r][l,r][l,r] 来说,存在一个数字的出现次数 cntcntcnt,满足不等式 cnt∗2>r−l+1cnt*2>r-l+1cnt∗2>r−l+1题目分析:假如字符集很小,我们可以对每个字符集单独讨论,即枚举每个字符作为众数,判断合法的区间个数。如何判断?设置一个辅助数组 bbb,若原数组的 iii 位置是该字符,则令 b[i]=1b[i]=1b原创 2021-08-04 00:07:41 · 274 阅读 · 0 评论 -
CodeForces - 1523E Crypto Lights(组合数学+推公式)
题目链接:点击查看题目大意:给出 nnn 个初始时熄灭的灯泡,每次操作会等概率打开一个灯泡,当每 kkk 个连续的灯泡中出现了大于一个亮着的灯泡时停止操作,问期望操作次数是多少题目分析:组合数学题留给队友补了,只是想解释一下这个模型,转换的过程借用洛谷大牛的题解了(侵权删)主要是想讲一下最后这个 “经典模型” ,其中 PiP_iPi 为操作 iii 次后,还没有结束的方案数。可以这样考虑,因为任意两个灯泡之间需要间隔为 kkk,所以放 iii 个灯泡两两之间需要有 i−1i-1i−1 个隔板隔开,而原创 2021-06-04 10:47:41 · 301 阅读 · 0 评论 -
CodeForces - 830C Bamboo Partition(数学+推公式)
题目链接:点击查看题目大意:给出 nnn 个位置可以种竹子,每个位置的竹子的高度需要到达 aia_iai,所有竹子每天都会长高一个单位高度,同样每个竹子可以在任意位置砍一次,砍过之后竹子将不再长高,现在需要每隔 ddd 天来砍一次竹子,问在保证砍下来的总高度小于等于 kkk 的前提下,ddd 的最大值是多少题目分析:首先不难看出,在 ddd 确定的前提下,所有竹子都应该长到 ddd 的一个整数倍,写成公式的形式如下:∑i=1n(d∗⌈aid⌉−ai)≤k⇒∑i=1n(d∗⌈aid⌉)≤k+∑i=1n原创 2020-12-25 17:06:17 · 214 阅读 · 0 评论 -
CodeForces - 1465E Poman Numbers(推公式+贪心)
题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串,每个字符串实质上代表一个数字,例如:a=20,b=21,⋯,z=225a=2^0,b=2^1,\cdots,z=2^{25}a=20,b=21,⋯,z=225,现在需要寻找一种递归顺序,使得每个位置非负即正,递归规则如下:f(S)=−f(S[1,m])+f(S[m+1,∣S∣])f(S) = -f(S[1, m]) + f(S[m + 1, |S|])f(S)=−f(S[1,m])+f(S[m+1,∣S∣])其中 mmm 是 [l,r]原创 2020-12-22 22:36:31 · 338 阅读 · 0 评论 -
CodeForces - 1459C Row GCD(数论+推公式)
题目链接:点击查看题目大意:给出一个长度为 nnn 的数组 aaa,再给出一个长度为 mmm 的数组 bbb,现在要求输出,当 j=1,2,...,mj = 1,2,...,mj=1,2,...,m 时的答案:gcd(a1+bj,a2+bj,...,an+bj)gcd(a_1+b_j,a_2+b_j,...,a_n+b_j)gcd(a1+bj,a2+bj,...,an+bj)题目分析:一个公式 gcd(x,y)=gcd(x,x−y)gcd(x,y)=gcd(x,x-y)gcd(x,y)=gc原创 2020-12-20 13:54:01 · 348 阅读 · 0 评论 -
CodeForces - 466C Number of Ways(推公式/dp)
题目链接:点击查看题目大意:给出一个长度为 n 的数列,现在要求出满足条件的 ( i , j ) 的匹配数量,满足:题目分析:训练时推的公式,简单说一下吧,维护前缀和 sum,则确定两个断点 ( i , j ) 后可以确定下来三个区间:sum[ i - 1 ] sum[ j] - sum[ i - 1 ] sum[ n ] - sum[ j ]因为需要三段区间的权值和连等,根据等式的传递性,我们可以让前两项相等,再让后两项相等,最后不难推出三项连等,建立等式:前两项相等:sum[ i.原创 2020-12-08 22:17:25 · 349 阅读 · 4 评论 -
牛客多校6 - Binary Vector(组合数学+推公式)
题目链接:点击查看题目大意:给出一个 n * n 的 01 矩阵,求满秩的概率题目分析:首先公式是:稍微解释一下吧,将 n * n 的矩阵视为 n 个长度为 n 的向量,对于每一个长度为 n 的向量,都有 2^n 种情况,因为要求 n 个向量线性独立,所以我们依次讨论:对于第一个向量来说,只需要至少有一个位置为 1 即可,即全部为 0 的情况不满足条件,此时满足条件的情况为 对于第二个向量来说,需要满足的条件是,不能全部为 0 ,且不能被第一个向量所表示,此时满足条件的情况为 对于第三个原创 2020-07-28 02:03:59 · 818 阅读 · 4 评论 -
牛客 - Sumo and Easy Sum(推公式+数学)
题目链接:点击查看题目大意:给出约束关系如下:求出对于每个 K 的 n 趋近于正无穷时 Sn的取值题目分析:涉及到的数学知识是初等数学的裂项相消法和高等数学的极限代码:#include<iostream>#include<cstdio>#include<string>#include<ctime>#include<cmath>#include<cstring>#include<alg..原创 2020-06-06 23:10:36 · 283 阅读 · 0 评论 -
牛客 - 斐波那契和(杜教BM)
题目链接:点击查看题目大意:中文题意,不难理解题目分析:正解是需要给原函数求导,用矩阵快速幂求出导函数差分后的值,再推出原函数的值(我是没看懂,毕竟是防ak的题),但后来lb学长来问我能不能用BM做,我一脸疑惑:什么是BM?去学了一波黑科技后,发现可以用BM导入前500项然后水过去。。我就说为什么这个题比赛的时候过的人数那么多代码:#include <cstdio>#include <cstring>#include <cmath>#inclu.原创 2020-05-10 19:02:53 · 292 阅读 · 0 评论 -
杜教BM模板
找规律的黑科技用法:先在vector a中放上线性数列的前几项,就可以很快递推出任一项注意:可以取模,但模数必须为质数 必须为线性方程模板:#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>#include <string>#include <map>#includ原创 2020-05-10 18:52:55 · 349 阅读 · 0 评论 -
2018宁夏邀请赛 - Copy and Submit II(推公式)
题目链接:点击查看题目大意:给出一段程序,你可以选择直接提交,也可以不直接提交题目分析:挺好玩的一个题,内存只给了512K,如果直接提交原代码,数组都开不出来,更别说递归了,这个题显然不能用记忆化搜索(数组开不了),也不能用递归(n太大,时间不够用),所以我们应该往递推方面去思考,如果直接以k开始往下展开,会很抽象,我们可以以具体的实例来展开试试:写三个具体的实例再提取公因...原创 2019-09-05 17:06:00 · 138 阅读 · 0 评论 -
2019ICPC(银川) - Take Your Seat(概率公式)
题目链接:点击查看题目大意:朵哈要坐飞机去旅游,出发的时候包括朵哈在内一共有n个人要上飞机,这班飞机有n个座位,第i个人的座位号是i,朵哈的座位号是1。现在n个人按照座位号是从1到n的顺序上飞机,但朵哈忘了自己的座位,于是她就等概率随机选了一个位置坐下了,而其余人都记得自己的位置,如果他们中的一个人上飞机之后发现自己的位置被占了,则会在剩下的位置中等概率随机选一个坐下,如果没被占,则会直接...原创 2019-08-31 20:30:46 · 583 阅读 · 0 评论 -
HDU - 5451 Best Solver(循环群+矩阵快速幂)
题目链接:点击查看题目大意:给定x和M,已知求%M题目解析:这种公式题在之前已经证明过做法,详见:点击查看这道题与hdu4565的不同之处就是,这里的n=给的特别的大,而且M不确定,所以没法用费马小定理降幂去做但从网上看大牛的解析知道,原来这个题是有循环群的,只要先找到()的一个循环群,就可以将()变到可以处理的范围内了,剩下的做法就和hdu4565一个样了对了记得...原创 2019-07-27 19:53:11 · 240 阅读 · 0 评论 -
HDU - 4565 So Easy!(共轭构造+推公式+矩阵快速幂)
题目链接:点击查看题意:给出a,b,m,n,求解析:题意一目了然,此题的关键是推出解决问题的公式。首先,题目要求括号内n次方后向上取整再模m,而这里给到的a与b的关系接下来也会用到:<b<我们按照共轭构造的形式,构造出=,=再设=+,由于共轭的性质,易知为整数,又因为<b<,得到0<<1,所以0<<1,题目中要求的向上取整所得...原创 2019-07-27 18:29:09 · 340 阅读 · 0 评论 -
HDU - 6185 Covering(暴搜+递推+矩阵快速幂/杜教BM)
题目链接:点击查看题目大意:规定宽度为4,给定长度为n,求用1*2和2*1的瓷砖,将其完全铺满能有多少种方法。分析:自从学会了矩阵快速幂之后,看到1e18的数据量都会下意识的往递推上面想,但是以前都是因为找不到规律而止步不前。今天看到了一个大佬的博客之后,学会了一个新的方法,这个方法学长上课也讲了,如果按照正规做法的话应该用高斯消元法求递推式,但是相应的,用暴力的手法也能硬凑出递推关系式:...原创 2019-07-27 09:13:28 · 331 阅读 · 0 评论 -
HDU - 5459 Jesus Is Here(思维+非线性递推)
题目链接:点击查看题意:字符串S仅由'c'和'f'组成,满足S[i]=S[i-1]+S[i-2],求每两个c之间的距离之和。解析:题目不难懂,主要是这是一个非线性递推,因为刚学会了暴力求解线性方程的系数,所以迫不及待的暴力求出了前10项的值,然后套用for循环来求系数,当然结果就是白白浪费了时间。当然,既然字符串S满足斐波那契数列的规律,那么我们也可以从这里入手,大胆假设结果与前两项有...原创 2019-07-27 13:32:51 · 271 阅读 · 0 评论