自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

单木的专栏

没事瞎写

  • 博客(25)
  • 收藏
  • 关注

原创 线段树

#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1long long sum[MAX<<2],col[MAX<<2];void pushup(int rt)//本身不是动态的过程,在递归过程中向上更新{ sum[rt]=sum[rt<<1]+sum[rt<<1|1];}void pushdown(int rt,int m){

2016-04-29 21:44:51 237

原创 斐波那契数列

参见《具体数学第2版》244页。原谅我这个可耻的链接————————会整理一下在发出来相关性质:∑ni=0f(i)=f(n)∗f(n−1)\sum_{i=0}^nf(i)=f(n)*f(n-1);

2016-04-29 21:22:49 388

原创 最小生成树

相关题目: poj 1287 networking

2016-04-29 20:33:34 198

原创 最短路

相关题目:poj 3259 Wormholes hdu 1874 畅通工程续

2016-04-29 20:30:05 185

转载 广度优先搜索

相关题目:poj 3984 迷宫问题 hdu 1548 a strange lift poj 1915 knight moves

2016-04-29 20:24:58 219

原创 深度优先搜索

相关题目:hdu 1016

2016-04-29 20:15:55 230

原创 二分法

int binSearch(int l,int r,int key){ int tl=l-1; int tr=r; while(tr-tl>1){ int mid=(tl+tr)/2; if(a[mid]>=k) tr=mid; else tl=mid; } ret

2016-04-29 20:08:05 342

原创 异或

不同为1,相同为零。 总结一些常用的性质吧,随时更新。 1. sis_i xor sjs_j = ai+1a_{i+1} xor…xor aja_j,s是a的前缀和。

2016-04-29 19:31:01 229

原创 鸽巢原理

简单形式: 如果n+1个物体被放进n个盒子,那么至少有一个盒子包含两个或更多的物体。加强形式: 令q1,q2,…qn为正整数。如果将q1+q2+…+qn-n+1个物体放入n个盒子内,那么或者第一个盒子至少含有q1个物体,或者第二个盒子至少含有q2个物体,…,或者第n个盒子含有qn个物体.应用: 在一个长度为n的序列a,存在子序列的和能被能整除。 中国剩余定理的存在性证明。

2016-04-27 10:25:36 554

原创 cf655A Buses Between Cities

/* ********************************Author : danmuCreated Time : 2016年04月25日 星期一 18时55分45秒File Name : a.cppVim Commandcopy -&gt; yypaste -&gt; p Pdel this line -&gt; ddCtrl-Z -&gt; u Ucop...

2016-04-26 19:06:19 808

原创 卢卡斯定理

Lucas定理:我们令n=sp+q , m=tp+r .(q ,r ≤p)那么:int Lucas (ll n , ll m , int p) { return m == 0 ? 1 : 1ll*comb (n%p , m%p , p) * Lucas (n/p , m/p , p) % p ;}//comb()函数中,因为q , r < p , 所以

2016-04-25 09:43:47 1221

原创 浙江省赛e题Modulo Query

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3940题目大意:对于0到m区间的数模Ai,模A2...模An,later有q个询问,问前面的问题等于yi的数有多少个(1&lt;=i&lt;=q)最后在按照题意求一下最终结果。解题思路:做的时候最关键的部分没有想明白,没有找到好的处理方法,还是经验少吧,题解...

2016-04-25 09:34:45 580

原创 hdu5673 Robot

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5673题目大意:一个机器人,可以向左,向右或停在当前位置每个动作都话费n个时间,但不能移动到原点左面,问n个时间后仍在原点位置有多少种走法。解题思路:开始乱搞了一通,后来看的题解,枚举robot向左走的步数,同时它向右走的步数是一样的因为要回到原点,所以对于每一种情况,向左走i步,有C​n​2i...

2016-04-24 22:09:03 793

原创 catalan数

1.h(n)=h(n-1)*(4*n-2)/(n+1);2.h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2);3.h(n)=C(2n,n)/(n+1) (n=0,1,2,...);4.h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,...)

2016-04-24 21:51:43 222

原创 逆元

1.线性求所言逆元LL inv[MAX];inv[1]=1;for(int i=2;i<=MAX;++i) inv[i]=(mod-mod/i)*inv[mod%i]%mod;

2016-04-24 21:45:33 243

原创 素数

6N+1法int prime[MAX],cnt;bool isPrime(int k){ if(k==2) return true; if(!(k&1)) return false; for(int i=3;i*i<=k;i+=2) if(k%i==0) return false; retur

2016-04-21 16:56:18 274

转载 莫比乌斯反演

定理:F(n)和f(n)是定义在非负整数集合上的两个函数,并且满足条件F(n)=∑d|nf(d)F(n)=\sum_{d|n}f(d),那么我们得到结论f(n)=∑d|nμ(d)F(n/d)f(n)=\sum_{d|n}\mu(d)F(n/d)。 在上面的公式中有一个函数μ(d)\mu(d),它的定义如下: (1)若d=1,那么μ(d)=1\mu(d)=1. (2)若d=p1p

2016-04-19 17:27:21 237

原创 南京理工大学第八届程序设计大赛triple

题目链接:https://icpc.njust.edu.cn/Contest/749/D/题目大意:在一定范围内找出三个最大公约数为m且各不相同的数,问有多少中情况。解题思路:刚开始的时侯用容斥写,因为对于这个题而言质因子的分布在1到10的5次方,所以就有大概9千多个质数,而我写的容斥是n^2的,所以就超时,所以这题不能用质因子去容斥,而直接用n的因子,时间复杂度更低。所以n^2的容斥对...

2016-04-19 16:13:06 785

原创 南京理工大学第八届程序设计大赛count_prime

题目链接:https://icpc.njust.edu.cn/Contest/749/C题目大意:在一个区间内找到与某个数互质的个数。解题思路:容斥原理,去掉所有与它不互质的数即为所求。默比乌斯反演也能写,如果n能整除m,F(m)=b/m,否则F(m)=0。不过就显得有点笨重了,因为n和a,b都比较大,如果后台数据量大的话,我感觉会超时,好在这题两种方法能过。容斥原理:&lt;...

2016-04-19 11:50:30 497

原创 容斥原理

//递归写法LL sum;void dfs(int i,int nu,int x,int mu,LL b){ //printf("%d %d %d %d %lld\n",i,nu,x,mu,b); if(nu==x){ sum+=b/mu; return; } if(i==tmpCnt) return; dfs(i+1,nu+1,x,mu*tmpPrime[i],b);

2016-04-19 09:18:35 315

原创 gcdDepth

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1054。题目大意 :在(y0,y1)的范围内找出有多少个数满足gcd(x,y)的深度(递归调用的次数)等于d。解题思路:这题刚那拿到第一反应是拉梅定理,找了好久没找到合适的计算方法,经同学提醒发现随便确定一个x,在模拟一下这个过程就能找到规律,当y大于x后gcd(x,y)的深度就...

2016-04-19 09:09:30 332

转载 数据范围

unsigned   int   0~4294967295   int   2147483648~2147483647 unsigned long 0~4294967295long   2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigned long...

2016-04-16 20:26:12 370

原创 uva1362

dp[i][j]=sum(dp[i+1][k-1]*dp[k][j]),k属于i+2~j。

2016-04-15 15:59:19 311

原创 uva11538

∑i*i=n*(n-1)*(2*n-1)/6,i取1到n-1。

2016-04-14 20:32:00 258

原创 扩展GCD

a*x+b*y=d,d=gcd(a,b).模板代码:void exgcd(int a,int b,int& d,int& x,int& y){ if(b==0){ d=a; x=1; y=0; } else{ exgcd(b,a%b,d,y,x); y-=a/b*x; }}-----取自小白算法推导及证明:详见算导(第二版)528;具体数学

2016-04-07 21:40:43 326

空空如也

空空如也

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

TA关注的人

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