CSP-J 第二轮拿分攻略

如果你的目标是几等奖(湖北的要求),你可以根据这个帖子来拿分。

题目分析

第一题

分值

暴力 70-90 分;
优化暴力,或把公式推出来 100 分;
保暴力得分,争取剩下的分:

利用 if 语句判断数据范围,在范围内的用暴力,范围外的用优化。

考点

基本上都是把公式推出来然后就满分了,例如:分糖果

难度

\color{red}入门 \color{black}\sim \color{orange}普及-

第二题

分值

暴力 50 分

如果你想稳一个二等奖,后面直接骗分就行。

思路/算法优化可以拿到 100 分。

如果不会优化的可以看特判 A,B,C 多拿 0-30 分。

考点

dfs 深搜,bfs 广搜,链表,贪心…

难度

普及- \sim 普及/提高-

第三题

分值

暴力 10-20 分。
特判 A,B,C 可以到 50 分。
到这里第一题优化 100 分+第二题暴力 50 分+第三题暴力10 分,就可以拿到一等奖了,如果第三题能把特判优化出来就可以稳拿一等奖了(湖北)。

考点

dfs/bfs/链表/贪心/递归/递推/暴力/函数/数学/二分/前缀和

难度

普及/提高- \sim 普及+/提高

第四题

骗分 0-15 分,ABC 点 30 分。

其他没什么好说的了。

总结

三等奖(30 分)

  • 全部骗分(小概率)
  • 第一题暴力

二等奖(120 分)

  • 第一题暴力+第二题暴力+第三四题骗分
  • 第一题优化+第二题暴力
  • 第一题暴力+第二题暴力 + ABC
  • 第一题优化+第二三四题特判 ABC

一等奖(150 分)

  • 第一题优化+第二题暴力+三四题特判 ABC
  • 第一提暴力+第二题暴力+第三题暴力加特判+第四题骗分。
  • 第一题优化+第二题优化

考点

dfs/bfs/链表/贪心/递归/递推/暴力/函数/数学/二分/前缀和

欢迎评论区补充

深搜 dfs 模版。

void dfs(int x,int y,int bs){
	if(x==n&&y==m){
		mina=min(bs,mina);
	}
	for(int i=0;i<4;i++){
		int xx=x+dx[i],yy=y+dy[i];
		if(xx<1||yy<1||xx>n||yy>m)continue;
		if(c[xx][yy]=='#')continue;
		if(vis[xx][yy]==1)continue;
		vis[xx][yy]=1;
		dfs(xx,yy,bs+1);
		vis[xx][yy]=0;
	}
}
6 个赞