雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 50 下一页

2011年4月20日

摘要: 列方程可知,最小点一定在给定的某点上先排序后枚举计算某点的权值枚举可以由前面的推出后面的,不必重复计算View Code #include<stdio.h>#include<iostream>#include<algorithm>using namespace std;struct data{ double x; int p;}map[15099];int cmp(data a,data b){ return a.x<b.x;}int main(){ int n; scanf("%d",&n); int i; for(i=0 阅读全文

posted @ 2011-04-20 21:57 huhuuu 阅读(314) 评论(0) 推荐(0) 编辑

2011年4月19日

摘要: 给出数Q,求出最小的自然数N使得N!的末尾恰有Q个0,无解输出"No solution"对于一个数n,求出它的末尾有几个0,只需看n之内的数的质因子5的个数,因为2的个数远多于5。所以可知道一个数末尾0的个数Q = n/5 + n/(5^2) + n/(5^3) + ...Q = N(5^k - 1) / [4*(5^k)],由此得N = 4Q * [(5^k)/(5^k-1)]还有就是注意0不是自然数!View Code #include<stdio.h>int fun(int n){ int add=0; while(n) { add+=n/5; n/=5; 阅读全文

posted @ 2011-04-19 21:31 huhuuu 阅读(527) 评论(0) 推荐(0) 编辑

2011年4月18日

摘要: View Code #include<stdio.h>int main(){ int x,y; double z; scanf("%d%d%lf",&x,&y,&z); double t=(y-x)*60; t=(t-z)*(t-z)*1.0/t/t; printf("%.7lf\n",1-t);} 阅读全文

posted @ 2011-04-18 22:05 huhuuu 阅读(174) 评论(0) 推荐(0) 编辑

摘要: f(n)实际就是n%9但要注意n==0实际是9View Code #include<stdio.h>int ab[1009];int main(){ int t; scanf("%d",&t); while(t--) { int n,i,a; __int64 b; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&ab[i]); b=ab[n-1]%9; for(i=1;i<n;i++) { b=(b+1)*ab[n-1-i]%9; } if(b= 阅读全文

posted @ 2011-04-18 21:04 huhuuu 阅读(204) 评论(0) 推荐(0) 编辑

摘要: 组合问题里比较常用的数列1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862……令h(1)=1,h(0)=1,catalan数满足递归式:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2)另类递归式:h(n)=((4*n-2)/(n+1))*h(n-1);View Code #include<stdio.h>int main(){ int k; scanf("%d",&k); int i,j; __int64 all=1; for(i=1;i<=k;i 阅读全文

posted @ 2011-04-18 19:32 huhuuu 阅读(169) 评论(0) 推荐(0) 编辑

2011年4月17日

摘要: View Code #include<iostream>#include<cstring>using namespace std;class mystring{public: mystring(char *s); mystring(); ~mystring();//虚构函数用来释放动态内存 void addstring(char *s);//连接两个字符串 void stringup(char *s);//字符串大写换小写 void change(char *s);//改变字符串 void show();//输出字符串private: int len; char *p; 阅读全文

posted @ 2011-04-17 19:24 huhuuu 阅读(401) 评论(0) 推荐(0) 编辑

2011年4月14日

摘要: 主要是筛选法求素数 筛选法时间O(log(n)*n)两个素数和是素数,那其中一个必然是2View Code #include<stdio.h>#include<math.h>bool prim[1000009];int f[20009];//f记录可行解int main(){ int n; scanf("%d",&n); int i,j; int t=(int)sqrt(n*1.0);//筛选法大概选择1000,000要500ms for(i=2;i<=t;i++) { for(j=2;j*i<=n;j++) { prim[i*j 阅读全文

posted @ 2011-04-14 17:32 huhuuu 阅读(230) 评论(0) 推荐(0) 编辑

2011年4月13日

摘要: //这题主要求S//结论:S=(251^(n+1)-1)*(2^(3n+1)-1)/250//是两个等比数列和相乘////推理://2008=2^3*251//所以2008^N有3N个2和N个251//所有仅由2组成的因子有//2^02^12^2...2^(3N)//设集合C={2^0,2^1,2^2...,2^(3N)};//SUM(C)=2^(3n+1)-1//跟251组合产生的因子有//251^0*C//251^1*C//...//251^N*C//所有因子和为://S=(251^(n+1)-1))/250*(2^(3n+1)-1)//计算S%K://S很大,不能保存在普通的数据类型中, 阅读全文

posted @ 2011-04-13 20:13 huhuuu 阅读(707) 评论(0) 推荐(0) 编辑

2011年4月11日

摘要: 就是找必败态>=162为p(162/9)18——161为N 想要进入必败态你就赢了,所以范围大(17/2)9——17为P 进入N必胜态你就输了,玩家没办法才要进入,所以范围小(8/9)1——8为NView Code #include<stdio.h>int main(){ unsigned int n; while(scanf("%d",&n)!=EOF) { unsigned int i=1,t=n,add; while(t!=1) { if(i%2==1) { if(t%9>0) add=1; else add=0; t=t/9; t+= 阅读全文

posted @ 2011-04-11 18:31 huhuuu 阅读(364) 评论(0) 推荐(0) 编辑

2011年4月10日

摘要: 先找必败态如:一堆石头有8个NO:0 1 2 3 4 5 6 7 8S :P N N N P N N N P即s=a%(b+1)if s==0 就为必败态在用nim博弈是s^(a%(b+1))即可View Code #include<stdio.h>int main(){ int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); int i,a,b,s; for(i=1;i<=n;i++) { scanf("%d%d",&a,& 阅读全文

posted @ 2011-04-10 21:21 huhuuu 阅读(312) 评论(0) 推荐(0) 编辑

上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 50 下一页