前言

这是一篇迟来的总结,不过可能也不算太迟。

正文

截至起稿时间(2024.10.23),这个月已经讲了四次课,考了五场试。内容基本全是基于前一段时间的内容进行提升,对我而言很有帮助。我也意识到自己的很多问题,包括考试也包括做题,后面我会进行详细地分析。

关于讲课

内容涉及到了 ds、dp、图论、数学、字符串,所遴选的题目均为提高水平及以上,题目颜色从蓝到黑,以紫为主。

ds 方面主要是选的合并数据结构的题,对于这些题我们还是要回归题目本身,先去想题目的性质,然后考虑维护什么信息,如果不好维护我们怎么转换,然后选取什么样的数据结构?空间、时间、代码实现难度都是我们需要考虑的。给的题写了 \(\frac{3}{4}\),但是最难写也是最有含金量的题基本没碰。必须在 noip 前把这种硬骨头啃下来!

dp 的题太过于巧妙,我见到了许多技巧,感觉这些非常高妙。但是我认为还是要老老实实先去想朴素 dp,然后优化就交给上天吧!但是一些固定技巧还是需要掌握,像决策单调性、斜率优化啥的的题都必须要会写。还有就是需要特别注意一些不好想 dp 状态的题目,这个时候就放手一搏吧(雾不要害怕直接上高维 dp / 超级状压 dp,然后慢慢分析题目性质去剪枝。截止起稿时间题单完成度(8/20),感觉写不动,代码没思路。问了一些学长,建议可以看题解是如何实现的,但是真正写代码时必须独立完成

图论感觉讲得比较杂(本来也就该这样),主要要注意的是建模,这方面还需要多做题。其次就是 tarjan 的一堆东西需要熟练,我还做的不太到位,需要抽时间多复习几次!然后是进阶的圆方树,还有虚树(了解大概怎么建优秀就行)需要花一点时间搞。

数学讲了拉插,现在完全搞懂了,线性基在之前讲线性代数的时候自己悟出来了。但是数学的内容都很重要,现在我还是对一些数学知识有遗忘,记忆不深刻。而我在数学方面下的功夫还不是特别多,之后重点要搞数学,得把一些东西学透。

贪心的东西挺有趣也挺考人的,需要一定时间的思考,但是还好。不想做代码难度太大的题时可以做几道放松一下。

总之讲课的内容有很多需要加深、强化,后面需要更加努力了。

考试

10.14 考的图论的基础练习,反映出我很多问题。对待事物非常马虎,这很致命!必须改掉这个坏毛病!表现出的“症状”就是第一题建模时没把条件写全然后寄了。审题验证对于题目的想法能力欠缺,考试时第二题没想通透。T4 就差一步也说明了我图论建模能力不足。我要多注意偏序关系以及相等关系!这些二元关系都可以看成点与点之间的长度限制。

10.15 的题有点难崩,第一道是 wqs 二分+最小生成树,之前水哥还讲过,我没太想起来。T2 经典二分图建模写了,T3 alpha beta 剪枝,但是我连暴力 dfs 都写假了,还花了不少时间,真正考试还需要注意时间的分配,T4 是有向图割点,自己赛时按自己的想法写了一个发现假了,结果需要掌握支配树的知识,但是我认为现阶段还不需要掌握所以没去改题。

10.19 开始就是比较综合的 noip 及以上的模拟赛了。第一题签到不管;第二题是一个性质较为明显的题,但是我没想出 dp 就去贪心了,结果假了,以后遇到这种情况考虑转换 dp 记录的状态,然后再去尝试,而不是干啥都往贪心方面去想,要给 dp 留空间,也要适当考虑贪心。T3 一眼线段树维护一段状态,但是时间不够我就没写,下来感觉维护不难就鸽了。T4 就是要从最简单情况入手找性质,然后发现一些简单的二维偏序关系,于是就可以类似 cdq 分治 一样去建图,感觉题很好,然后就去写了题解。

10.21 考得不好,T1 挂了,纯推式子有一个地方计算错误,T2 非常傻逼一道题居然没有想出来(最大子段和套上枚举最大最小),我都已经写完最大子段和但就是不知道怎么找最大,这时其实直接钦定就行,反正如果不优就一定会被更新掉。T3 我都没太把题读对,然后套线段树加奇妙优化乱搞,正确性有点假但是数据水把我放过了,后面把题目读清楚才发现求最小不是相差最小(虽然代码写的是最小),于是按最小的插入然后按顺序(或倒序)扫一遍就行,那树状数组存一下就做完了。T4 神秘题不知道没讲也就暂时没管了。

10.22 T1 \(O(n)\) 时间 \(O(1)\) 空间薄纱所有解法!薄纱标算!T2 以为是 SA 然后写了一个板子就去乱搞,最后没发现什么有用的性质就数据分治了一下 70pts,结果正解就是优化 35pts 的暴力,其中 \(O(n)\) 判断是否可以更新答案的地方可以用 hash 预处理加上 \(\log n\) 的二分判断。后面两道很神秘没管。

10.23 成为耐挂王了,300pts->70pts。很难过,又想起去年了,很晚才睡着。题很简单,目测绿蓝蓝黑,前三道真随便做,结果第一题没特判上界有一个地方,第二题 kmp 求反函数炸了,赛后改成 exkmp 就过了,T3 也是一个性质题,结果下面运动会排练吵得我一直没想出代码实现就难崩,就两个树状数组再记一记前缀的东西就行,明明都写了就是组合计数的有一点地方一直没有推出来导致 0 pts,最后真就差一点。T4 都没有时间去想了,主要因为中午睡觉起来头昏导致 T2 调久了且还把最坏情况 kmp 复杂度算错。

总结

关于做题

对于一个题目,先去通读题面,了解你需要求什么东西,观察要求的东西有什么特点,比如如果只是求一个最值你就可以考虑二分啥的,或者优先考虑 dp 贪心这两个。然后就需要根据具体题目去分析性质,根据性质做题。

具体做题的时候比如你发现了性质先别慌,想想它可能跟什么有关,然后把能找到的性质尽量都找找,像什么答案是取一段一段前/后缀的,或者是取满足一些条件的一定不劣之类的可以对状态进行剪枝。把这些性质找完后罗列出来,看看怎么将它们有机结合,具体的还是得看题。然后做题的时候不强制去想正解,你先去想怎么做能满足正确性。满足正确性后就需要去关注数据范围和\(\color\red数据边界\)。

因为我实力还不够,有的题可能就不能直接想出正解,这时我可以先得到一个不优秀的解法,然后考虑去用数据结构优化一些找状态的过程,如果有很多状态重复就应该考虑预处理一些东西把它们记下来。如果发现这些还不行那就需要考虑优化记录的状态了,想想能不能找到一些条件去等价代替当前条件,或者用更松弛的条件去代替然后容斥一下。

想好过程之后应该把它写在纸上重新验证一下,这时需要想对于你需要用到的算法有什么特殊的数据存在让其时间复杂度最劣。然后尝试手玩一下。最后确定无误就赶快敲代码。

关于考试

考试不是单纯的做题,而是做题与骗分、时间规划、心态等多重因素共同作用的结合体。对于现阶段的我来说,T1 肯定能切,如果是 csps 那 T2 也能稳切,这时就需要慢慢来但还要注意时间。

在我心中这些因素的排序是这样的:\(\text{心态}\ge\text{时间规划}\ge\text{做题}\ge\text{骗分}\)。我的心态还不太好,需要多磨练,有时会因为比预期提前做出 T1 而兴奋,也会因为思路被卡、代码调不出而慌张,这是不行的。真正考试时需要放平心态,不要被旁人压力,\(\color\red相信\)自己还是很强的!然后对于时间规划,我要把 T1 的完成时间控制在 50min 以前,但是就算超出也不要慌 ,就说明题可能较难,正常做就行。T2 正常做完要控制在 2h 内,因为这样才有时间去想后面两道题的部分分。如果看 T3 眉清目秀可以先去把 T4 暴力打完再冲 T3 正解,否则就去找找性质,看如果能凑出 \(\ge50pts\) 就直接把部分分写完去看 T4,实在想不出来也没关系,大不了就拿 20 到 30 分。想想万一 T4 能凑出更多的分呢?

2024从国庆到CSP前总结的更多相关文章

  1. CSP前的板子们

    见窝的luogu博客qwq noip前的板子们

  2. CSP前的板子

    板子A(扩展欧几里得) 题目描述 求关于x的同余方程 ax≡1(modb) 的最小正整数解. 输入格式 一行,包含两个正整数 a,b,用一个空格隔开. 输出格式 一个正整数 x​,即最小正整数解.输入 ...

  3. CSP前模板复习

    Tarjan 求强连通分量 展开查看 #include #include #include using namespace std; const int N = 1e4 + 1e3; int n, m ...

  4. 【最小点覆盖】POJ3041-Asteroids

    [题目大意] 在n*n的网格上有n个点,每次删除一行或者一列,问至少要删除几次才能删除完全部的这些店? [思路] 在国庆最后一天到来前,把二分图的三个基本情况[最小点覆盖][DAG图的最小路径覆盖]和 ...

  5. Codeforces Round #594 (Div. 1)

    Preface 这场CF真是细节多的爆炸,B,C,F都是大细节题,每道题都写了好久的说 CSP前的打的最后一场比赛了吧,瞬间凉意满满 希望CSP可以狗住冬令营啊(再狗不住真没了) A. Ivan th ...

  6. AtCoder Grand Contest 039

    Preface 我发现我现在打AT真的是只会D-Before-- E,F都是抄曲明姐姐的,然后D还是几何画板猜结论做的(证明都是陈指导想的) 看来再这样下去就真的要退役了啊233 A - Connec ...

  7. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

  8. UOJ Easy Round #5

    Preface 本着刷遍(只刷一遍)各大OJ的原则我找到了一场UOJ的比赛 无奈UOJ一般的比赛难度太大,我就精选了UER中最简单的一场打了一下,就当是CSP前的练习吧 A. [UER #5]万圣节的 ...

  9. [CF852E]Casinos and travel(2019-11-15考试)

    题目大意 有一棵\(n\)个点的树,令\(f(u)\)表示给树黑白染色,满足以\(u\)为根的树中,每个叶子节点到根的路径上黑点数量为偶数的染色方案数,求\(\sum\limits_{u=1}^n f ...

  10. 【洛谷P1816】忠诚——ST表做法

    看了两个小时RMQ并位运算,对二进制勉勉强强有了个初步了解,不能说精通(可能今年CSP前都做不到精通),但是记熟板子做做题还是没有问题的 以下是正式题解,相信你看过了题目,我介绍的是ST表的做法(很简 ...

随机推荐

  1. docker-compose安装mysql

    0. 安装docker-compose,参见:[Amadeus原创]docker compose的安装 1. 目录结构:按以下目录结构mkdir文件夹和相关文件 mysql 目录下的 data 为数据 ...

  2. 从 $PGDATA 到文件组:深入解析 PostgreSQL 与 SQL Server 的存储策略

    从 $PGDATA 到文件组:深入解析 PostgreSQL 与 SQL Server 的存储策略 在数据库领域,数据存储和管理的效率与可靠性是决定系统性能.可扩展性和易于管理的关键因素.Postgr ...

  3. Qt/C++地图坐标纠偏/地球坐标系/火星坐标系/百度坐标系/互相转换/离线函数

    一.前言说明 为什么需要地球坐标纠偏这个功能,因为国家安全需要,不允许使用国际标准的地球坐标系,也并不是咱们这边这样,很多国家都是这样处理的,就是本国的地图经纬度坐标都是按照国家标准来的,所以就需要一 ...

  4. Qt编写地图综合应用59-经纬度坐标纠偏

    一.前言 地图应用中都涉及到一个问题就是坐标纠偏的问题,这个问题的是因为根据地方规则保密性要求不允许地图厂商使用标准的GPS坐标,而是要用国家定义的偏移标准,或者在此基础上再做算法运算,所以这就出现了 ...

  5. Qt编写地图综合应用46-设备点位(添加、删除、清空、重置)

    一.前言 在学习JS语法的时候发现其实程序都大同小异,正所谓一通百通,熟悉各大概的语法以后基本都可以上手,和C++最大的不同就是他没有数据类型的概念,作为解释性的语言,是在执行的时候自动去转换数据类型 ...

  6. 利用idea开发环境进行Spring Boot开发时maven同步更新jar依赖包时提示:sync:Cannot resolve xxx 的解决方案

    idea maven sync Cannot resolve xxx 的解决方案 经常会出现这种奇葩情况,提示找不到包 其实是因为网络波动或者突然断掉,导致包更新出现问题 直接去maven的仓库目录 ...

  7. 海量用户IM聊天室的架构设计与实践

    本文由网易云信资深服务端开发工程师曹佳俊分享,本文收录时有内容修订和重新排版. 1.引言 聊天室是一类非常重要的 IM 业务形态,不同于单聊和群聊,聊天室是一种大规模的实时消息分发系统.聊天室有多种技 ...

  8. Canal同步MySQL增量数据

    引言 在现在的系统开发中,为了提高查询效率 , 以及搜索的精准度, 会大量的使用 redis .memcache 等 nosql 系统的数据库 , 以及 solr . elasticsearch 类似 ...

  9. klippy — reactor模块

    该模块负责管理事件的注册.调度和处理,充当事件驱动的核心引擎,驱动整个klippy系统的运行. 该模块提供了一个统一的接口register_callback,使各个模块能够注册自己的回调函数以响应特定 ...

  10. C# 给当前程序创建桌面快捷方式

    C# 给当前程序创建桌面快捷方式 //by wgscd //date 2024-10-22 using System; using System.Reflection; using System.IO ...