CSP 2021 二轮最后总结

CSP 2021 二轮最后总结

你好,CSP 2021 第二轮
我又要来了
今天是最后一天的备战,明天我就要离开我的家乡去到那美丽的海边——日照了,在此,我写下最后的总结,也是最后的备考,明天上午的信息课再稍微看看,就要踏上征程了
再总结之前,我想说的是
心态
心态
还是心态
有时候真的感悟出一句话,不要总是盲目地前进,一定要注意经常停下来思考一下当下,心态这个东西真的很重要,无论如何,把这次的考试当成一次考试,而不是一次考试,很拗口,但我相信你明白,一定要坦坦然然地进考场,发挥出自己的真实水平,考试的时候带上耳塞,不要受别人影响,不要像去年一样,什么都会,进了考场匆匆忙忙地跟只猪一样,不要慌张,发挥出自己地真实水平,别到考完试再留遗憾
这次的总结,就以条例的形式展开吧,没有什么好说的,该说的,双十都说了
1.用int不用布尔而导致超空间

2.全局变量和局部变量nm冲突导致函数错误

3.输出不按照格式

4.赋值变量无穷大爆int

5.颠倒i和j

6.没加longlong

7.贪心弄混x1 y1 x2 y2

8.背包弄错n和m

9.bfs弄错head和tail

10.将x1 y1做变量

11.将x>0与x划等号,忽略-1

12.将取余的mod弄错

13.不要使用gets来输入字符踹,用getline(cin,名)

14.不要将循环变量i搞成longlong

15.注意将数组越界

16.经常考虑特殊的值,比如在去年一道题目中的特殊值就是奇数

17.int*int是会爆int的,需要加上longlong

18.考试前的最后十分钟一定不要写了,编译一下程序,避免有CE

19.一些abs max min函数要自己写,然后要带入一些数据检验一下是否正确

20.模拟和搜索,一定要注意了,动规不会的话,就用搜索来爆个30分左右

20.用空间来换时间

21.高精度要用去除前导零

22.用printf输出的时候用了&

23.sort可以用string

24.去重的时候,先排序,再用一个辅助变量,从第一个开始,不断与下一个判断,相等就计数,不相等就需要输出这一段的判断

25.注意二分的上界就是2e9,超出的时候要开long

26.注意判断的时候需要用两个等号

27.注意多组数据的时候不要忘记清零

28.题目说的多组数据,一定要珍惜,当题目是多组数据的时候当成单组数据

29.发现不会的题目,不要灰心,人难我难我不怕难 人易我易我不大意

30.不要死扣题,拿到题目先将所有的题目看一遍,心里大概的就有个数了,然后估算每个题的难易程度并且学会选择和放弃,会的拿全,不会的拿点

31.注意数组的大小

32.考试最后十分钟一定要将那些细节注意注意注意再注意,注意有没有编译一下,注意有没有讲freopen写错

33.对于dp,我估计我考场上也不会打出来,那就用搜索来干,或者没有搜索的思路就用枚举来打
对于搜索的思路就是:
1.main函数里面的预处理
这个其实并没有什么技术含量,只是正常的输入输出,在这里就得明确了,搜索的状态是什么,我需要维护那些量,这里其实就是看的变量了,一般类似于二维的都需要记录x y和步数(价值)然后偶尔还需要记录一下搜索的方向
2.搜索函数里面的最上面——边界
这里需要考虑的就是搜索的尽头,也就是我们的答案的尽头,写道程序的最上面,然后记录一下答案,比较一下最大或者最小
3.搜索函数里面的预处理——假设答案以及剪枝
这里就是对于搜索的小小优化,如果我现在远远地就知道这条路不会到达终点我就不会接下来浪费时间走这条路,不然我就假设现在的答案是真确的答案
4.搜索函数里面的最后主干——搜索
这里需要我们循环我们的方位数组,然后判断是否越界,还没有访问,接下来标记访问,递归下去,最后回溯
以7074代码为例

#include<iostream>
#include<cstdio>
#include<string>
#
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSP-S2提高组是中国计算机学会(CCF)主办的一项全国性计算机竞赛,旨在挑选出优秀的高中生并为他们提供提高计算机科学和编程能力的平台。2021年第二轮题解分为以下几个部分。 第一题是关于石头游戏的思考。题目给出了一堆石头的数量,两位玩家轮流选择石头进行取走,每次可以取走1个或者2个石头,最后无法继续取走者输掉游戏。通过观察可以发现,如果一开始给定的石头数量是3的倍数,那么第一个选手必胜;否则,第一个选手无法必胜。这是因为无论第一个选手怎么选取,第二个选手总可以使得每一轮选取后的石头数量保持在3的倍数。因此,只需要判断起始时石头数量是否为3的倍数即可。 第二题是关于好书的购买。题目给出了若干种书的价格和折扣情况,要求在有限的预算下买到尽可能多的书籍。这是一个经典的背包问题。使用动态规划算法可以解决,按照价格从小到大的顺序遍历书籍,设置一个二维数组dp[i][j]表示在前i本书中,花费j的预算能够买到的最多书籍数量。状态转移方程为:dp[i][j]=max(dp[i-1][j], dp[i-1][j-price[i]]+1)。最终的结果即为dp[n][budget],其中n为书籍总数,budget为预算。 第三题是关于均匀生成所有正整数的问题。题目给出了一个区间[L, R],要求输出在该区间内存在的所有正整数。首先通过观察可以发现,对于任意的正整数x,若2x在区间[L, R]内,那么x也在该区间内;若2x+1在区间[L, R]内,那么x也在该区间内。基于这个思路,可以使用递归的方式实现。若L<=R,则输出L,然后递归输出从2*L到R的所有整数。若L>R,则结束递归。 以上就是CSP-S2提高组2021二轮题解的简要概述。希望这些解题思路对参与竞赛的同学有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值