文章目录
前言
305分
今天考得还算不错!awa
(冷静,明天数据结构还是要先写暴力)
因为数据结构的题就是为了暴力而生的啊awa
还是有不少问题
最大的收获:
sort的cmp函数不能带等!
之前一直不知道,感谢集训队学长一语打破迷津!
这个出错似乎是不一定的(但要是挂在正式考场上就… )
所以弥补这个盲区真的很有用啊!
顺道写一下sort比较函数的三个要求:
- 反自反性:自己和自己比永远须return false
cmp(a, a) === false
- 非对称性:a>b和b>a只能有其一
cmp(a, b) == true ==> cmp(b, a) == false
- 传递性:a>b,b>c,则a>c
cmp(a, b) == true && cmp(b, c) == true ==> cmp(a, c) == true
下面进入正题吧
考场
流程
开考第一件事:先看题目!
大致扫了一遍题,觉得T2、3应该可做
T1一开始看觉得好像挺复杂,其实就是字多,是最水的题
(事实证明,T1大概率都是难度最低的题)
T4我做好了写暴力的心理准备
但是写起来就极度之顺
代码的bug都很少
T4也很快的想到了正解的思路
最后10点就做完了4道题…
然后就开始漫长的《检查之路》
T1检查到了一个审题的bug(尽管已经读了三遍题。。。)
T2一开始cmp忘记引用了
…还好都看出来了吧
T1 alignment
这题真是有些过水了。。。
就拿链表随便连连跳一跳取个min就可以了
甚至不需要倍长序列,首尾链表接一起就行;
我一开始想的有点多了
T2 flower
写挂了,只有20分… qwq
看起来先选m大的花种是一个及其有道理的贪心策略
(更何况本次还是贪心专题)
但是这个策略是错的
大神学长说是可以卡掉的(可不是吗,八个数据点全能卡掉…)
所以应该状压dp
有一个很重要的技巧是从晚到早进行转移
因为这样每朵花需要撑住的时间就固定了
T3 reformat
本题数据点很有提示性,按时我们按格式化前后内存差分别讨论
正价值按格式化前的v升序排很好理解也很好证
关键是负价值的部分
我的方法是类似于国王游戏的相邻换位法(然后sort就因为手贱的一个<=卡掉了15pts)
题解的做法按格式化后的内存降序排,因为后半部分的操作和前半部分是对称的
但我还是不太明白…
越想越感觉它不是对称的了
《玄学》
明天有时间问问学长吧awa
T4 inverse
确实挺难的
但我抱着尝试的心态做的时候却出乎意料的顺
就是一个逆序对和trie数的结合
利用异或性质,常规的在插入元素分叉时记录分叉树的size
分0和1讨论其贡献即可
复盘
今天可以早睡了
(热 泪 盈 眶)
T2 flower
看到题解思路用状压后实现就不难了
T3 reformat
把等号删去,试了一下,是可以切的
所以我的策略也不错啦awa
T4 inverse
和qyt讨论了一下trie树的结点上限
结论:玄…
就按最大的位数*点数吧…
总结
第一题(自认为)很容易的切掉了,然后心里踏实了,状态越做越好
所以还是一句话:不要慌,来得及
但是最后检查的2个小时效率还是不高…
应该可以写个datemaker和checker自己测一测的
反正干瞅也是干瞅,干嘛不呢
数据结构,明天加油!awa