一句话重点系列(不定时持续更新)
一、洛谷P1112波浪数
- 进制题,没想到是个纯纯的暴力
- 要注意是“一对数字”,而这一对就是两个数字
- 两个数字不同
- 低智商的 if( ok = 1 ) 问题
for( int fi = l;fi <= r;fi++ ){
int x = fi,cnt = 0;
for( int i = lj;i <= rj;i++ ){ //枚举进制
x = fi; //虽然不同进制,但原数还是不变的
//由于每个进制进行判断后都会改变原数的分身$x$
//所以每进一个新进制都要重新将其初始化为$fi$
int pan = 0,ok = 0;
——2022.2.11
二、洛谷P3901 数列找不同
莫队板子题,然鹅没有一遍过......日常脑瘫......
要注意:最后要将排序后的问题按照原顺序输出答案!!
——2022.2.13
三、洛谷P1332 血色先锋队
充分认识到了dfs和bfs的时间复杂度差距......
这题就一近乎普通bfs板子题,尝试dfs过,失败
记录:第一次40pts是dfs,后面这个AC就是bfs,差别不言而喻
——2022.6.20
四、洛谷P2191 小Z的情书
就一个小小的模拟:
两张纸,一张是字母一张是阴影+空白,读空白处对应的字母
根据题意应该是黑白纸要旋转四次,顺时针方向
相当于个小小的旋转模板了,记一下(然而我打的是是逆时针.......)
——2022.6.21
五、洛谷P5461 赦免战俘
经典分治小板子?
——2022.6.21
六、洛谷P1364 医院设置
这个题我额外写了两个函数,一个是建树(build)一个是求两节点之间的距离(lon)
其中那个求距离的着实是坑了我两次(重构最简单~(焯!))
可以考虑记一下
——2022.6.27
一个A*算法的必刷题,其中因为矩阵,用了$set$判断是否存在
搞了一天基本上,然后主要因为两个原因
1. set我没有初始化!(我是脑瘫)
2. 要判断当真实值$+$估计值$>$边界的情况,如果只判断真实值$>$边界的话,会TLE,原因是:
每一个状态可以转化到$8$种状态,而我们每个情况要走$15$步,所以如果本应输出$-1$的话,我们会跑$8^{15}$个组,数学公式转化一下就是$2^{3^{15}}$ $=$ $2^{45}$
直接炸
3. 预估函数返回值最小为$2$(一旦有不一样的,就是两个位置不匹配),故应该是真实值$+$估计值$>$边界,而不是$>=$
——2022.7.10
八、知识点
直接$(1<<32)$,程序会默认为int类型,会炸掉精度,应当令一个long long 类型变量 $= 1$,再进行位运算
——2022.7.23
九、来自万能的群友(派蒙老师Orz)
——2022.7.24
十、洛谷P1359 租用游艇
图论题三大注意事项:
1. 有向图无向图
2. 解决重边自环
3. 边的初始化
——2022.7.25
十一、如何计算数组空间以及空间极限(来自万能的谷民)
——2022.7.25
十二、洛谷P2800 又上锁妖塔
咱就是说
遇到了要开 long long 的题,我初始化再写
#define INF 0x3f3f3f
我就是狗!
以后就写
#define INF 1e10
——2022.7.25
十三、洛谷P1091 [NOIP2004 提高组] 合唱队形
(啦啦啦我又来啦)
这波连着犯两个错误啊.....
错误1:
请叫我小天才
错误2:
两边都会加上自己啊.....捕捉到一只没学好容斥原理的羊(咩?)
——2022.7.25
十四、洛谷T258078 卖油翁
直接暴力DFS模拟题意即可
1. 一定要想清楚,边界到底是$( wei == k )$还是$( wei == k+1 )$(即$wei$记录的到底是已经走过的步数还是当前的步数)
2. 记忆化要保证是完全相同,如本题即需要开三维的记忆化数组分别记录“第一个桶”,“第二个桶”,“当前位置”
——2022.7.27
十五、来自机房的同志
C++中STL里的所有$“.size()”$或$".length()"$,返回的值都是 unsigned int
所以不要乱用$“.size()-1”$(尤其vector),
因为当.size() = 0时,你再减,结果不会是负数,而是一个非常大的数字(事实上是int的边界)
这时建议使用一个强制转换,或者定义一个 int 变量存储以解决
——2022.7.27
十六、洛谷P3111 [USACO14DEC]Cow Jog S
审题审题再审题!
显露出了造数据手模的重要性
本题所说,追上前一只牛就减速,即速度会更新,不能再用原来的速度了
你想的追及问题(路程差 = 速度差 $ \times $ 时间)也就不成立
所以直接求出每只牛原本路程,再去合并即可
——2022.7.27
还是审题啊.....
说了是满足条件的最小$n$,那就不能是个满足条件的$n$你就往上交啊.....
——2022.8.28
十八、洛谷P2417 课程
这个题就是个裸的最大二分图匹配,虽然当时就一眼秒了,但是过程还是很坎坷的
很重要的一个原因就是!
多组数据输入的时候一定要等所有数据都输入完了,再去特判直接输出
否则前一组没有输入完的数据会直接影响到下一组数据!
——2022.9.28
十九、洛谷P1340 兽径管理
二维前缀和水题,一眼秒了
结果因为无穷小少摁了几个零而WA了一个点......
引以为戒
——2022.10.4
二十、多次死后经验
数组以后就给我往大里开!不要都以题目给的N大小去定每个数组的大小
有的数组大小比N大了几倍,如图论中的边数量
引以为戒
——2022.10.20
二十一、洛谷P4408 [NOI2003] 逃学的小孩
这个故事告诉我们,一切不要想复杂,这种东西一有了固化思维很危险
本题就简单的DFS树的直径+暴力DFS
贪心的思路:找直径,直径端点为A,B,枚举C点则答案为max(min(dis[A][k],dis[B][k])+dis[A][B])max(min(dis[A][k],dis[B][k])+dis[A][B])
不要想复杂,不要想复杂,不要想复杂!!
——2022.10.28
二十二、洛谷P1144 最短路计数
优化方案啊,是的吧?
走到一个终点,就直接加上到起点的数量
做完后会发现,很简单的一个题
但是代码正确依旧交了好几发,告诉我们:
三年OI一场空,不取模数见祖宗
警钟敲烂
——2022.11.23
二十三、洛谷P3469 [POI2008]BLO-Blockade
这个题,割点板子题,死于建边(焯!)
第N次了!对于这个傻逼问题我的看法是
反复检查
什么 int to = e[i].next;
什么 e[i].next = y;
都滚你妈的吧焯!(暴躁)
——2022.11.24
二十四、终篇(也许)
正好高中24班,算是个小幸运数字吧?
这应该是最后一份一句话重点了
明天还有一天,但是要打膜你赛(SOJ 委托赛12 终篇),可能就不再更新了
有点小悲伤
算了上重点
打tarjan,一定要注意哪些语句在哪些$if$里,不要错了
然后low[p] = min( low[p],low[y] )是在递归后立刻进行
——2022.11.24