
数学
数学
给我一瓶AC钙
是一颗萌菜没错了
展开
-
(2019沈阳网络赛) B. Dudu's maze (概率)
传送门解:比赛的时候思路跑偏了,看了题解才恍然大悟T Tcout的浮点数输出是真的麻烦呀#include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data))#define SZ(a) int((a).size(...原创 2019-09-15 10:37:36 · 435 阅读 · 0 评论 -
欧拉降幂模板
降幂公式:用大佬的Mod函数,就可以统统按第一种去考虑。大佬的证明下题是2019南京网络赛B最后求解的就是a^a^a.... 共b个a,%m的结果#include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data)...原创 2019-09-03 16:58:46 · 401 阅读 · 0 评论 -
(2019南京网络赛) B. super_log (欧拉降幂)
传送门第一次写欧拉降幂,菜鸡写的详细一些T_T题意:求最小的正整数 x,使得 loga∗(x)≥b解:先化简式子,求的是最小的x,不停的展开b次:,此时的x就是最小的x。看到这个式子的形式之后我们就可以欧拉降幂了;降幂公式:可以考虑降幂过程中去分类讨论,也可以采用大佬的Mod,直接只考虑第一种,大佬的证明。一层层的降幂,就是一个递归的过程:一层层往下递归,然后再...原创 2019-09-03 16:51:59 · 294 阅读 · 0 评论 -
(Nowcoder) J.Just Jump (动态规划+组合数+容斥)
传送门题意:L长的数轴,从0开始跳,每次可以跳>=d的距离,但是有m限制,就是ti时刻不得跳到pi处,求到L的方案数解:先不考虑m限制,dp很容易推出了,前缀和优化就是O(n)的。然后考虑限制减去,就是求出经过一次pi(限制处)再抵达L的方案数,这里我们很容易想到容斥定理,用容斥来求。官解:解释一下这个组合数,就是先pi先减去d*ti的最低限制,剩下的就是多余的部分,但是ti...原创 2019-08-11 15:48:44 · 230 阅读 · 0 评论 -
组合数的三种模板
常规组合数#include<bits/stdc++.h>using namespace std; typedef long long ll;ll C[2333][2333];const int MOD=1e9+7;int main() { for(int i=0; i<=2000; ++i) { C[i][0]=1; for...原创 2019-05-31 14:10:16 · 536 阅读 · 0 评论 -
(HDU) 6185 Covering (矩阵快速幂)
传送门题意:给你一个4*n的矩阵,然后用1*2和2*1的砖去把他铺满,求方案数。解题思路:这个无疑是推出一个递推式,但是由于n很大,所以必须要用矩阵快速幂,但是菜啊,不是多算就是少算了,这个大哥图文解说,还是自己的思维太差了啊。#include<bits/stdc++.h>#define il inline#define pb push_back#define f...原创 2019-05-17 21:06:19 · 265 阅读 · 0 评论 -
(CodeForces) C. Trailing Loves (or L'oeufs?)
视频题解戳我传送门题目大意:求n!在b进制下末尾有多少个0.解题思路:n!可以化成 ;k就代表了末尾0的个数,x不是b的倍数,即他的末尾不是0,每乘一个b相当于左移一位多一个0(就像2进制那样,都是一样的)。所以就是求n!总有多少个b,求出b的质因子,求出所有质因子在n!中的 个数/每一组b所需这个质因子个数 最少的那个( 质因子会重复,组成一个b可能需要多个相同的t ),那就是...原创 2019-02-11 20:24:29 · 581 阅读 · 0 评论 -
(Nowcoder) 牛客寒假算法基础集训营4 E Applese 涂颜色 (费马小定理)
视频讲解戳这传送门解题思路:很容易分析出每行只有两种涂法,每行又互不影响,所以就是求2^n % p,但是这里的n,m非常的大,不能直接求,这就需要费马小定理了,求a^n%p,当a与p互素时,a^(p-1) = 1 (%p情况下) ,所以我们只需要知道n%(p-1)为多少,求个2的取模快速幂就行了。#include<cstdio>#include<iostream&...原创 2019-01-31 14:30:20 · 192 阅读 · 0 评论 -
(Nowcoder) 牛客练习赛18 E 出题人的数组(数学)
视频题解戳这里紧张 就是调了一手bug 丧传送门 解题思路:直接单个考虑给答案的贡献,简单的将大的放前,直接归并是不对的,(比如A数组1,2222,2222,2222;B数组2,2,2,2),这个题目重新考虑是平均值的影响,直接戳视频吧。#include<bits/stdc++.h>using namespace std;typedef long long ll...原创 2019-01-19 21:16:15 · 282 阅读 · 0 评论 -
HDU 4704 Sum(隔板+费马小定理)
传送门 题意:输入一个N,将N拆分成1-n个数,问有多少种组成方法。思路:可以用隔板法考虑这个问题,有N个1,就有N-1个空隙,如果是拆分成1个数,那就是放0块隔板即C(N-1,0) (emmm不会打数学式子 ) 2个数字那就是C(N-1,1),以此类推到C(N-1,N-1);那要计算得结果就是 2^(N-1),但由于这个N有100000位,直接快速幂是不可能的,这时候就需要这道题...原创 2018-12-02 14:00:54 · 185 阅读 · 0 评论 -
HDU 5750 Dertouzos(数论)
传送门题意:在小于n的范围内,找出所有最大除数为d的数。思路:假设存在一个y满足题目条件,即y=k*d,那么我们可以分析出来 k一定为质数,而且k<=d,因为只有这样k才不能分解成两个大于1的数,如果一旦分成两个大于1的数a,b;那么a*d也是y的因子而且比d大了。既然这样的话,我们就可以通过素数筛预处理素数。枚举每一个素数和d的乘积是否满足,那何时终止呢?(素数存入V数组1...原创 2018-12-02 15:32:34 · 254 阅读 · 1 评论 -
HDU 3037 Saving Beans(隔板+组合数+lucas)
传送门题意:相当于n个数的和不超过m的方案数。思路:我们先考虑n个数和等于m的情况,即x1+x2+.......xn=m(允许xi为0)有多少种可能,我们可以想到隔板法,但由于允许0的出现,我们可以用1代表果子,有m个1,在加上n-1个0代表空,然后用n-1块隔板将其分成n份。即C(m+n-1,n-1),又C(m+n-1,n-1)=C(m+n-1,m),这代表着和为m的方案数。那我们可...原创 2018-12-02 17:11:10 · 194 阅读 · 0 评论 -
(Luogu) P1582 倒水 (简单数学)
传送门题目描述:一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水。接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子。每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃。(不能丢弃有水的瓶子)显然在某些情况下CC无法达到目标,比如N=3,K=1。此时CC会重新买一些新的瓶子(新瓶子容量无限,开始时有1升水),以到达目标。现在CC想...原创 2018-12-23 16:51:27 · 304 阅读 · 0 评论 -
(POJ) 3006 Dirichlet's Theorem on Arithmetic Progressions
传送门先用一下欧拉素数筛,然后直接暴力枚举就行了。#include<iostream>#include<algorithm>#include<cstdio>using namespace std;#define MAX 1000000+7int prime[MAX];bool is_prime[MAX+1];int solve(int n...原创 2018-12-10 14:23:17 · 166 阅读 · 1 评论