2021-11-01NOIP模拟赛总结

2021-11-01NOIP模拟赛总结

    • 1.时间安排
      • T1:7:50---8:32
      • T2:8:32---9:10+11:23---12:08
      • T3:9:10---11:23
      • T4
    • 2.反思

1.时间安排

T1:7:50—8:32

  没读懂题(不知道用什么方法,怎么求方案数,怎么确定每个数)也没推出样例,耗了半个小时就此跳过
我 是 蒟 蒻 \color{white}{我是蒟蒻}

T2:8:32—9:10+11:23—12:08

  第一眼看到其实就感觉像是二分(二分答案判断正确性),只要把输入写好,判断里再定义新数组把输入转移,继续跑O(n^2)的判断(虽然有个while但是常数不大).第一遍交的时候,直接拿输入数组跑判断,居然过了样例?!后来把T3写完又回来手捏了一组样例(精心构造),把问题全部暴露出来了,然后改了改最后交上了
样例:

5 4
1 2
2 4
3 4
3 5

输出:

4

二 分 d i v i d e 赛 高 \color{white}{二分divide赛高} divide

T3:9:10—11:23

  看题面理解的时候只理解了I,P,B的含义,就先把每个P和B的依赖帧下标(to[])和第i帧解码完时所用时间(fin[])以及已经完成解码的帧数(zs[])处理出来,计cnt(即是多少个帧的依赖帧),然后求从哪一帧开始播放可以满足播放同时解码完下一帧(即每一帧播放前都已处理完),最后O(n)从头遍历求到每一帧时存储最大帧数即可(然而不仅挂掉了,题解思路还完全不一样)
分 か り ま せ ん \color{white}{分かりません}

T4

  看了但是没写,思路是计算左右两边比第i位大的数有多少,其实树状数组求左右两边比i位时间复杂度就是log2的,直接上两个树状数组就行了(可惜,其实按原来思路写很容易想到树状数组的)
残 念 で す \color{white}{残念です}

2.反思

  1. 小样例的精心构造可以找到算法上的一些问题,但是应该对拍找空间的问题
  2. 当有比较简单且清晰的思路时最好优先写,就算只是会码暴力也要把暴力的代码码出来

你可能感兴趣的:(赛后总结,c++)