专栏文章

s组

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miowjv21
此快照首次捕获于
2025/12/03 02:19
3 个月前
此快照最后确认于
2025/12/03 02:19
3 个月前
查看原文

得分

期望得分:100+20+30+10=160
预估得分:100+10+30+0=140
实际得分:100+0+0+0=100

赛时挂分原因

1.t2特殊性质多,想把所有都拿了,但是没考虑到不同性质代码可能很大不同,所以最后没有写完
2.t3暴力30tps由于判断写错位置,调了太久,但是也没调出来
3.t4思路基本没有,想打暴力偷10分,但是时间不够了

策略

优点

CPP
每个部分分都考虑了

缺点

CPP
时间分配不合理,多的分数分到的时间却少

解题思路

1.t2在图上存变更信息,如果一行要变另一行也变就连权值为0的边,反之则连权值为1的边,最后统计连通块数量2x,答案为2^x
2.t3通过aiai1=1a_i-a_{i-1}=1 想到 aii=ai1i+1a_i-i=a_{i-1}-i+1,就把问题转化为了让区间的数变得相同,最好情况变成中位数。用双指针和大小根堆维护中位数,求出操作次数。
3.t4根号分治,当m<=1000时用n×n÷kn \times n \div k 的dp,否则就用n×kn \times k 的dp。

启示

1.要学会转化问题,例:t2,t3.
2.可以考虑在能够构造出两种算法且时间复杂度相差较大时用根号分治优化,例:t4.

改进

1.合理安排时间
2.多思考转化问题

评论

0 条评论,欢迎与作者交流。

正在加载评论...