- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 Fibonacci数列
求高位时算法分析:f(n)= (1/sqrt(5))*pow((1+sqrt(5))/2,n)- (1/sqrt(5))*pow((1-sqrt(5))/2,n);这个题目就是用到这个公式,化简f(n)=n*log10((1+sqrt(5))/2)-log10(sqrt(5))+log10(1-((1-sqrt(5))/(1+sqrt(5)))^n)后面红色部分是无穷小量,可以省略。于是f(n)
2013-04-22 09:22:08 478
原创 某区间内1的数量
点击打开链接 解法二告诉我们1~ N中“1”的个数跟最高位有关,那我们换个角度思考,给定一个N,我们分析1~N中的数在每一位上出现1的次数的和,看看每一位上“1”出现的个数的和由什么决定。 1位数的情况: 在解法二中已经分析过,大于等于1的时候,有1个,小于1就没有。 2位数的情况: N=13,个位数出现的1的次数为2,分别为1和11
2013-04-19 14:12:05 587
原创 用list存图+二分匹配
nyoj月老的难题 # include# include# includeusing namespace std;list s[505];int vis[505], link[505];bool get_num(int i){ list::iterator t; //迭代器 for( t = s[i].begin(); t != s[i].end
2013-04-17 11:07:12 497
原创 用vector存图 + 二分匹配
nyoj 239 月老的难题 # include# include# include# includeusing namespace std;vector s[505];int vis[505], link[505];bool get_num(int i){ for(int j = 0; j < s[i].size(); j++) //指向第一个元素和最后一
2013-04-17 11:05:24 684
原创 kruskal模板
#include#include#includeint n,m,set[124];struct val{ int x,y,v;}e[10010];int find(int x){ return set[x]==x?x:set[x]=find(set[x]);}int kruskal(){ int sum=0; for(int i=1;i<=m;i
2013-04-12 17:09:50 538
原创 线段树
#include# includestruct tree{ int l; int r; int sum;}s[4*200000];int a[200005];int max(int x,int y){ return x>y?x:y;}void build(int l,int r,int cur){ s[cur].l=l; s[
2013-04-12 09:23:09 525
原创 线段树
#include# includestruct tree{ int l; int r; int sum;}s[4*50005]; //注意开4被int a[50005];void build(int l,int r,int cur) //建树{ s[cur].l=l; s[cur].r=r; if(l==r) {
2013-04-12 09:21:58 496
原创 二叉树的遍历
# includeusing namespace std;struct Tree{ char chr; Tree *l,*r;};Tree *root;int sign,Count;void Init(struct Tree *&t)//{ char a; if(t==NULL) { t=new Tree; c
2013-04-12 09:14:27 493
原创 prim
点击打开链接 # include# includeint a[505][505],flag[505],b[505];int prim(int v){ int i,j,k,s,min,p; s=0; for(i=1;i<v;i++) { min=1000; for(j=1;j<=v;j++)
2013-04-12 08:38:03 545
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人