Ginsway的警示后人

正式做提交前:

  1. 检查数据范围(数组有无开大(需要开多5个)?需不需要开long? long
  2. 注释、删除测试代码
  3. 检查Yes``No等是否正确
  4. 自造数据是否通过
  5. 骗分出奇迹!!!

P5683 [CSP-J2019 江西] 道路拆除

卡在没想到抽象图这个

P5684 [CSP-J2019 江西] 非回文串

组合数学不熟
没想到分别处理每个字母

P5017 [NOIP2018 普及组] 摆渡车

1.没有想到如此巧妙的前缀和计算方式(以后要画数轴)
2.没有想到最后$t$至$tmax+m$内才是最优解

P5018 [NOIP2018 普及组] 对称二叉树

思路错误,忽略了子树也可以进行对称

P3957 [NOIP2017 普及组] 跳房子

由于花费的金币与成功的概率是单调的,因此可以用二分查找,虽然我暴力查找用洛谷的少爷评测机过了233

P2058 [NOIP2016 普及组] 海港

没想到可以用一种类似于单调队列的方式来维护信息

P1083 [NOIP2012 提高组] 借教室

没想到其需要修改的可能性是单调的,进而没有想到可以二分,check()时可已用差分数组在快速处理教师使用数。

https://mna.wang/contest/1403

在提交时忘记删除调试代码,痛失70分。

[CSP-J 2023] 一元二次方程

卡在两个地方,一个是正负解比大小,一个是类似$\frac{1}{2}+\frac{1}{2}$的情况。

[CSP-J 2023] 旅游巴士

没想到有分层图与周期优化。但我想到的是在bfs上加周期的余数和除数?

P9749 [CSP-J 2023] 公路

十年$OI$一场空,不开long long见祖宗.

- P8813 [CSP-J 2022] 乘方

1e10==10e9

- P8814 [CSP-J 2022] 解密

判断整数的方法,没有考虑到一些情况也要输出NO

- P8816 [CSP-J 2022] 上升点列

没有想到将其一簇簇之间连接的考虑,没想到其点数就是曼哈顿距离。写代码的时候排序少了$y$轴,导致一列竖着的簇无法计算。

P7912 [CSP-J 2021] 小熊的果篮

用了一篇题解的神奇思路,使用set交替输出。
s1s0两个集合好容易串。。。

P7073 [CSP-J2020] 表达式

后来才想到可以爬表达式树,主要的坑栽只考虑了x_单位数的输入,然后就是70分,后面TLE,最后用“短路”优化掉了最后的点(题解)

P7910 [CSP-J 2021] 插入排序

有三点,第一暴力骗分能拿七十八分,第二,else要慎用,第三,要删除无关代码,如break;

P11214 【MX-J8-T2】黑洞

独立做出了思路,写完伪代码之后,直接做,用调试修改了就过了,数组开小了,用时1.5h。

T554116 课间餐时间(or)

独立想出了思路,但太复杂了,王景提醒我具体的奇偶关系不重要,两个人有联系即可。于是并查集秒A

P7074 [CSP-J2020] 方格取数

有一个地方没加特判,导致收集型DP收集到了界外的非法信息。

P5662 [CSP-J2019] 纪念品

没加特判导致收集了非法状态

P1004 [NOIP 2000 提高组] 方格取数

不同条件的方程没有特判隔离。

P2015 二叉苹果树

由于输入的边是乱序的,so需要重建树

P3374 【模板】树状数组 1

std::cerr会刷新缓冲区,增加时长。
在时间紧的题目里提交时要删掉。

P5094 [USACO04OPEN] MooFest G 加强版

树状数组本质是便于修改的前缀和

P3372 【模板】线段树 1


### P2016 战略游戏

注意数组有无开正确大小,最好用常量填充。

### P3174 [HAOI2009] 毛毛虫

在动态维护最大值和次大值时,
既要考虑 $新的数>最大值>次大值$,
也要考虑 $最大值>新的数>次大值$。

### P1273 有线电视网

动态规划求的最优化值也可以存储在状态里面,最后通过某些限制找到。

### [NOIP 2017 普及组] 跳房子

多次相同运算需要记得初始化

### P3572 [POI 2014] PTA-Little Bird

注意单调队列里放的是下标还是数值

### P4544 [USACO10NOV] Buying Feed G

收集型DP取最小值时,要将非法初始状态设置为INF

### P13019 [GESP202506 八级] 树上旅行

注意题目要求
一个节点的子节点仅仅是与Ta连接的节点

### P3952 [NOIP 2017 提高组] 时间复杂度

要确定变量类型`str`?  
看题目给的特殊情况来反向确定特判  
如果有脏数据,要对有下标的取值判断是否为空  
`i`,`j`容易看错

### P5020 [NOIP 2018 提高组] 货币系统

由于作了优化,要预处理的空间要直达所有币值(最大)

### P10206 [JOI 2024 Final] 建设工程 2 / Construction Project 2

1.upperbound的用法(求符合条件大)
2.greater(前面最小)
3.静态检查更快,比如前面你n,m的交换
4.优先队列用greater,从小到大用less

### B4373 [GXPC-S 2025] 队伍集结 / team

  1.注意`a[i],b[i]`的输入顺序  
  2.整数除以整数  
  3.注意要对`a[i]`排序才能得到拓扑序。

### P3383 【模板】线性筛素数

请求数量≠实际素数数量  
~`bitset`实在是太好用啦,时间-1s,内存仅有$\frac{1}{10}$~

### P9118 [春季测试 2023] 幂次

想用大概线性筛的方法了A,复杂度$O(nlogk)$,但$n=10^9$,60pts
1.原来有`sqrtl()`这种用float128的浮点函数  
2.`bitset`还不太熟练  
3.快速幂忘了()  
4.开立方,`powl(n,1/3)`($\sqrt[3]{n}=n^\frac{1}{3}$)  
5.浮点绝对值有`fabs()`

### P7113 [NOIP2020] 排水系统

```cpp
Frac(int a, int b) {
  a = a;
  b = b;
 }

这种会gg
2. 单独模块化调试
3. 重载运算符不能用+=等,要用+
4. int128无法输出?用string逃课(reverse翻转string)

P7115 [NOIP2020] 移球游戏

思考:没有想到可以用栈的方式合并,然后一种一种合并awa(但很难确保正确性,会不会超限?)

P7116 [NOIP2020] 微信步数

思考:没有想到维度可以分开成一条条计算(离散化?)

P3808 AC 自动机(简单版)

0.没有正确认识前后缀的关系
1.由于是检查有几个字符串匹配,所以说算过的标记要去掉要
2.fmt太好用啦(但是考场用不了)

>fc 比较文件
<bits/extc++.h> 开启邪修
#ifndef
#endef

for (int i = 0; i <= maxN; i++) {
   std::fill(son[i], son[i] + 100, 0);
  }

son[0][x]大概是容易忘记清理了(不!根节点)
for循环不一定从1开始


Ginsway的警示后人
https://ginsway.github.io/279a4584a02e/
作者
Ginsway
发布于
2025年11月20日
许可协议