一句话重点系列(不定时持续更新)

一、洛谷P1112波浪数  

 自己的AC代码 

  1. 进制题,没想到是个纯纯的暴力
  2. 要注意是“一对数字”,而这一对就是两个数字
  3. 两个数字不同
  4. 低智商的 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


 七、洛谷P2324 [SCOI2005]骑士精神

 一个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

50pts AC

     ——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


十七、ZR 7连测Day1 T1

还是审题啊.....

说了是满足条件的最小$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

posted @ 2022-07-24 15:04  little_sheep_xiaoen  阅读(54)  评论(0编辑  收藏  举报