【CSP考前复习】关于考试时的注意事项

前言

作为一名已经服役4年的老年OI选手,经历过的考试已经是数以百计了。在这么多次考试中,爆零垫底是常有的事,运气好了靠暴力得到好名次的事也经常发生。那么,CSP临近,我想有必要好好整理一下这些问题和经验。

一、关于暴力

1、为什么要打暴力——得分

这不废话吗考试的时候不打暴力等着爆零吗嘤嘤嘤
首先,我们要明确打暴力是一件非常正确且有用的事:
第一,如果最后想不出正解,暴力的分数拿到手一般也能获得不低的成绩;
第二,出题人有时会把正解的思路放在暴力分里,比如某些DP和数据结构,往往是先引导你打出暴力,然后进一步优化得到正解;
第三,就算真的打出了正解,暴力也是用来对拍的一个好方法,可以让你的正确性得到保证。

当然,有时候出题人想要故意提升题目难度,就会把部分分给的少,甚至可能用部分分来误导思想,不过这种情况一般占少数,在CSP的正规比赛中部分分都是用来提示正解的,只是分明显与否。

2、暴力该怎么打——审题

暴力分往往是在运行时间/空间不够优秀,或者在线/离线这方面有限制时得分的好手段。一般来说,通过观察数据范围可以得到相对应的算法复杂度,这一定程度上有助于考虑暴力和正解。

举个例子,我认为部分分给的最好的——天天爱跑步。我之所以认为这道题的部分分最好,一是因为它具备上面提到的提示效果,你只要打完所有的暴力,再加上思考和码力,就能得到正解;二来,即使你想不出正解,部分分之间的层次性也很强,完全可以根据自己的能力得到对应的分数。

这是部分分的分布:
在这里插入图片描述
假设我们之前不认识这道题,重新来分析一遍:

1、测试点1~5明显送分,只要读懂题就能想到暴力模拟

2、测试点6~8因为数据范围扩大了,之前的算法不能再用,我们换个思路,考虑每个观察员对什么样的经过路线有贡献,于是思路往差分上走,再通过一些思考可以推出产生贡献的式子

3、测试点9~16举出两种特殊情况,结合6.7.8的差分,再加上一定的模拟,可以得到树上差分的程序。

4、考虑到将链拆为上行和下行两段,发现可以用部分分的解法来分步解决,再加上码力和实现,就可以得到满分程序。

综合上文以及我的经验来看,分析暴力得分以及从暴力到正解一般有以下思路:

1、看数据范围:

