2021-11-01NOIP模拟赛总结
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.反思
- 小样例的精心构造可以找到算法上的一些问题,但是应该对拍找空间的问题
- 当有比较简单且清晰的思路时最好优先写,就算只是会码暴力也要把暴力的代码码出来