自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (2)
  • 收藏
  • 关注

原创 博弈推理-UVA11892

做博弈题自己先尝试推一推,先找一些简单的例子试一试题目大意:给定n堆石子的个数,两人轮流选择石子堆取石子,直到不能取为失败,附加条件,如果前一次操作,即队手的操作,没有将选中石子堆中的石子取完,那么当前操作者必须在该堆中取石子。解题思路:只要有一个石子堆的个数大于2,那么先手就获得必胜态,可控。对于全是1的情况判断奇偶性。简单推一下前几组,可以发现只有(1,1),(1,1,1,1),(1,1,1,1

2017-08-16 20:05:37 292

原创 快速幂或找规律求a的b次方的最后一位-HDU1097

https://vj.xtuacm.cf/contest/view.action?cid=125#problem/EA hard puzzle Problem Description lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody

2017-08-16 15:43:14 1239

原创 威佐夫博弈输出第一次如何取-HDU2177

https://vj.xtuacm.cf/contest/view.action?cid=125#problem/D暴力枚举第一个分支,从两堆物品中同时取出相同数量的物品第二个分支,只从一堆物品中取物品(从多的那一堆中取,为什么只从多的那一堆中取捏?Because 从少的那一堆中取 与 从多的那一堆中取中会有一部分重合的地方,重合的就是从少的那一堆取的情况。)#include <iostream>

2017-08-16 15:14:03 267

原创 博弈-HDU2897

邂逅明下 https://vj.xtuacm.cf/contest/view.action?cid=125#problem/BProblem Description 当日遇到月,于是有了明。当我遇到了你,便成了侣。 那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话) 小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近

2017-08-16 14:23:03 183

原创 高斯消元求解模线性方程-poj2947

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/P这题目难点在于矩阵构建和取模strcmp(s, “MON”)==0 如果等于0两个字符串相同#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>#include<math.h>us

2017-08-10 15:11:00 267

原创 高斯消元模板(kuangbin版)

//基本版 #include<stdio.h> #include<algorithm> #include<iostream> #include<string.h> #include<math.h> using namespace std; const int MAXN=50; int a[MAXN][MAXN];//增广矩阵 int x[MAXN];//解集 bo

2017-08-10 14:43:14 211

原创 矩阵构造+矩阵快速幂-HDU5950

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/I题目的难点在于矩阵的构造题解:典型的矩阵快速幂的运用。关键是i^4怎么维护?我们可以当成求第i+1项,那么i^4就变成了(i+1)^4。那么这时我们可以用二项式定理从i^4、i^3、i^2、i^1、i^0的组合中得到(i+1)^4。也就是说总共需要维护:f[i+1]、f[i]、(i+1

2017-08-09 10:30:18 241

原创 高斯消元求方案数-HDU3364

https://vjudge.net/problem/HDU-3364#include<iostream>#include<stdlib.h>#include<stdio.h>#include<string>#include<vector>#include<deque>#include<queue>#include<algorithm>#include<set>#include<m

2017-08-08 15:56:31 200

原创 高斯消元求解-HDU3359

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/M这个题目用的模板是直接求解方程式题解及代码: 这是一个double精度的高斯消元,方程建立直接暴力枚举每个点与当前点的距离就可以了,注意一下题目中给出的输入 先是列数,后是行数#include <iostream>#include <cstdio>#include <cmath>

2017-08-08 15:35:57 203

原创 高斯消元求方案数 POJ-1830

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/N 题目难点在于建立方程组,求解直接用模板高斯消元 和HDU的3364一样是开关问题 http://blog.csdn.net/luricheng/article/details/52506388 这里只是多了个小变形 如果初始状态是010 目标状态是111 那其实就是等价于为

2017-08-08 15:32:49 249

原创 HDU 2814 斐波那契循环节+欧拉函数降幂

https://vj.xtuacm.cf/contest/view.action?cid=115#status//-/0/ 求F(a^b)^(F(a^b)^(n-1))%c a,b,n是longlong范围内的正整数 c是一个小于300的余数思路: 不难发现c小于300是有意而为的 这里有两个定理: 1.在模c的状态下,斐波那契具有循环节性质,即F[a^b]=F[a^b%len] len

2017-08-07 10:46:55 360

原创 二分-UVA10341

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/J 二分简单题#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#define ll long longusing namespace std;

2017-08-05 10:05:17 179

原创 三分-HDU3714

https://vj.xtuacm.cf/contest/view.action?cid=115#problem/D三分简单题#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#define ll long longconst int maxn=10000;

2017-08-05 10:02:27 194

原创 唯一分解定理+容斥-HDU4497

https://vj.xtuacm.cf/contest/view.action?cid=59#problem/L 这个题目的关键在于map的用法,通过map的灵活运用减少代码量和思维难度题意: 求同时满足gcd(x,y,z)==g&&lcm(x,y,z)==L的(x,y,z)组合数.题解: 1.很直观的:若l%g!=0||g>l时,答案为0; 2.若果满足l%g==0,用唯一分解定理把个g

2017-08-03 19:11:14 234

原创 1-N中素数的个数(N非常大)-HDU5901

https://vj.xtuacm.cf/contest/view.action?cid=59#problem/D 题意:求区间[1,N]的质数的个数(1≤N≤10^11)。 思路:模板题,上两个模板模板代码一:复杂度大概O(n^(3/4)) #include <bits/stdc++.h> #define ll long long using namespace

2017-08-03 11:48:41 2544

原创 lucas定理+费马小定理方法求逆元-HDU3944

https://vj.xtuacm.cf/contest/view.action?cid=59#problem/E 这题目用的线性方法求逆元要记住题目的意思是说,在杨辉三角上找一条路径,每次必须往下走一行,使得这个路径上所有数字的总和最小,输出取模值。这里对于组合数有一个变换。C(n-1,k-1)+C(n-1,k)=C(n,k)同时,仔细观察杨辉三角就知道,对于每行,从左至中间都是递增的,同时又根

2017-08-03 10:30:40 309

原创 二次筛法找区间两点特别大(超过10亿)的素数-POJ2689

https://vj.xtuacm.cf/contest/view.action?cid=59#problem/C 如果区间两点小于3亿可以用bitset 这题区间两点可能大于20亿,只能用两次筛法,先找出0到47000之间的素数,再对目标区间用筛法。 两次筛法是模板 参考: http://blog.csdn.net/userluoxuan/article/details/38404185

2017-08-02 20:48:46 450

原创 数论-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

原创 暴力题二维数组排序方法XTU1246

Matrix Transposition http://202.197.224.59/exam/index.php/problem/exam_read/id/1246/exam_id/191题目难点在于二维数组排序方法 代码:#include <bits/stdc++.h>using namespace std;bool cmp(int *p,int *q)//二维数组的比较大小的函数{

2017-06-17 14:19:55 498

转载 字符串 POJ-1007

https://vjudge.net/contest/99636#problem/E详细解答:http://blog.csdn.net/huanglianzheng/article/details/4814016 解法一:难点在于最后的排序#include<iostream>#include<cstring>#include<cstdio>#include<map>#include<alg

2017-04-16 19:12:56 231

转载 数学 找规律HDU-1030

https://vjudge.net/contest/99636#problem/J 题目难点在于找到规律 根据公式求解 :http://www.cnblogs.com/ACMan/archive/2012/05/30/2526798.html 从三个角度看这个图,level,left,right,如下图,题目的答案就是3个图上2个点之间的层数的高度差之和。例如 6 12 ,level=1,l

2017-04-16 18:31:33 288

组合数学第五版

组合数学第五版 很好的资源

2017-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除