自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 许单单奋斗记:没有人比我更曲折

每个成功者的背后都有不为人知的艰辛,吃的人中苦,方为人上人,我们看看他是如何从一个内向的人变的外向,又是如何走向成功的~进入职场4年半,许单单已经跳了3次槽,从年薪10万的互联网公司员工成为一个年薪近几百万的美国基金公司分析师,许单单的成功是几乎不可复制的。像他这样一个曾经一无所有的人,或许有更强的能力获得一切。许单单的故事非常适合被写成奋斗传奇。1982年出生的安徽农村小子,研究生毕

2012-02-10 10:36:26 1014

转载 一位ACMer过来人的心得

刻苦的训练我打算最后稍微提一下。主要说后者:什么是有效地训练?我想说下我的理解。很多ACMer入门的时候,都被告知:要多做题,做个500多道就变牛了。其实,这既不是充分条件、也不会是必要条件。我觉得一般情况下,对于我们普通学校的大学生,各方面能力的差距不会太大,在这种情况下,训练和学习的方法尤为重要。其实,500题仅仅是一个标志,而且仅仅表示你做ACM-ICPC有一定的时间,我

2012-02-09 10:21:44 493

转载 勉励

凭什么还不自信!!  前几天挺gbx说有个11级的小同学,已经在某OJ上刷过1000多道题,倍受打击!一度感叹为什么我没有早点起步,甚至一度认为ACM是给那些初高中做过NOI的同学准备的。    今天突发神经查了查神牛HH 的简历,真的很震撼:胡浩刚进入大学时,学院就给大一新生介绍了ACM大赛,胡浩对ACM的狂热由此而生。“高中的时候,学校没有信息学,我什么都不懂,只是单纯地对

2012-01-08 12:31:55 1915 1

原创 1046 poj Color Me Less

题意:匹配距离最小的两组数,先给你16个数据,然后再输入数据直到输入三个-1结束输入           把后输入的数据与前16个数据进行匹配,如果他们之间的距离在所有数据匹配中最小           就输出/*Sample Input0 0 0255 255 2550 0 11 1 1128 0 00 128 0128 128 00 0 128126 168

2012-04-09 18:30:46 664

原创 poj 1088 滑雪

题意:找出最长的递增道路,可以上下左右四个方向走DP方程:step[ i ][ j ] = max{ step[ i-1][ j ],  step[ i ][ j-1],  step[ i+1][ j ],  step[ i ][ j+1] };#includeint mp[101][101];//记录原始数据int step[101][101];//记录每个地方的最大滑雪步数int

2012-04-09 16:00:10 596

原创 POJ 2653 Pick-up sticks

题意:给你一堆线段,把所有最上面的直线按输入的顺序输出);分析:法1:最后一条直线必定在最上面,然后枚举其他直线和倒数的直线判断是否相交,如倒数第二条直线           只需要和最后一条直线比较,倒数第三条和最后一条以及倒数第二条           法2:利用队列,将最后一条直线入队,在比较倒数第二跳符合条件进入,不符合排除,再进行倒数第          三条一次类推,这

2012-04-05 21:31:26 633

原创 3168 Sort ZOJ7

#include#include#include#include#includeusing namespace std;int mp[280];bool cmp(char a,char b){ return mp[a]<mp[b];}int main(){ char str[1010]; mp['Z']=-4; mp['O']=-3; mp['J']=-2; mp

2012-04-05 20:17:13 714

原创 poj 2318 TOYS

#include #include #include using namespace std;struct POINT { int x,y;};POINT card_line[10010],toy_point[5010];POINT left,right;bool cmp(POINT &p1,POINT &p2){ return p1.x<p2.x;}int de

2012-03-26 17:54:51 493

原创 poj 1269 Intersecting Lines

题意:若两直线平行,输出NONE           两直线相交输出交点          两直线为同一直线,输出LINE#include #define INF 0xfffffffstruct Point{ int x,y;};Point list[5];int main(int argc, char *argv[]){ int T,i; float k12,k

2012-03-21 17:00:59 504

原创 sdibt 2552 计算1 - 1/2 + 2/3 - 3/5 + 5/8 - 8/13 + 13/21…前n项

如何sum定义为double就错了 定义为float就对了 不知道为什么这道题存储办法和斐波那契数列存储思想相同#include int main(int argc, char *argv[]){ int n; float sum; while(scanf("%d",&n)!=EOF) { if(n==1) printf("1.000000\n"); else {

2012-03-21 16:27:29 1576

原创 sdibt 2548 将十进制数转换成二进制数

键盘输入一个十进制正整数,求出其二进制值, 本题不允许使用数组,也不允许使用递归#include #include int main(int argc, char *argv[]){ int n; while(scanf("%d",&n)!=EOF) { int t=n,i; int cas1=0,cas2=0; while(t)//计算最大的2的几次方 {

2012-03-21 16:23:49 949

原创 sdibt K尾相等数

从键盘输入一个自然数K(K>1),若存在自然数M和N(M>N),使得K^M和K^N均大于或等于1000,且他们的末尾三位数相等,输出M+N的最小值#include#includeint main(){ int k; int a[10000],b[10000]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); whi

2012-03-17 16:50:27 670

原创 sdibt 1221哥德巴赫猜想

/*题意中文题 分析:打表建立素数表,若是素数下标为0,不是素数下表为1 若vis[i]=0是素数,vis[n-i]=0也为素数,则count++; */#include #include #include const int MN=33000;int main(int argc, char *argv[]){ int vis[MN]; int i,j,n; m