常见的有这些:
n < = 10 n<=10 n<=10 阶乘级算法:枚举全排列
n < = 20 n<=20 n<=20 指数级算法:暴力搜索,依次枚举,状压DP,多维DP
n < = 500 n<=500 n<=500 N^3 :DP,搜索剪枝,Floyd,网络流
n < = 2000 n<=2000 n<=2000 N^2 :DP,循环迭代,递归处理
n < = 100000 n<=100000 n<=100000 Nlog^2N~Nsqrt(N):二分+数据结构,树套树,分块,CDQ,二维树状数组
n < = 500000 n<=500000 n<=500000 NlogN:线段树,平衡树,DP优化,莫名其妙的贪心
n < = 1000000 n<=1000000 n<=1000000 NlogN~N:奇怪的贪心,结论,数学题,树状数组,时限开大了的线段树,最短路,最小生成树,快速幂等(这个档最多
n < = 10000000 n<=10000000 n<=10000000 矩阵快速幂
再往上一般就不是CSP会考的东西了。

2、转化题意

许多的题目其实本质上考察的东西是一样的,只不过由于题面的加工,我们往往不能辨识出这是哪一类问题。这时候就要进行模型转化,将所求的问题分成几个子问题分别求解,或者是转化为一类我们学过的问题。有的题像是DP,但是实际上可能是个结论题或者数学题;有的题看上去是图论,其实可以做出生成树然后转化为树上问题。这一步比较靠个人能力以及做题经验,这里不多阐述。

3、正难则反

如果推DP式子已经到了绞尽脑汁的地步却还是不能过掉全部数据,抑或是在试图优化一个log时无从下手,这时候就要逆向思考。一方面,可以考虑利用当前得到的有用结论,从另一个方面来解决问题;另一方面,如果直接求出满足条件的答案不好实现,我们可以考虑算出不合法的答案,或者是通过二分来转化为检验答案,这样往往能够降低代码难度和思维难度。

4、打表与搜索

这两个算是暴力中最暴力的,但是很多时候打表可以得出很多结论,有时候就能过掉结论题,或者是通过决策单调性优化DP,总之用处很多。读不懂题,可以打表理解;优化不了,可以打表找出规律。而如果搜索得当,像去年NOIP的D2T2,打出正解也不是难事。因此,无论掌握了多么高级的算法,最为基础的这些仍能起到很大的作用。

二、关于查错

在考场上想要拿到高分,光有想法是不够的,还要有足够的实现能力和调试能力。多少人想出了正解,却最后挂在细节上,结果最后还不如暴力分高……

如果想要锻炼实现能力,我推荐去做下猪国杀这样的模拟题;如果想要锻炼调试能力,建议多去做做大杂烩类型的数据结构题,比如树链剖分+换根,LCT+最小生成树+Tarjan,吉司机线段树大全等等……

当然,并不是说做的多就一定能力强,也不是说不做能力就很弱。经过我的总结,做到以下几点,一般可以很快的调试出错误来。

1、认真构思

代码实现的错误很多都是因为在构思时没有考虑到个别特殊情况或者是边界条件,最后反倒会花很多时间来处理这些问题。因此在动手打代码之前,要保证思想已经成熟。当然,也可以一边敲着你已经很熟悉的模板一边思考,但是最核心的部分一定要深思熟虑,考虑到能考虑到的所有情况,尽可能不出差错。比如线段树的pushup和pushdown。既然多数时候都错在这,那么就可以放到最后来实现,争取一次性写对。

2、多写函数

并不是说函数越多越好。在某些重复调用的部分,可以考虑写函数来实现,避免重复的代码造成的代码量大,代码量一大调试难度就会上升。不过,写函数是在你确定这几部分可以用同一个函数实现的前提上,比如猪国杀的抽牌、出牌、死亡判定等。如果牵涉到细节上的不同,而你又拿不准,建议还是展开写,否则后期调试反而会增加难度。

3、对症下药

所谓“症”有多重意思,我们在调试代码时,往往考虑这三点:

错误的类型。如果是RE或者TLE,多半是在递归函数的地方出了问题,这时候就可以使用return 0大法,判断出是在哪个地方出了问题;如果是WA,那么有可能在某一步之前你的答案都是正确的,此时采用分段输出+人肉检索就可以判断。

题目的类型。如果是线段树这类的题,多半写挂是在pushup和pushdown上面;如果是模拟、结论题这类,多半是没有考虑到特殊情况和边界条件;而如果是和图有关系,则有可能是在边和点的遍历上有问题。除此之外,在线时是异或lastans还是+lastans,多组数据输入是否数组清零这些都是常见问题。

自己的问题。打了这么久的代码,大家应该对自己常常犯什么样的错误有印象,比如忘了开longlong,加边加成单向,数组开小,临时变量不初始化等。建议在考前把自己的WA代码拿出来翻一翻,总结一下常见的错误,在考试的时候就要专门针对这些错误进行检查。去年NOIP的考场上我就是因为D2T1数组开小D2T2乘法未及时取模而直接错失一等

下面是我个人总结的一些错误汇总:
不开longlong,vis数组多次调用未清空,忘了把cnt从2开始,数组开小,阶乘的第0位不赋值,一行代码过长导致同一变量写了两次,忘记及时取模,标记下传顺序有误,边界条件考虑失误,二分上下界不对

待补充.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53715.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CKA OFFCIAL TEST准备工作考试说明练习题

文章目录 1. 准备工作1.1 证书详情1.2 考试注意事项 2. 考试说明2.1 考试环境2.2 考试期间允许的资源2.3 考试技术说明2.4 可接受的测试地点2.5 其他资源2.A 考试小提示 3. 练习题Task 1. RBAC - role based access control&#xff08;4/25%&#xff09;Task 2. drain - highl…

CCNA考试流程、考试费用及考场介绍

4月15日CCNAHCIA新一轮班级开班 CCNA&#xff08;Cisco Certified Network Associate&#xff09;思科认证网络工程师 一、CCNA认证考试流程 ccna考试认证&#xff0c;先学习CCNA理论知识&#xff0c;然后下载CCNA考试题库&#xff0c;预约考试&#xff0c;参加并通过考试。 C…

股票ctp交易接口是什么?

股票ctp交易接口是什么&#xff1f;CTP接口除官方发布的C动态库外&#xff0c;很多人也提供了Python、Java、C#等各主流语言的接口&#xff0c;可搜索相应的开发方法。一个连接能够查询的股票数量是有限的&#xff0c;性能也不高&#xff0c;但是可以创建多个api实例并发工作&a…

美股投资指南 – 网上美股开户其实很简单

美股开户教程 – 从香港招行到Firstrade 犹豫再三&#xff0c;觉得还是把这帖子贴在这里吧&#xff0c;文章是我写在自己新开的博客里的&#xff0c;分上下两篇&#xff0c;记录自己在美股开户中碰到的问题&#xff0c;写的不咋怎么样都是粗记录&#xff0c;既然成文就公布吧&a…

阿里云Redis之:为阿里云Redis申请公网地址(十九)

1.申请公网地址 1)点击实例信息—>找到连接信息—>找到公网访问—>申请连接地址 2)填写外网连接地址,然后填写端口号,最后点击确定。 3)外网地址申请成功 2.通过Redis客户端连接云Redis 阿里云官方反馈公网地址不能通过Redis Desktop Manager连接,存在兼容性问…

