切蛋糕n刀最多切成几分
摘要:这道题要一步一步来的:(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)+2+……+n=n(n+1)/2+1(2
阅读全文
hdu 4333 Revolving Digits循环移动数字找出比原来数大,等于,小的个数。
摘要:还是看大神的代码把!View Code #include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;const int MAXN = 200010;char s[MAXN];int next[MAXN];//next 指向的是以此点开始的字符串应该与原串中的哪个字符进行比较// 当然比较的时候此串也要找对应的字符进行比较 如果超过字符串长度 说明相等void getNext(){ int i, j; int l = 1,
阅读全文
hdu acm steps 2.1
摘要:杭电acm step 的题还真不错。已知抛物线的顶点和两个与直线的交点,求相交的面积View Code /*已知抛物线的顶点和两直线的交点,求相交的面积。用微积分求面积, 简单的数学题.求出k, h, a, b, cy1 = kx + h; y2 = a*x*x + b * x + c;再求出f (x) = (y1 - y2)的原积函数(x2 ~ x3)area = F(x3) - F(x2).*/#include <stdio.h>#include <stdlib.h>int main(){ int cas; double x1, y1, x2, y2, x3, y3
阅读全文
hdu 1005 Number Sequece
摘要:找出重复的起始点和重复周期,起始点不一定找第一个,可以使第一个周期中的任意一个。View Code #include<iostream>#include<stdio.h>using namespace std;int f[100000005];int main(){ int a,b,n,i,j; f[1]=1;f[2]=1; while(scanf("%d%d%d",&a,&b,&n)) { int s=0;//记录周期 if(a==0&&b==0&&n==0) break; for(i=3;i
阅读全文
hdu 4320 Arcane Numbers 1 多校联合赛(三)第一题
摘要:“对于所有的 x|a, 有 x|A”。能够在进制 A 下用有限数位表示的任何一个有理数.其最简分母 (a) 和进制数 (A) 肯定能满足上面的“充要条件”。也就是说,这些有理数的最简分母,都可以表示成 A 的若干个因子相乘的形式(相同因子可乘多次)。那么如果要保证这些有理数在进制 B 下也能顺利用有限数位表示的话,B 这个数的因子必须至少要包含 A 中的因子。看到这题目谁想的到啊!View Code #include <stdio.h>#include <string.h>int main(){ __int64 a,b,ans,i,t,cas; scanf("
阅读全文
Card Collector【概率..期望】
摘要:一点都不知道这个公式怎么来的?求解释!!!代码是别人的。答案挺对的。求解公式来的过程,翻译题目就不用。泪!这个题放在高中可能还知道,全忘干净了。View Code #include <cstdio>#include <iostream>using namespace std;const int maxn = 22;double p[maxn];int main() { int n,i,j; while (~scanf("%d",&n)) { for (i = 0; i < n; ++i) scanf("%lf",&a
阅读全文
输出保留两位小数
摘要:#include <iostream>#include <iomanip>using namespace std;int main(){ int n=12; double s,avg=0; while(n--){ cin>>s;avg=avg+s;} avg=avg/12;// cout<<"$"<<avg<<endl; printf("%.2f",avg); //setprecision只有在设置了fixed或者scientific的时候才表示有效小数位数, //否则表示域宽 co
阅读全文
hdu 最小公倍数
摘要:辗转相除法,代码比较简单记一下。View Code #include<stdio.h>void main(){ int a,b,c,t; while(scanf("%d %d",&a,&b) != EOF){ if (a<b){ t=a;a=b;b=t; } c=a; while(c%b!=0) c+=a; printf("%d\n",c); }}
阅读全文
简单的数组排序 As Easy As A+B
摘要:View Code #include <iostream>#include <algorithm>using namespace std;int main(){ int m,n,i,a[2000]; cin>>m; while(m--){ cin>>n; for(i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); for(i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<a[i]<<endl;...
阅读全文