- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 数论-HDU1852
https://vj.xtuacm.cf/contest/view.action?cid=59#problem/A 这道题目求2008^n的方法要记住 详细讲解参考:http://blog.csdn.net/s_black/article/details/51581709这道题和HDU1452类似。题意:给你一个n、k,让你求2008^n所有因子的和(包括1和本身)%k,得到m,然后输出2008
2017-07-29 12:38:07 208
原创 暴力脑洞-CSU1803
https://vjudge.net/contest/173678#problem/Ax,y分别对2016取余,如果x*y 是2016的倍数的话,那么(2016*k + x)*y也是2016的倍数。所以只需要统计这n个数之内,对2016取余后的数所出现的次数就可以了。分两部分统计:1.对于1~2016*k(k>=1)的数来说,2016的每个余数都已经出现了k遍,所以每个余数的出现次数都+k;2.对于
2017-07-28 10:23:54 185
原创 欧拉函数-LightOJ1007
https://vj.xtuacm.cf/contest/view.action?cid=86#problem/E 这个题目用java大数写的时候TLE,有时候java大数并不一定可以过即使时间复杂度可以 后来用c++高精度写,超内存 最后明白用unsigned long long可以过,在做题时如果超longlong可以用unsigned long long试试。 代码一用一个数组的方式存
2017-07-26 19:12:35 224
原创 不互质的中国剩余定理-HDU1573
https://vj.xtuacm.cf/contest/view.action?cid=86#problem/C 不互质的中国剩余定理模板,有些细节需要注意 在中国剩余定理中如果没有解会返回-1 另外题目要求是正整数,最后有一些小技巧#include<iostream>#include<cstdio>#include<cstring>#define ll long longusing
2017-07-26 18:57:15 247
原创 欧拉函数+容斥原理-HDU1695
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/O这题要转换成求两个区间内互斥的数 有多少对 并且不重复 题目大意:求1到b内x,1到d内y,gcd(x,y)= k 的对数,二元组无序,要求不重复 x和y的最大公约数都是k,也就是说x,y都是k的倍数,b /= k , d /= k 得到新的区间,需要找到新区间的中互质的对数,要求不
2017-07-24 18:29:46 292
原创 极其快速的筛法+费马定理-cf114E
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/Pbiset参考资料:http://www.cnblogs.com/boloyonghao/archive/2012/07/12/2588599.html 使用bitset之后筛法速度更快节省了空间时间 可以再亿级范围内使用 头文件:#include<bisset>using std:
2017-07-24 16:42:33 684
原创 欧拉函数 POJ2480
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/Q 这体重求欧拉数的方式很好 *首先看什么是欧拉函数: 思路:首先假设n有一个约数d,那么怎样计算出1~n中最大公约数为d的个数呢?很显然,这个个数实质上是等于fin(n/d)(其中先用fin代表欧拉函数),想到这里的话,基本上就确定了策略,我们先枚举出n的所有约数,然后求出每一个的
2017-07-24 15:14:58 273
原创 卡特兰数+逆元-HDU4828
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/J 逆元是模板#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <queue>#define ll long longusing namespace std;cons
2017-07-23 14:18:01 214
原创 线性方法求欧拉数-POJ2478
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/I1.当需要求1到N的欧拉数之和时用线性方法(本题) 2.当需要求单个欧拉数但数据很大用标准方法求 例如:https://vj.xtuacm.cf/contest/view.action?cid=57#problem/H线性的方法求欧拉数代码(模板):#include<stdio.h>
2017-07-22 19:58:03 629
原创 中国剩余定理(不互质的情况)-HDU3579
https://vjudge.net/problem/HDU-3579 套模板 先可以先找两个同余方程 设通解为N;N=r1(mod(m1)),N=r2(mod(m2));显然可以化为k1*m1+r1=k2*m2+r2;—>k1*m1+(-k2*m2)=r2-r1;设a=m1,b=m2,x=k1,y=(-k2),c=r2-r1方程可写为ax+by=c;由欧几里得解得x即可,那么将x化为原方程的
2017-07-22 16:26:43 561
原创 中国剩余定理
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/B 这题目除数互质,裸的模板#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cstring>#include <vector
2017-07-22 16:08:53 200
原创 二分+容斥原理-HDU3388
http://acm.hdu.edu.cn/showproblem.php?pid=3388 从1到1e18二分查找,然后进行容斥原理计算 容斥原理在运用的时候要结合题意,有可能不是计算lcm 注意容斥原理的灵活运用#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstr
2017-07-19 12:30:47 255
原创 容斥原理+质因数分解-HDU4135
https://vjudge.net/problem/HDU-4135掌握质因数分解和容斥原理的应用#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;typedef long long ll;const int inf=10056;const int m
2017-07-18 18:00:55 326
原创 容斥原理(枚举二进制)-HDU1796(重)
https://vjudge.net/problem/HDU-1796 给定一个包括m个数的集合,数不超过20,问有多少个#include <iostream>#include <cstdio>using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int maxn=25;ll num[maxn];
2017-07-18 10:07:26 233
原创 N很大情况下的Fibonacci前四位-HDU1568(重要)
http://acm.hdu.edu.cn/showproblem.php?pid=1568 参考博客:http://www.cnblogs.com/Yu2012/archive/2011/10/09/2199156.html (很重要) http://blog.csdn.net/lvshubao1314/article/details/38013897 #include <iost
2017-07-16 17:45:14 169
原创 矩阵快速幂-POJ3070(重)
简单的矩阵快速幂题目 https://vjudge.net/problem/POJ-3070 #include <iostream>#include <cstdio>using namespace std;const int mod=10000;struct matrix{ int m[2][2];}ans,base;matrix multi(matrix a,matrix
2017-07-16 17:18:13 208
原创 数学- 找规律 HDU3054
*HDU3054 强调内容http://acm.hdu.edu.cn/showproblem.php?pid=3054* 类似数据量很大 没思路的题目可以先打表找规律 先通过打表输出找到规律,然后根据规律解题 运行完打表代码之后会发现1,3,4,5,6,7,……都是到第9个数增量是有一个变化!而2是到第4个数增量有了变化! 打表代码: #include <iostream>
2017-07-16 14:41:04 264
原创 使用大数的基础dp
https://vj.xtuacm.cf/contest/view.action?cid=63#problem/I 注意大数的使用方法 以及将二维状态方程变成一维#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxn=1005;lon
2017-07-14 15:28:55 191
原创 错排列
全错排直接用全错排公式 部分错排先把那一部分看做全错排,然后从总的里面抽取部分 https://vjudge.net/problem/HDU-2049(部分错排)#include <stdio.h>#include <iostream>using namespace std;long long dp[55];int N,M;int main(){ dp[1]=0; dp
2017-07-13 15:09:18 275
原创 欧拉通路
http://202.197.224.59/exam/index.php/problem/exam_read/id/1225/exam_id/196Description 题目描述给你一个联通无向图,请问是否可以一笔画出来? 输入样例的第一行是一个整数T,表示样例的个数。 每个样例的第一行是两个整数N(2≤N≤1,000)和 M(1≤M≤100,000), 分别表示顶点数和边数。顶点编号从1到N
2017-07-09 19:24:27 340
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人