
算法
换一种视觉
这个作者很懒,什么都没留下…
展开
-
最大公约数(GCD)的另类求法
普通求法:int gcd(int x,int y){ if (!x || !y)return x > y ? x : y; for (int t; t = x% y; x = y, y = t); return y; }另类:| 快速 GCD \*==================================================*/ int k原创 2013-08-19 00:46:30 · 564 阅读 · 0 评论 -
欧拉函数---MonsterAttack
在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如φ(8)=4,因为1,3,5,7均和8互质。φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是原创 2013-08-19 00:33:54 · 643 阅读 · 0 评论 -
区间信息的查询与维护(一)树状树组
区间信息的查询与维护(一)树状树组 核心代码:int lowbit(int x){ return x&-x;}int sum(int x){ int ret=0; while(x>0) { ret+=c[x]; x-=lowbit(x); }return ret;}void add(int x,int d){原创 2013-09-12 13:17:22 · 457 阅读 · 0 评论 -
字典树(Trie查找单词再也不用担心超时了)
字典树(Trie查找单词再也不用担心超时了) 字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在就在该字母的孩子节点里找是不是有单词的第二个字母,没有说明没有该单词,有的话用同样的方法继续查找.字典树不仅可以用来储存字母,也可以储存数字等其它数据。HDU 1247Hat’s Words原创 2013-09-12 13:23:31 · 1016 阅读 · 0 评论 -
poj 3468线段树 成段更新
题意和题目都很简单,就是线段树的成段更新,只要做一下延迟标记就好了。题意:查询一段数的和,和更新一段数的值。一开始出了点错误,忘在更新时做延迟标记了。#includelong long sum[100010<<2];long long add[100010<<2];void push_up(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1原创 2014-11-27 21:04:46 · 372 阅读 · 0 评论