阿里云申请域名及域名配置https

1、阿里云域名申请 买到域名之后&#xff0c;要对域名进行实名认证&#xff08;上传身份证并拍照&#xff09;&#xff08;阿里云审核一天&#xff09; 2、域名工信部备案 1、阿里云域名备案&#xff0c;这个也要实名认证&#xff0c;其中阿里云员工审核并打电话&#xff08;…

天池_阿里音乐流行趋势预测大赛(1) —— 赛题分析

本文以天池大数据竞赛的阿里音乐流行趋势预测大赛为背景&#xff0c;将机器学习实战的背景、模型、算法、代码和结果等都整理下来&#xff0c;放在博客中&#xff0c;算是对自己知识的整理吧&#xff0c;有兴趣的朋友也可以看看一起讨论学习。 由于很多比赛和项目是由第三方提…

申请阿里云免费证书

阿里云免费SSL证书申请 阿里云免费SSL证书是赛门铁克&#xff08;Symantec&#xff09;品牌的&#xff0c;免费证书只能保护一个域名&#xff08;带www和不带www可以通用&#xff09;。 阿里云个人账号和企业账号均可申请&#xff0c;多个域名可以申请多个免费证书&#xff0c;…

玩转各大自媒体平台的推荐机制,让你快速上爆文,让你快速月入过万!

有许多人说&#xff1a;为什么我的自媒体平台的推荐多&#xff0c;阅读很少呢&#xff1f;为什么推荐和阅读的比例都很好&#xff0c;却停止推荐了呢&#xff1f; 自媒体平台的推荐量和阅读量到底有什么关系&#xff0c;为什么有的文章推荐多&#xff0c;有的推荐少呢&#xff…

自媒体平台做网赚不要指望着,平台广告分成!

其实现在的无论是自媒体文字渠道&#xff0c;仍是自媒体视频渠道&#xff0c;有一点你要知道&#xff0c;现在不要盼望着在这些渠道上面经过阅览量和播放量来获取收益&#xff01;你要真的盼望这点钱来做自媒体来挣钱&#xff0c;我去劝你仍是洗洗睡吧&#xff01;送个外卖都比…

