赛时安排
7:50~8:00 读题.
8:00~8:40 先看T1,首先想到了用while一遍遍更新钱的数量,然后累加答案。想了想大数据肯定会T…然后推了推式子,看看有没有简便的方法来求答案…没什么思路…
8:40~10:00 看了看T2,手画了画如何划分,然后想到了找到每一组能连成题中所说的三角形的对角线,然后将它们存下来,再将它们用并查集连起来,接着判断每一个集合里的元素个数,如果小于
n
−
3
n-3
n−3就无解,反之,在里面搜,找到满足条件的解。但是在实现上的思路出了点问题,就先写了10pts的第一档分。
10:00~10:40 先码了暴搜拿前两档的分数,然后本地编译器上跑
n
=
10
n=10
n=10的时候时间跑了一秒多,然后就把
n
=
10
n=10
n=10的答案打表跑出来,接着想了想正解…想不出来…
10:40~11:30 想到了如何实现T2的思路,然后敲了敲,但是最后搜答案的操作…没有想到一个合适的思路,然后就想着贪心找到其中元素个数刚好是
n
−
3
n-3
n−3的集合,然后将其中存的答案输出出来。
11:30~12:10 想了想T4,想到了枚举每一个圆包含多个点的方案是否成立,然后累加答案,实现现将它们离散化,然后看包含这些点的最小圆能否包含其它的点,刚开始想到用前缀和找出每一个横坐标,纵坐标前面的点的个数,然后对于包含的点看看它们中间是否还存在有其它的点,然后累加答案。接着实现的时候发现这个思路有bug…然后…想不出来…
12:10~12:20 又想了想,然后整了一下本地文件,上传。
赛后总结
T1
小学奥数题…我当时就想着 n n n每次变化,然后以 n n n的变化来往后推,看看能买多少,没有想到可以将 b b b的代价算到 a a a里,相当于买 a a a瓶饮料会便宜 b b b元,这样来想的话,优化很快就能想出来了…和青蛙爬井一个道理。
T2
这道题有一个重要的性质,当你连完一条边是它形成题中所说的三角形时,将不被对角线连的那个点删去,对于整体答案是没有影响的,因此可以枚举每一个符合题意的三角形然后删除,然后用链表来优化,就A掉了…
T3
大型构造现场。关于这个题解的构造让我感到非常的奇妙,是我确确实实难以想出来的东西…(构造的题见的是真的少…)ps:暴力的50分挂成了30…原因竟是我为了防止 n = 10 n=10 n=10的时候T掉,然后写的打表…结果最后忘了加回车…
T4
To be continued
今天的题都挺考验思维的…然鹅我太拉了…一道都没想出来…