上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 26 下一页
摘要: 一个卡特兰数的应用;卡特兰数主要有以下几个用途:1.不同的出栈入栈数;2.n个点组成的不同的二叉树的数目;3.凸多边形的三角剖分划分;4.括号化问题;通项公式是:h(n) = C(2n-2,n-1)/n,n=1,2,3,...递推公式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2这个题就是第一种情况。代码: 1 #include 2 #define maxn 10009 3 #define mod 1000000007 4 #define ll long long 5 using namespace std; 6 7 l 阅读全文
posted @ 2013-10-02 19:49 Yours1103 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Welcome to CSU OnlineJudgeProblem A: Small changeTime Limit:1 SecMemory Limit:128 MBSubmit:156Solved:91[Submit][Status][Web Board]Description打完网赛,就到了晚饭的时间,但CSU_ACM的同学们都已经没力气出去了,这时CX建议大伙一起点餐吧,因为正是饭点,CX为了不让大家等太久,找了一个承诺20分钟送到超时要打折的外卖。但CX的RP都在网赛上用光了,果然送餐的迟到了,按规定咱们是要少给钱的。可是那些送餐员十分的狡猾,他们没有带零钱,于是乎,原价为N元的饭, 阅读全文
posted @ 2013-10-02 16:57 Yours1103 阅读(294) 评论(0) 推荐(0) 编辑
摘要: DescriptionCSU又到了一年中评奖学金的时候了……各大学霸都或多或少地拿到了各种奖学金(你们自己看着办吧)。在这里,评奖学金有个很奇怪的规矩——每个同学得到的奖学金数一定满足相邻的两个非零数位上的数字不相等(奖学金都是非负整数,如果一个同学没有得到奖学金,我们也可以认为学校发给ta的奖学金为0)。然而,如果你问这里的孩子拿了多少奖学金,ta不会直接告诉你拿到了多少奖学金,而会告诉你ta拿到的奖学金数大于某一个整数X。同时为了不产生歧义,ta所说的那个数和ta所拿到的那个奖学金数目之间不会存在任何一个数满足学校发奖的规矩。现在你已经知道了每个同学说的那个整数X,你能确切地说出每个同学得 阅读全文
posted @ 2013-10-02 16:39 Yours1103 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一道比较简单但是繁琐的三维计算几何,找错误找的我好心酸,没想到就把一个变量给写错了 = =;题目的意思是求平面切长方体的截面面积+正方体顶部所遮盖的面积;找出所有的切点,然后二维凸包一下直接算面积即可!发个代码纪念一下!代码: 1 #include 2 #include 3 #include 4 #include 5 #define eps 1e-8 6 using namespace std; 7 8 inline int sig(double x){return (x>eps)-(x=-eps&&t1&&cross2(ch[m-1]-ch[m-2],p 阅读全文
posted @ 2013-10-02 10:49 Yours1103 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 计算几何的题目,很简单;自己随手敲了个,纪念下! 1 #include 2 #include 3 using namespace std; 4 5 struct point 6 { 7 double x,y; 8 point(double x=0,double y=0):x(x),y(y) { } 9 } a,b,c,d;10 11 point midd(point a,point b)12 {13 return point((a.x+b.x)/2.0,(a.y+b.y)/2.0);14 }15 point operator + (point a,point b)16... 阅读全文
posted @ 2013-10-01 17:52 Yours1103 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 也是一个数学题;主要用到的是排列组合的知识,推推公式就行了,挺简单的;唯一要注意的是A(0,0)=1;在这个上面WA了几次,= =代码: 1 #include 2 #define ULL unsigned long long 3 #define maxn 21 4 using namespace std; 5 6 ULL C[maxn+5][maxn+5];//范围可向上变更 7 ULL A[maxn]; 8 void builtC(){ 9 memset(C,0,sizeof(C));10 C[0][0]=1;11 for(int i=1;i<=maxn;i++)... 阅读全文
posted @ 2013-10-01 16:29 Yours1103 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一个简单的规律题,每一列都是一个等差数列;代码: 1 #include 2 #define ll long long 3 using namespace std; 4 5 int main() 6 { 7 int p; 8 int ca=1; 9 scanf("%d",&p);10 while(p--)11 {12 int a,b;13 scanf("%d",&ca);14 scanf("%d%d",&a,&b);15 ll ans=(a-b)*b+1;16 printf... 阅读全文
posted @ 2013-10-01 16:24 Yours1103 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一个组合游戏题。解答: 从后面往前面推,首先n-1是必胜位,然后前面的k位是必败位,如此循环下去。所以题目就容易了!代码: 1 #include 2 using namespace std; 3 int main() 4 { 5 int n,k; 6 while(scanf("%d%d",&n,&k)&&(n+k)) 7 { 8 int x=(n)%(k+1); 9 if(x&1)puts("Tang");10 else puts("Jiang");11 }12 return 0;13 }Vie 阅读全文
posted @ 2013-10-01 16:17 Yours1103 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 这次的答案是猜出来的,如果做得话应该是应该是一个几何概型的数学题;答案就是:n/(m^(n-1));具体的证明过程: 1.首先枚举这M个点中的的两个端点,概率是:n*(n-1); 2.假设这个蛋糕是个圆盘状的,圆面面积为1,然后为了满足题目的要求,这两个端点+圆心所组成的扇形的的面积应该小于1/m; 3.然后对剩下的所有点都应该分布在这个扇形里面,加设扇形面积为x,则结果应该为:x^(n-2)在0-1/m中的积分,然后再乘以n*n-1;n,m0){12 t-=1;13 BigInteger m = sc.nextBigInteger();1... 阅读全文
posted @ 2013-09-28 21:34 Yours1103 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一个KMP的简单题不过好久没用过这个东东了,今天写的时候花了很多时间;只需要花点时间判断下所有的元素都相同的的情况就行了! 1 #include 2 #include 3 #include 4 #define maxn 1000006 5 using namespace std; 6 char s[maxn]; 7 int next[maxn]; 8 9 void getnext(char *t)10 {11 // t为模式串12 int i=0,j= -1,l = strlen(t);13 next[0] = -1;14 while(i < l)15 ... 阅读全文
posted @ 2013-09-28 21:29 Yours1103 阅读(247) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 26 下一页