18:00~18:20
看题,看看样例
18:20~18:50
T1,T2
T1就是判断输入的这个数是否为3的倍数以及有无0。
T2我的思路是记录每个数的位置和值,按照每个数的值排序,将数的位置标记为1,每标记一个数扫一遍标记数组内的1是否连续。
18:50~19:25
T3分段来写,20分直接输出,剩下的随机出每条边的颜色,再dfs一遍检查是否合法。
19:25~19:35
对拍T3,检查下随机数的时间
19:35~20:20
危!随机出大问题,调了一下。
20:20~20:40
T2本来是O(n)O(n)O(n),出了点“小”问题,后来仔细一想这种方法只能O(n2)O(n^2)O(n2)实现,数据<=1000<=1000<=1000,就把原代码改为了n2n^2n2。
20:40~21:10
检查了一下前三题就上交了,开始思考T4,并不会判断平面内如何判断两条线段是否相交…
于是就先通过一次函数的方法找出两条直线的交点(非平行必有交点),再判断这个交点是否在两条线段之间,听着简单,但有好多细节…
21:10~21:40
自己把自己的判断函数hack了,没考虑到平行于x轴或y轴的情况,开始增加特判。
21:40~22:00
O(n4)O(n^4)O(n4)写了T4的暴力,10分钟前交了。
分数
预计:100+100+60+30=290
实际:100+100+20+10=230
T2保住了20分,随机数哪里出了问题,T4应该是线段判断是否相交这里出了问题(毕竟是手推的),但还是有10分。
总结
习惯
上次已经说过了,还是要依据数据范围写分段的,保住应得的暴力分并尽力去思考。
基础
巩固基础,别再犯一些代码上的细节错误,把调的时间节省出来去思考。
规划
根据T3还是在图论的综合运用方面不够熟练。
革命尚未结束,
同志还需努力。