上一页 1 ··· 7 8 9 10 11
摘要: Problem DescriptionPayne和Quincy是一对好Basefriend,即使在“六一光棍节”这天,寂寞无聊的Payne决定调戏一下Quincy。他在一张纸上写下了一串数字,然后来到Quincy面前。“嗨,Quincy,我看你也挺无聊的,来验证一下你的智商吧。”“噢,Payne,你又有什么鬼主意了?”“嘿,听一听吧,会很有趣的!”“嗯,那你说吧。”“哈,听着,你看这里有一串数。我们从中取一段连续的数字,比如你看这的1357902468147258369,我们从中取出一段长度为7的子串,可以是5790246,或者是0246814。这样我们就得到了一些新的数。然后,让我们看看长度 阅读全文
posted @ 2012-01-26 12:27 朝圣の路 阅读(219) 评论(0) 推荐(0) 编辑
摘要: (1) n条直线最多分平面问题题目大致如:n条直线,最多可以把平面分为多少个区域。析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2条射线和n-2条线断。而每条射线和线断将以有的区域一分为二。这样就多出了2+(n-2)个区域。故:f(n)=f(n-1)+n=f(n-2)+(n-1)+n……=f(1)+1+2+……+n=n(n+1)/2+1 (2) 折线分平面(h 阅读全文
posted @ 2012-01-26 12:26 朝圣の路 阅读(3239) 评论(1) 推荐(3) 编辑
摘要: 找一个子序列的和等于M,那么这个子序列可以看成a+1, a+2, ... , a+d 这时,d就为这个序列的长度,起始数字就是a+1,而这个序列的和即M=a*d + (1 + d) * d /2;得出d*d<2 * m,从而可以枚举d,计算出a#include"stdio.h"#include"math.h"int main( ){ __int64 n,m,d,b; while(scanf("%I64d%I64d",&n,&m)==2&&(n!=0||m!=0)) { for(d=sqrt(2.0 阅读全文
posted @ 2012-01-26 12:25 朝圣の路 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 现在我要算第i个 简单啊for (j = 0 ; j < i-1 ; j++){ cur_time = dp[j] + w(j, i) ; if (cur_time < dp[i]) dp[i] = cur_time ;} 阅读全文
posted @ 2012-01-26 12:24 朝圣の路 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 首先我必须说一句。。。。这题对我来说实在是挺难的,,,做了好几个小时,不过值得庆幸的是最后在学长的帮助下终于做出来了。。。但是虽然难我却犯了无谓的错误浪费了许多宝贵的时间。。。首先最不应该忽略的就是清零。。。这个错误我已经犯N遍了。。。还有就是得多用些笔算神马的。。这样在调试的时候比较容易发现潜在的错误。。。 本题的主要思路:先考虑可能在任意一个加油站作为乌龟最后加油的地方。。。然后利用第推的思想卒个求和。。。。比如乌龟可能把第二个加油站作为最后加油的地点。。。由此我们需要依次求出把原点作为前一个加油站到第二个加油站的时间和把第一个加油站作为前一个加油站到第二加油站的时间。。。然后比... 阅读全文
posted @ 2012-01-26 12:23 朝圣の路 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 此题错排典型题。。。。刚开始我得思路是一半固定。。。另一半随便排。。。结果是这里面有很多重复的。。。比如当把另一半固定时也有全对的情况。。。所以应该按严格错排来做#include"stdio.h"double zuhe(int n,int m){ double s=1,i; for(i=0;i<m;i++) s=s*(n-i)/(i+1); return s;}int main( ){ int n,m,i; double s[20],sum; s[1]=0;s[2]=1; for(i=3;i<20;i++) s[i]=(i-1)*(s[i-1]+s[i-2]); 阅读全文
posted @ 2012-01-26 12:19 朝圣の路 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 假设小兔的棋盘是 8 × 8 的 ( 当然你也可以假设是其他 )。如下图:箭头方向表示从该格子下一步能去的格子。因为不能穿越对角线,所有对角线上的格子只有进去的箭头,没有出来的箭头。观察上图你就可以发现,其实这是一张关于对角线对称的图。所有我们只要求一个方向的值,然后乘以2即可。我们就拿下三角来考虑。不难发现,所有在0列上的格子,路径数都是 1 (只能从上面过来)。而其他格子则都是由上、左两个方向过来,即:f(i, j) = f(i - 1, j) + f(i, j - 1);另外f(i, i) = f(i, j - 1) 或者 f(i, i) = f( i-1, j ) ;#inc 阅读全文
posted @ 2012-01-26 12:16 朝圣の路 阅读(740) 评论(1) 推荐(0) 编辑
摘要: 其实很简单,用sprintf(str,"%d",参数)即可 阅读全文
posted @ 2012-01-26 12:14 朝圣の路 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 注意cmp函数#include"stdio.h"#include"string.h"#include"stdlib.h"struct number{ int a; int b;}num[20000];int cmp(const void *a,const void *b){ return (*(struct number*)a).a-(*(struct number*)b).a;}int main( ){ int i,n,flag,j; scanf("%d",&n); memset(num,0,sizeof 阅读全文
posted @ 2012-01-25 00:43 朝圣の路 阅读(132) 评论(0) 推荐(0) 编辑
摘要: gets()是可以吸收回车的、、、一定要记住、、tmd我今天才知道、、、 阅读全文
posted @ 2012-01-25 00:37 朝圣の路 阅读(142) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11