2012-03-16 16:26:34 595

原创 zoj Light Bulb

题意:给出H(灯高度),h(人高度),D(灯到对面墙的高度),求L的长度(影子的长度)分析:影子可能只打到墙上,可能既打到墙上又打到地上,也可能只打到地上当只打到地上,当头刚好打到墙和地面的接触点,显然影子最长,影子长度L=h/H*D当只打到墙上,影子长度必然就是人高地上和墙上都有影子的时候,分别延长光线和地面线的交于一点,夹角为Θ角,夹角有限制,tanΘ>=H/D,分界点是人

2012-03-15 18:27:16 995

转载 poj 1423 big number

求n!的位数今天学到的主要是这个Stirling公式:      log10(sqrt(2.0*PI*n))+n*log10(n/e)解题思路: 两种解法1:1+lg(1)+lg(2)+..+lg(n)2:strling公式。方法一:分析:题目的意思是给出一个N,问N!的数字有多少位。对于这种题目,我们首先想到的是使用高精度乘法的方法模拟,最后在看看有多少位

2012-03-14 18:15:22 638

原创 hdu 1846

)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。    显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走

2012-03-13 18:50:07 522

原创 poj 1113 Wall

题意:给你城堡的坐标,建造城堡外面的墙,城堡到墙有一定的距离,该距离给定,求墙的最小面积分析:凸包求最外围的点,周长和就是凸包周长+2*PI*L(运用外角和等于360)#include#include#include#includeusing namespace std;const double PI=(acos(-1.0));const int MN=1500;struc

2012-03-11 10:09:06 465

原创 hdu 2986 Ballot evaluationp

题意:前面p行一个字符窜代表一个数(一个小数字),下面q行,让你判断字符窜相加和后面给的判断是否一致,如果一致则输出正确,否则错误这道题小心再精度,先将小数乘以10换成整数比较思路:输入的数据当成字符窜进行存储ch1,然后拆分ch1,读入到ch2中,一个名字定义一个数组,当遇到空格,说明一个单词存储完毕,输入结束符。遇到+就跳过#include #include #incl

2012-03-09 12:35:22 745

原创 sdibt 1012

题意:给个n,前n行,输入输出一模一样,n后面的一个单词一个单词的输出Sample Input2www.njupt.edu.cn NUPTA C MN U P TerSample Outputwww.njupt.edu.cn NUPTA C MNUPTer #include int main(int argc, char *argv[])

2012-03-09 12:23:46 677

原创 hdu 2991 Generate random numbers

这道题我读了很久不知道什么意思,最后拿数带进去一个个的算,发现算到后来会出现循环的情况,这时候再读题就明白了题目是说,给你一个四位数,其中可以包涵前导零,然后平方,平方后的结果如果不够八位数的话就补前导零,然后再从第三位数字开始取四位数,再次进行平方,要求你计算总共有多少个不同的数字,原先以为4位数的平方会溢出,拿计算器算了下9999平方也才8位,看来我想多了。分析,这道题可以用哈

2012-03-08 15:34:36 859

原创 zoj 2989 Encoding

题意: = 0, A = 1, B = 2, C = 3, ..., Y = 25, Z = 26 (10进制额度) 给你字符窜,让你输出数字,每个数字代表二进制的五位数,按一定蛇形顺序排列,然后 从首位按顺序输出 比如ACM 输入行列都是4 4最后输出是000010001101101#include#include#include int vis[500][500];

2012-03-06 15:15:55 1046

原创 magic square

