13年7月7日 ACM 第一天培训
来源:互联网 发布:怎样帮淘宝刷好评挣钱 编辑:程序博客网 时间:2024/05/17 23:59
共6题 比赛中 解出两题(A与E) B题 交了超时 未过 C与F没有解出
A题 挺简单的,关键在于整数与小数之间的转换,通过C语言可方便解出,也可通过C++中的setiosflags进行转换
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a,b,m,n,p;
while(cin>>m>>n)
{
p=(double)n/m;
a=(m+p)/2;
b=(m-p)/2;
cout<<setiosflags(ios_base::left)<<setiosflags(ios_base::fixed)<<setprecision(2)<<setw(3)<<a<<" "<<b<<endl;
}
return 0;
}
B题 刚开始题意理解错了,浪费了许多时间,待题意理解正确后,在对于寻找最长等差数列上出现问题,导致结果错误
从第三个数开始判断 a[ i ]-a[ i-1 ]=a[ i-1 ]-a[ i -2 ] 判断等差数列,并记录此等差数列的长度,开辟数组 len[ i ] 记
录长度,并开辟一个数组 D[ i ] 记录这个等差数列的公差,最后得到 len 数组中最大数为 j ,输出 D[ j ]
C题 题意不太理解,经过讲解,有些理解
关键在于板与板之间的联系,从第一行开始枚举,之后的几行要根据之上翻过的次数进行翻板
D题 对于括号的排列,首先要确定前面的“( ”,后面一定有 “ )”与之对应,前一对括号的放置方法乘以后面 N-1 对括
号的放置方法,依次累加即得 N 个括号的的放置方法
即 令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) 卡特兰数组
E题 刚开始用递归,结果超时了,就在找规律,发现这个函数 每 5 个循环 就发现 很水了……
#include<stdio.h>
int main()
{ long long m,i;
float f[6];
while(scanf("%f%f%I64d",&f[1],&f[2],&m)!=EOF)
{ for(i=3;i<=5;i++)
{f[i]=(f[i-1]+1)/f[i-2];}
if(m%5==1)
printf("%.6f\n",f[1]);
else if(m%5==2)
printf("%.6f\n",f[2]);
else if(m%5==3)
printf("%.6f\n",f[3]);
else if(m%5==4)
printf("%.6f\n",f[4]);
else if(m%5==0)
printf("%.6f\n",f[5]);}
return 0;
}
F题 如果只有三个点就好做多了,但是真的不知道 他给500个数 从中找 等腰三角形 好吧,这个真心不会!!
- 13年7月7日 ACM 第一天培训
- 暑假第一天 7月6日
- 7月18日 第一天
- 第一天 2010年7月14日
- 11月20日——培训第一天
- 我的历史:2005年7月13日 第一天到中国银行工作
- 11月27日——培训第7天
- 12月7日——培训第15天
- 1月7日——培训第39天
- 3.17 ACM培训第一天
- 贵州支教之第一天(11月7日)
- 2015年7月30日19:22:31--第一天Oracle的sql文件
- 9月7日培训日记
- 10月7日培训日记
- 12月4日——培训第13天
- 1月13日——培训第44天
- 3月13日——培训第78天
- Java培训第04天 Java基础知识(三)---2017年07月13日
- POJ2892 Tunnel Warfare
- 反素数
- 黑马程序员_java基础--多线程
- android UI布局
- 寻找数组中最大的K个数
- 13年7月7日 ACM 第一天培训
- 黑马程序员--String
- cmd运行java
- 全键盘输入法
- 新生赛暑假第一场 解题报告
- [034] 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- ArcGIS 帮助文档行内模型变量替换的示例的一个错误
- Excel地址转换
- linux系统下更改时间