关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2006年、普及组、复赛,第12届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
基本数学问题。
B、算法模型:
stl应用。
C、试题说明:
用stl,vector排序然后去重,包括sort,unique。以及vector自己的erase。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
unsigned int n;
cin>>n;
if(0==n)
return 0;
vector<int> iDS;
int t;
for(int i=0;i<n;i++)
{
cin>>t;
iDS.push_back(t);
}
vector<int>::iterator iter;
sort(iDS.begin(),iDS.end());
iter = unique(iDS.begin(),iDS.end());
if(iter!=iDS.end())
iDS.erase(iter,iDS.end());
cout<<iDS.size()<<endl;
for(iter=iDS.begin();iter!=iDS.end();iter++)
cout<<(*iter)<<" ";
}
A、试题类型:
生活推导。
B、算法模型:
背包。
C、试题说明:
钱是体积,钱×重要度是价格。
#include<iostream>
using namespace std;
#define N 30004
#define M 30
long long dp[N]={0};
long long V[M]={0};
long long W[M]={0};
int n=0,m=0;
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>V[i]>>W[i];
W[i]*=V[i];
}
for(int i=1;i<=m;i++)
{
for(int j=n;j>=V[i];j--)
{
dp[j]=max(dp[j],dp[j-V[i]]+W[i]);
}
}
cout<<dp[n]<<endl;
return 0;
}
A、试题类型:
无。
B、算法模型:
无。
C、试题说明:
每一次找到第一个可以向后移的字母,然后将它向后移一位,再把它后面的原来有的几个都一次堆在后面就可以了。
没有找到可以向后移的,直接跳出循环。
#include<bits/stdc++.h>
using namespace std;
int s,t,w;
string a;
int f[26];
int main()
{
scanf("%d%d%d",&s,&t,&w);
s--;t--;
cin>>a;
int len=a.length();
for(int i=0;i<len;i++)
f[a[i]-'a']=1;
for(int l=1;l<=5;l++)
{
int k=0,i;
for(i=t;f[i];i--,k++)
f[i]=0;//就是找到第一个空格
if(k==w)
break;//全部都删掉了
for(;!f[i];i--);//再找到前面一个字母
k++;
f[i++]=0;//删掉
for(int j=i;j<i+k;j++)
f[j]=1;//直接堆在这里
for(int j=s;j<=t;j++)
if(f[j])
printf("%c",j+'a');//输出
printf("\n");
}
return 0;
}
A、试题类型:
数学问题。
B、算法模型:
递归。
C、试题说明:
无。
#include <iostream>
#include <cmath>
using namespace std;
/**
* 判断 x 是不是 2 的 k(k为正整数)次方
*/
bool judgePow2(int x)
{
int y = log(x) / log(2);
int result = pow(2,y);
return result == x;
}
/**
* 递归
*/
int add(int n, int k)
{
if(n==1)
return 1;
if(n==2)
return k;
if(judgePow2(n) == true)
{
int p = log(n)/log(2);
int result = pow(k,p);
return result;
}
int temp = log(n)/log(2);
int base = pow(k,temp);
int temp2 = pow(2,temp);
return base + add(n-temp2,k);
}
int main()
{
int m,n;
cin>>m;
cin>>n;
cout<<add(n,m)<<endl;
return 0;
}
IT航班提供:课程视频、、课程书籍、竞赛辅导、少儿编程指导、课程采购、加盟、少儿编程资料、少儿编程课程、保送生、特长生、加分、中小学计算机教育、中小学信息学、竞赛、中小学信息学课程、人工智能、中小学编程加盟、少儿编程加盟、品牌加盟、技术加盟、技术指导、课程加盟、师资培训、中小学编程教辅资料、中小学编程教师培训、少儿编程教学书籍、少儿编程视频、教学书籍、教师培训、教学视频、CSP-J/S、中小学信息学课程服务、竞赛指导、课程提供、国内外计算机中小学计算机竞赛、信息学竞赛、信息学课程提供商、信息学奥林匹克。
IT航班支持----中小学编程比赛汇总:
第一部分:国内比赛(IT航班支持)
1、软件能力认证(CSP-JS)
2、全国青少年信息学奥林匹克联赛(NOIP)
3、全国青少年信息学奥林匹克竞赛(NOI)
4、中国青少年………………………
5、………………………创新挑战赛
6、全国青少年………………………
7、………………………
8、 恩欧希教育信息化发明创新奖
9、世界机器人大赛(WRC)
10、………………………大赛
11、少………………………智能教育成果展示大赛
12、“明天小小科学家”奖励活动
13、………………………
14、………………………
15、国际信息学………………………
16、………………………
第二部分:国际比赛(IT航班支持)
17、………………………
18、国际………………………
19、………………………
20、美国信息学………………………
21、加拿大………………………
22、官方邀请赛 (CCO)
23、国际计算思维………………………
24、美国计算机………………………
25、澳大利亚………………………
第三部分:企业比赛(IT航班支持)
26、微软MTA
27、………………………挑战赛
28、………………………科学奖
29、………………………学奖
30、………………………创新挑战赛
31、………………………挑战赛
32、………………………芯计算机表演赛
33、………………………大赛
第四部分:Scratch相关竞赛(IT航班支持)
34、全国中小学生电脑制作大赛
35、………………………
36、………………………
37、………………………
第五部分:其它(IT航班支持)
38、NOI夏令营
39、NOI冬令营(NOIWC)
40、全国青少年………………………
41、国际青少年………………………
联系方式:
A、官方网址:
B、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。