8:30−8:508:30-8:508:30−8:50
看题
8:50−9:308:50-9:308:50−9:30
莫名特别困,肥肠自闭。
9:30−9:409:30-9:409:30−9:40
先敲了个 对拍 和 构数据 的代码。
9:40−10:009:40-10:009:40−10:00
感觉无脑上点 数据结构 可能能水,但是对我这种废物来说太麻烦了。
看到这种不会重复的考虑用 set ,但是感觉太多余了。
10:00−11:0010:00-11:0010:00−11:00
三角形面积=底∗高/2三角形面积 = 底 * 高 / 2三角形面积=底∗高/2(不过这个题说最后结果乘 222,所以就不除了)
然后推导出来当指定一个点是三角形的直角顶点时(直角边与坐标轴平行),能构成的所有三角形总面积为他的所有底 * 所有高 / 2(定义底为平行于 xxx 轴的一条边,高为平行于 yyy 轴的一条边)。
其实可以 sort 后用 前缀 和 后缀 算出每个点与和它在同一 xxx 轴的所有点之间的距离,同理 得到与在同一 yyy 轴的所有点之间的距离。

类似这样。
总时间复杂度 O(N)O(N)O(N),带小常数,应该不打紧。
然后就搞了搞。
11:00−11:2011:00-11:2011:00−11:20
对拍 T1T1T1 并查错,先跑小数据,再来最大数据,再优化随机数代码搞负数。
11:20−12:0011:20-12:0011:20−12:00
T2T2T2 的 树形DP 想不到怎么写,搞了个 T3T3T3 的特殊数据,然后打了个样例都过不掉的骗分。
这个想用 multiset 看能不能水到分,先找到度数最小的点,然后 把它分离出来,然后它连着的边度数都减少 111 ,显然是错误的,而且很难处理。
12:00−12:3012:00-12:3012:00−12:30
想 T4T4T4 想不出来。搏一搏这是一条链,每个边都不能少,输出 mmm 个 100000000010000000001000000000。
12:30−结束12:30-结束12:30−结束
啥也搞不出来,最后检查。
T1T1T1 直接 AAA 了
T3T3T3 的话先跑环,优先考虑割不是环的部分,然后割环的时候先给割成类似链的东西,然后往死了割,因为割环的第一刀是无贡献的,所以尽量不去割环。想到尽量割不在环上的了,但是不会处理把环割成类似链的东西后往死了割这个链。
本文记录了一天中算法工程师的思考与实践,涉及数据结构、动态规划、树形DP、三角形面积计算、并查集优化等,展示了问题解决的思路和时间复杂度分析。

3192

被折叠的 条评论
为什么被折叠?