个人自媒体如何利用辅助工具引流推广到获客变现

大家好&#xff0c;我是小鱼 今天给大家分享的是自媒体是怎么开始的引流推广到后面的流量变现 ​现在,自媒体内容引流推广是一种非常受欢迎的方式,许多企业和个人都在利用自媒体来宣传自己的产品和服务。那么,自媒体是怎么引流推广获客流量变现的呢? 主要原因是自媒体内容能够…

必做的高收益自媒体平台,分享给大家

现在市面上的自媒体平台是非常多的&#xff0c;大大小小加起来也有30好几个&#xff0c;但是要说到哪些平台收益比较高&#xff0c;那就不得不提到下面这个几个主流平台&#xff0c;今天就给大家分享一下收益比较高的几个主流平台。 第一个&#xff1a;百家号 百家号平台目前的…

1个人做自媒体,就选这4个领域,变现容易,操作简单

方向不对&#xff0c;努力白费。这就是解释了为什么有的人做自媒体越做越好&#xff0c;挣的钱越来越多&#xff0c;但是有的人再怎么努力&#xff0c;拼命研究内容、平台规则&#xff0c;但是就是不能快速涨粉&#xff0c;越做越差&#xff0c;后来因为挣不到钱而放弃了。 一个…

关于自媒体运营变现经验分享

自媒体赚钱说轻松也轻松&#xff0c;说难也难。很多教程分享的自媒体经验大致上都差不多&#xff0c;就是在各个平台上发布文章或者视频即可。这些做起来是很简单的&#xff0c;但是吸粉和变现如果没有一点技巧还是有点难度的&#xff0c;也需要掌握一定的方法&#xff0c;这个…

怎么加入自媒体,了解这5种变现模式,让账号快速变现

做自媒体入手之前&#xff0c;需要做各种准备&#xff0c;需要了解平台规则&#xff0c;变现方式&#xff0c;了解自己的能力和擅长部分等等。 1&#xff09;平台广告 靠平台广告是最常见的一种变现模式&#xff0c;一般根据文章的阅读量、点赞量、收藏量等数据进行计算&#…

推荐6个自媒体平台,变现门槛低,还有官方扶持

很多朋友想通过自媒体平台做份副业&#xff0c;却不知道从哪里开始&#xff0c;今天就给大家推荐6个比较适合新手的自媒体平台。 入门容易&#xff0c;变现门槛低&#xff0c;甚至还有官方出钱扶持。 第一、头条号 流量非常大&#xff0c;并且不太看中粉丝的一个平台&#xf…

实例分析Facebook激励视频广告接入

一&#xff0c;前期基础知识储备 1&#xff09;.Facebook Audience Network 新手入门 使用 Facebook Audience Network&#xff0c;您的 Android 应用可以通过展示 Facebook 广告实现创收。以下是文档位置 https://developers.facebook.com/docs/audience-network/get-start…

看过都不会后悔,这估计是2022最有意思的瓜

虽然 2022 年已过半&#xff0c;但是我个人已经把这个瓜评选为年度前三了。很久没有吃过这么有质量&#xff0c;又让我酣畅淋漓的瓜了。 事情这样的&#xff0c;我在知乎上刷到了这样的问题&#xff1a; 按理来说&#xff0c;我是一个数学渣的&#xff0c;这种关于数学的问题我…

移动卡(非全球通)欠费停机3个月后自动销号无影响

想要查询手机号归属地和卡品牌的&#xff0c;可以去手机号码归属地查询 或者全国手机查询

电信副卡显示无服务器,电信副卡,你从来就是一个陷阱吗?

电信副卡,你从来就是一个陷阱吗? 前年,在某电信营业厅,经不起工作人员的热情推介,我办了一张副卡。副卡是跟自己的电话卡(主卡)绑定在一起的另一张电话卡,副卡和主卡共享话费和流量,主副卡之间无限通话,副卡不用缴费,但需要主卡每月多交10块钱。 当时正值假期,我想,…