关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2020年,普及组、复赛,第26届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
推理模拟。
B、算法模型:
模拟。
C、试题说明:
无。
#include<cstdio>
#define Fu(i,a,b) for(int i=(a);i<=(b);i++)
#define Fd(i,a,b) for(int i=(a);i>=(b);i--)
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
int n,w,a[100005],ji,t[700];
int max(int x,int y)
{
if(x>y)
return x;
return y;
}
int main()
{
fre(live);
scanf("%d%d",&n,&w);
Fu(i,1,n)a[i]=max(i*w/100,1);
Fu(i,1,n)
{
scanf("%d",&ji);
t[ji]++;
int num=0;
Fd(j,600,0)
{
num+=t[j];
if(num>=a[i])
{
printf("%d ",j);
break;
}
}
}
fclose(stdin);
fclose(stdout);
return 0;
}
A、试题类型:
基本数学问题。
B、算法模型:
奇偶数。
C、试题说明:
给出一个n,奇数输出-1,偶数输出二进制拆分。
模拟即可(偶数可以从2 2231到2 221枚举,能减就减,输出)。
#include<cstdio>
#define Fu(i,a,b) for(int i=(a);i<=(b);i++)
#define Fd(i,a,b) for(int i=(a);i>=(b);i--)
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
int n,w,a[100005],ji,t[700];
int max(int x,int y)
{
if(x>y)
return x;
return y;
}
int main()
{
fre(live);
scanf("%d%d",&n,&w);
Fu(i,1,n)a[i]=max(i*w/100,1);
Fu(i,1,n)
{
scanf("%d",&ji);
t[ji]++;
int num=0;
Fd(j,600,0)
{
num+=t[j];
if(num>=a[i])
{
printf("%d ",j);
break;
}
}
}
fclose(stdin);
fclose(stdout);
return 0;
}
A、试题类型:
经典问题。
B、算法模型:
表达式。
C、试题说明:
无。
//!(a&b)=!a|!b
//!(a|b)=!a&!b
#include<stdio.h>
#include<iostream>
#include<stack>
using namespace std;
const int maxn=2000000+10;
int w[maxn],tree[maxn][2],xr[maxn],a[maxn];
int tot,n;
int DFS(int u,int f)
{
a[u]^=f;
if(u<=n) return a[u];
int x=DFS(tree[u][0],f^xr[tree[u][0]]);
int y=DFS(tree[u][1],f^xr[tree[u][1]]);
if(a[u]==3)
{//0&v=0
if(x==0) w[tree[u][1]]=1;
if(y==0) w[tree[u][0]]=1;
return x&y;
}
else
{//1|v=1
if(x==1) w[tree[u][1]]=1;
if(y==1) w[tree[u][0]]=1;
return x|y;
}
}
void push(int u)
{
if(u<=n)
return;
w[tree[u][0]]|=w[u];
w[tree[u][1]]|=w[u];
push(tree[u][0]);
push(tree[u][1]);
}
int main()
{
freopen("expr.in","r",stdin);
freopen("expr.out","w",stdout);
string s;
getline(cin,s);
cin>>n;
tot=n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
stack<int>b;
int len=s.size();
for(int i=0;i<len;i++)
{
if(s[i]=='x')
{
int num=0;
i++;//x125
while(s[i]!=' ')
{
num=num*10+s[i]-'0';
i++;
}
b.push(num);
}
else if(s[i]=='&')
{
int y=b.top();b.pop();
int x=b.top();b.pop();
tot++;
b.push(tot);
a[tot]=3;
tree[tot][0]=x;
tree[tot][1]=y;
}
else if(s[i]=='|')
{
int y=b.top();b.pop();
int x=b.top();b.pop();
tot++;
b.push(tot);
a[tot]=2;
tree[tot][0]=x;
tree[tot][1]=y;
}
else if(s[i]=='!')
xr[b.top()]^=1;
}
int ans=DFS(tot,xr[tot]);
push(tot);
int q;
cin>>q;
while(q--)
{
int u;
scanf("%d",&u);
if(w[u]) printf("%d\n",ans);
else printf("%d\n",1-ans);
}
return 0;
}
A、试题类型:
空间问题。
B、算法模型:
DP。
C、试题说明:
DP,但正常的DP做这道题不能向上走,所以考虑分类讨论:
从左边来的(i,j)的最大权值和为left i,j ;
从上边来的(i,j)的最大权值和为up i,j ;
从下边来的(i,j)的最大权值和为down i,j 。
DP显而易见:
left可以从left,up,down更新;
up可以从left,up更新;
down可以从left,down更新;
注意顺序。
#include<cstdio>
#define Fu(i,a,b) for(int i=(a);i<=(b);i++)
#define Fd(i,a,b) for(int i=(a);i>=(b);i--)
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
#define INF 11999999999
long long n,m,a[1005][1005],up[1005][1005],down[1005][1005],left[1005][1005];//不开long long见祖宗
long long max(long long x,long long y)
{
if(x>y)
return x;
return y;
}
int main()
{
fre(number);
scanf("%lld%lld",&n,&m);
Fu(i,1,n)Fu(j,1,m)
{
scanf("%lld",&a[i][j]);
up[i][j]=down[i][j]=left[i][j]=-INF;
}
up[1][1]=down[1][1]=left[1][1]=a[1][1];
Fu(j,1,m)
{
Fu(i,1,n)
{//先转移up和left
if(i!=1) up[i][j]=max(up[i-1][j],left[i-1][j])+a[i][j];
if(j!=1) left[i][j]=max(left[i][j-1],max(up[i][j-1],down[i][j-1]))+a[i][j];
}
Fd(i,n-1,1)down[i][j]=max(down[i+1][j],left[i+1][j])+a[i][j];
}
printf("%lld",max(up[n][m],left[n][m]));
fclose(stdin);
fclose(stdout);
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。