前言

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

正文

截至起稿时间(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. [WPF UI] 为 AvalonDock 制作一套 Fluent UI 主题

    AvalonDock 是我这些天在为自己项目做技术选型时发现的一个很好的开源项目,它是一个用于 WPF 的布局控件库,可以帮助我们实现类似 Visual Studio 的布局效果.因为它自带的一些样式 ...

  2. 【Spring】Sring基础概念(黑马SSM学习笔记)

    目录 Spring简介 Spring是什么 Spring发展 Spring优势 Spring体系结构 Spring快速入门 Spring程序开发步骤 不用Spring的一般步骤 使用Spring框架 ...

  3. iOS app 自动化测试,appium inspector 启动会话报错:Failed to create session. An unknown server-side error occurred while processing the command. Original error: '12.5.5' does not exist in the list of simctl SDKs.

    报错内容:Failed to create session. An unknown server-side error occurred while processing the command. O ...

  4. 2021年最新js手机号正则验证 最全全部号段

    手机号验证正则 /^1[3-9]\d{9}$/ js的例子 isphone.html <html> <body> <input id="Tel" ty ...

  5. Qt数据库应用12-通用数据库清理

    一.前言 很多项目如果需要存储很多日志记录比如运行日志,时间长了记录数量非常多,数据库体积不断增大,对应数据库表的增删改查的效率不断降低,为了消除这几个影响,需要有一套机制,不断将早期的数据清理,清理 ...

  6. SpringBoot整合WebSocket实践

    简介 先来看下维基百科WebSocket的简介: WebSocket是一种与HTTP不同的协议.两者都位于OSI模型的应用层,并且都依赖于传输层的TCP协议. 虽然它们不同,但是RFC 6455中规定 ...

  7. 三步把asp.net core 3.1应用部署到centos7

    一.编译发布Asp.net core 应用 直接使用vs2019编译发布后,通过ftp上传到centos的 /www/ 目录下,不再赘述. 二.centos安装asp.net core runtime ...

  8. nio-总结列表

    java IO体系图 IO流的操作规律总结: 1,明确体系:数据源:InputStream ,Reader数据汇:OutputStream,Writer 2,明确数据:因为数据分两种:字节,字符.数据 ...

  9. NPOI与excelcnv.exe

    在使用NPOI解析一些比较古老的仪器生成的excel文件时,经常会这个错误:The supplied spreadsheet seems to be Excel 5.0/7.0 (BIFF5) for ...

  10. 第一届启航杯网络安全大赛部分wp

    第一届启航杯 WEB Easy include <?php error_reporting(0); //flag in flag.php $file=$_GET['fil e']; if(iss ...