Magic Square Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[Submit] [Go Back] [Status]Description<!--h1, h2, h3, h4, h5, h6 {margin-botto

2012-03-03 12:58:09 692

原创 函数

int gcd(int m,int n)//最大公约数 { return n==0?m:gcd(n,m%n);}lcm(int a,int b)//最小公倍数 { return a/gcd(a,b)*b}

2012-02-29 17:32:02 440

原创 zoj 3486

注思想#include #includeconst int MAXN=10000;int Arr[MAXN];int T,N;int main(int argc, char *argv[]){ int temp,i,n; scanf("%d",&T); while(T--) { memset(Arr,0,sizeof(Arr)); scanf

2012-02-28 15:07:26 715

原创 acm细节

1.gets前面需要加getchar(),如果前面有先输入数字的话2for (i=0;a[i];i++) a[i]=a[len1-i-1];高精度里头 这样明显错的,只能够把尾够首,不能首给尾

2012-02-27 16:58:32 390

原创 poj 1503 Integer Inquiry

大数相加#include #include const int MAXN=400;int main(int argc, char *argv[]){ int i,j,n; int sum[MAXN],flag=0; char ch[MAXN]; memset(sum,0,sizeof(sum)); while(1) { memset(ch,0

2012-02-16 18:16:04 422

原创 poj 2039 To and Fro

给一组字符窜,一行n个,按下面形式书写,按列打t o i o yh p k n ne l e a ir a h s ge c o n hs e m o tn l e w xSample Input5toioynnkpheleaigshareconhtomesnlewx3ttyohhieneesiaabss0Sample Outpu

2012-02-16 12:03:13 575

原创 poj 2575 Jolly Jumpers

题意:给一组数,邻接的两个数相减的绝对值,构成新数组,该新数组包含1-n-1之间的所有的数 #include #include#includeint comp(const void *a,const void *b){ return *(int*)a-*(int*)b;}int main(int argc, char *argv[]){ int n,i;

2012-02-16 11:37:12 777

原创 poj 3210 Coins

这事一道英语理解题,看了我好久就是n枚硬币,无论初始状态如何,都有一个最小值k次翻转使n枚硬币都同向n为偶数的时候,:n枚同向,则翻转偶数次,有奇数枚反向,则需翻转奇数次才能使全部同向,所以情况不存在n为奇数,数学归纳。。。。。 #include int main(int argc, char *argv[]){ int n; while(scanf("%d",

2012-02-16 11:19:59 580

原创 poj 2013 Symmetric Order

题意:连续两个一个在首位打印,一个在尾打印 /*7BoPatJeanKevinClaudeWilliamMarybethSET 1BoJeanClaudeMarybethWilliamKevinPat*/ #include #includestruct Node{ char name[30]

2012-02-16 10:11:05 605

原创 poj 3619 Speed Reading

题意:整本书N页,k组,s页/分钟,一次持续K分钟,需休息r分钟         #include #include int main(int argc, char *argv[]){ int N,K; int s,t,r,i; scanf("%d%d",&N,&K); while(K--) { scanf("%d%d%d",&s,&t,&r);

2012-02-16 10:07:45 1236

原创 poj 1001 Exponentiation 五个小时。。。回来重写

#include #includeconst int MAXN=10000;int sum[MAXN],sum1[MAXN];void Carry(int len){ int c=0,i; for (i=0;i<len;i++) { int s=sum[i]+c; sum[i]=s%10; c=s/10;

2012-02-15 15:21:05 461

原创 poj 2389 Bull Math

两个很大的数相乘 #include #includeconst int MAXN=100000;char ch1[MAXN],ch2[MAXN];int sum[MAXN];int main(int argc, char *argv[]){ int i,j,Rem; char t; memset(ch1,0,sizeof(ch1)); mem

2012-02-13 23:39:16 451

原创 poj 2000 Gold Coins

题意:n天总共得到多少金币,第一天得到一个,第二第三天得到分别得到两个,第三第四第五天分别得到三个以此类推分析:            1       1            2       2     3            3       4     5     6            4       7     8     9   1 0

2012-02-13 11:40:41 1854

原创 poj 1002 487-3279

/* ********************Sample Input**12*4873279*ITS-EASY*888-4567*3-10-10-10*888-GLOP*TUT-GLOP*967-11-11*310-GINO*F101010*888-1200*-4-8-7-3-2-7-9-*487-3279**Sample Ou

2012-02-12 19:18:33 1059

原创 poj 1401 Factorial

题意:N!求末尾有几个零 求阶乘末尾0的个数,对于较小的数的话可以计算出来后在算末尾0的个数,但是数字较大的时候则比较麻烦,可以通过如下原理反复的除以5得到最后的结果:原理是: 假如你把1×2×3×4×……×N中每一个因数分解质因数,结果就像: 1 × 2 × 3 × (2 × 2) × 5 × (2 × 3) × 7 × (2 × 2 ×2) ×…… 10进制数结尾的每一个0都表示有一个

2012-02-12 13:08:44 466

原创 动态规划例题 最大上升自序列

问题描述一个数的序列 bi,当b1 个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1 iK 这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入数据输入的第一行是序列的长度 N (1 整数的取值范围都在0 到10000。输

2012-02-12 09:18:34 949

原创 poj 2608 Soundex

#include char ch[20]; int Find(int i){ while(1) { if (ch[i]==ch[i+1]) i++; else if(ch[i]!=ch[i+1]) return i; }}int main(int argc, char *argv[]){ int i; while(scanf("%

2012-02-11 10:46:48 399

原创 poj 1844 sum

Sample Input12Sample Output7HintThe sum 12 can be obtained from at least 7 terms in the following way: 12 = -1+2+3+4+5+6-7.  大牛们证明的:一:sum一定要大于或等于输入的S.(等于时就已经找到了答案)小于的话就算全做加法运算也不能达到

2012-02-11 09:10:34 476

原创 poj 3979 分数加减法

小心注意 分子=0;分母=1;求最大公约数r赋初值sum=0时直接退出,后面求最大公分无法进行#include #includeint main(int argc, char *argv[]){ int a,b,c,d,sum,t; int max,min,r; char e; while(scanf("%d/%d%c%d/%d",&a,&b,&e,

2012-02-11 08:20:29 573

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除