随笔分类 -  ---数论---

摘要:题目链接:hdu 1588 Gauss Fibonacci 题意: g(i)=k*i+b; f(0)=0f(1)=1f(n)=f(n-1)+f(n-2) (n>=2) 让你求:sum(f(g(i)))for 0<=i<n 题解: 这里用到二分等比求和 1 #include<bits/stdc++.h 阅读全文
posted @ 2017-02-17 14:31 bin_gege 阅读(179) 评论(0) 推荐(0)
摘要:题目链接:poj 2689 Prime Distance 题意: 给你一个很大的区间(区间差不超过100w),让你找出这个区间的相邻最大和最小的两对素数 题解: 正向去找这个区间的素数会超时,我们考虑逆向思维: 我们先用线性筛 筛出前50000的素数,在int范围内的区间的合数的因子都在我们之前筛出 阅读全文
posted @ 2016-12-21 20:54 bin_gege 阅读(203) 评论(0) 推荐(0)
摘要:题目链接:hdu 1299 Diophantus of Alexandria 题意: 给你一个n,让你找1/x+1/y=1/n的方案数。 题解: 对于这种数学题,一般都变变形,找找规律,通过打表我们可以发现这个答案只与这个数的因子有关。 n=a1^p1*a2^p2*...*an^pn ans=((1 阅读全文
posted @ 2016-12-21 19:47 bin_gege 阅读(266) 评论(0) 推荐(0)
摘要:题目链接:hdu 4342 History repeat itself 题意: 让你找第a个非完全平方数m,并且求前m个数的开方向下取整的和。 题解: 第一个问题: 假设第a个非平方数是X,X前面有n个平方数,则n*n<X<(n+1)*(n+1); n*n前面的非平方数的个数是n*n-n; 首先先根 阅读全文
posted @ 2016-12-20 20:30 bin_gege 阅读(138) 评论(0) 推荐(0)
摘要:题目链接:hdu 2824 The Euler function 题意: 让你求一段区间的欧拉函数值。 题解: 直接上板子。 推导过程: 定义:对于正整数n,φ(n)是小于或等于n的正整数中,与n互质的数的数目。 例如:φ(8)=4,因为1,3,5,7均和8互质。 性质:1.若p是质数,φ(p)=  阅读全文
posted @ 2016-12-20 19:31 bin_gege 阅读(286) 评论(0) 推荐(0)
摘要:题目链接:hdu 2588 GCD 题意:给定N,M(2<=N<=1000000000, 1<=M<=N), 求1<=X<=N 且gcd(X,N)>=M的个数。 解法:先找出N的约数x,并且gcd(x,N)>= M,结果为所有N/x的欧拉函数之和。 因为x是N的约数,所以gcd(x,N)=x >= 阅读全文
posted @ 2016-12-20 16:22 bin_gege 阅读(200) 评论(0) 推荐(0)
摘要:题目链接:hdu_5950_Recursive sequence 题意:递推求解:F(n) = 2*F(n-2) + F(n-1) + n4 和F(1) = a,F(2) = b; 题解: 一看数据范围,肯定矩阵加速递推,不过公式不是线性的,需要把公式转换为线性的公式 1 #include<bits 阅读全文
posted @ 2016-11-04 21:59 bin_gege 阅读(133) 评论(0) 推荐(0)
摘要:题目链接:hdu_5794_A Simple Chess 题意: 给你n,m,从(1,1)到(n,m),每次只能从左上到右下走日字路线,有k(<=100)的不能走的位置,问你有多少方案 题解: 画图可看到路线是一个杨辉三角的图,然后我们可以将对应的x,y转换到对应的点上,也可以吧杨辉三角看成一个平行 阅读全文
posted @ 2016-08-06 01:27 bin_gege 阅读(153) 评论(0) 推荐(0)
摘要:题目链接:hdu_5778_abs 题意: 给你一个数x,然你找一个y,这个y只能被素数分解,每一个素数恰好出现2次,求y-x的绝对值最小 题解: 给官方的 ps:数据太水,打35个素数也能过 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int 阅读全文
posted @ 2016-07-31 12:59 bin_gege 阅读(460) 评论(0) 推荐(0)
摘要:题目链接:hdu_5768_Lucky7 题意: 给你一个区间,问你这个区间内是7的倍数,并且满足%a[i]不等于w[i]的数的个数 乍一看以为是数位DP,仔细看看条件,发现要用中国剩余定理,然后容斥一下就出答案了,不过这里在中国剩余定理里面的乘法会有数据爆long long ,所有要写一个高精度乘 阅读全文
posted @ 2016-07-30 16:12 bin_gege 阅读(168) 评论(0) 推荐(0)
摘要:题目链接:hdu_2243_考研路茫茫——单词情结 题意: 让你求包含这些模式串并且长度不小于L的单词种类 题解: 这题是poj2788的升级版,没做过的强烈建议先做那题。 我们用poj2778的方法可以求出不包含这些单词的,然后算出全部种类数,相减就是答案 全部种类数的公式为f[n]=1 + 26 阅读全文
posted @ 2016-07-27 15:47 bin_gege 阅读(193) 评论(0) 推荐(0)
摘要:题目链接:poj_2778_DNA Sequence 题意: 有m个模式串,然后给你一个长度n,问你n长度的DNA序列有多少种不包含这m个模式串 题解: 这题显然要用AC自动机,将模式串的AC自动机建好后,再构建矩阵,矩阵的含义是自动机中0~tot的节点走一步到0~tot的节点的方案数,然后要走n步 阅读全文
posted @ 2016-07-27 13:16 bin_gege 阅读(133) 评论(0) 推荐(0)
摘要:题目连接:hdu_5750_Dertouzos 题意: 给你一个n,一个d,问你比n小的数中有多少个数的最大的因子为d,比如6有因子1 2 3 最大的为3 题解: 当时比赛做这题的时候没考虑常数的优化,过了初测,然后FST了,卧槽。。。 这题仔细观察就可以发现我们只需要找一个数s,s*d比n小,且s 阅读全文
posted @ 2016-07-24 00:41 bin_gege 阅读(148) 评论(0) 推荐(0)
摘要:题目连接:hdu_5616_Jam's balance 题意: 给你一些砝码,和一些要被称出的重量,如果这些砝码能称出来输出YES,否则输出NO 题解:我们想想,这题求组合方式,我们这里可以直接用母函数艹过去,这里我写的枚举子集的方式,其实就是母函数的形式 1 #include<cstdio> 2 阅读全文
posted @ 2016-07-16 23:30 bin_gege 阅读(120) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题意:解开第k个环需要先解开前(k-2)个环,并留有第(k-1)环。问解开n环最少需要几步。 题解: 设f(n)表示解开第n环。 1. 解开n环不能一下子把n-1全解开了,否则第n个就没法拿掉了。 阅读全文
posted @ 2016-06-05 23:06 bin_gege 阅读(225) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1709 题意:给你一些砝码,让你输出1—sum中不能称出的重量 题解:直接上母函数,在合并括号的时候有加有减,期中mu()为我自己写的模版,所以有点冗杂 1 #include<cstdio> 2 #inc 阅读全文
posted @ 2016-05-18 23:13 bin_gege 阅读(181) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4828 题意:中文,不解释 题解:实际就是一个卡特兰递推: Catalan(n+1)= Catalan(n)*(4*n+2)/(n+2)(mod M),求的时候要用逆元,这里我用筛法求逆元,用空间换时间, 阅读全文
posted @ 2016-05-17 20:08 bin_gege 阅读(141) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2110 题意:给你N个价值和数目,求方案数,很裸的母函数。 1 #include<cstdio> 2 int c1[4000],c2[4000],all,pi[110],mi[110],su,i,j,k; 阅读全文
posted @ 2016-05-07 12:09 bin_gege 阅读(124) 评论(0) 推荐(0)
摘要:注意这个是在网上收集的,减法有一个地方有错误,我已经修正,下面是修正后的大数模板 这个模板不支持负数 1 #include <iostream> 2 #include <stdio.h> 3 #include <algorithm> 4 #include <string.h> 5 using nam 阅读全文
posted @ 2016-04-29 20:34 bin_gege 阅读(272) 评论(0) 推荐(0)