Loading

07.10~07.21 总结

07.10

T1

一开始理解错题意,后来看样例才发现。

觉得暴力是能过的,推了下两个圆的交点坐标,然后转换成了一个求最多覆盖的问题。先想了下权值线段树,发现做不到。然后想到扫描线的思想,就考虑把点排序,打上 +1/-1 标记。然后排序。

但是一直被排序后初始点在结束点后面的情况给卡住,后面也没能调出来。

其实可以用三角函数求角(就不用复杂的计算),然后把上面那个情况先拉出来计算,然后再处理正常的。

T2

考场想拿 \(n^2\) 的部分分。发现我在枚举之后很难快速判断是否合法,于是就想着固定左端点,不断加入右端点,同时判断是否合法,没写完。

但应该先考虑比较简单的条件,比如同余,不能相等之类的。然后就能快速计算出某个区间最少还差多少。用一些数据结构优化即可。

T3

没怎么看,也没看懂题意。

发现树的形状对答案没什么影响,每个点对应的区间大小是知道的,只需要判断能够通过合理的分配使得每个数的总区间大小是一样的。可以用 dp。

07.12

T1

一开始没什么想法,后面就想叫外卖次数和存活天数应该是一个单峰函数,但不会证明。秉持着大胆猜想,绝不求证的想法就上了。

三分叫外卖次数,然后贪心,把钱先平摊,能买就买,最后再把剩下的钱合起来,看还能不能再买一点。

T2

没什么想法,先回忆了一下怎么求最大全零子矩阵,然后暴力递归排序拿 30 分的部分分。

还挂了 10 分,寄。

T3

想了个 DP 但是有后效性,然后不知道怎么把后效性处理掉。

其实转最短路就好,调整一下 SPFA 队列的含义就可以了。

07.13

T1

题目很长,不过很多废话。关键点就是 \(d\in \{1,2,3\}\) 这个点,这意味着任意两点间的最大流不超过 3。然后就想什么情况下会是 1,显然只要联通就至少为 1。然后 2 就是双联通。3 的时候觉得如果删掉某条边,如果删后边上两个点还是双联通,那这两个点就是三联通,并且如果两个点同时和一个点三联通,那这两个点也三联通。然后觉得可以写一个并查集记录一下有多少个点三联通。

赛后发现只有 70 分,原因是两个三联通的点之间可能没有连边。所以不妨直接粗暴的,在删除任意一条边的情况下都始终双联通就是三联通。用 hash 处理。

T2

不太会,但是 \(n\le 10\) 可以直接打表。

正解没有太懂,40 分的 dp 是转换题意,然后枚举当前位是 +1 还是 -1。

T3

没打。暴力也没有思路

正解没懂。

07.15

【UNR 7】Day 1。

A

题目名很不妙。

在提示的暗示下,一直在思考是不是每次删最小/最大。

但其实应该从奇偶性出发,可以证明,最后留下的数一定是原本数列中奇数位置上的数。

那么根据最优策略,答案就是奇数位置上的中位数。

B

没有想到很好的构造方法,但是我会 \(b=0\)

于是直接有 1 的地方就输出一个,\(k\le 17\) 时不超过上限。

正解是考虑组合数模 2 的意义,以及将序列分成一个个子序列,对子序列贪心。

C

没打。

实际上可以一次性先把宝石拿完,再去买卡。

07.16

【UNR 7】Day 2

A

先写了暴力的 \(\mathcal O(nq)\) 的做法。

然后去搞了下 B 和 C,没搞出来。

困,先睡了一会儿。

起来想 k=1,想到倍增,但好像有点问题。

调到结束。

B&C

如上。

07.18

HDU contest 1。

开赛后随缘点了道题,同时关心排行榜。

T9 最先被切,同学去打了,同时让我看眼 T5。

T5 就比较两个字符串循环同构后能否相同,直接套最小表示法的板子,然后一位一位比较。没注意复杂度,可能会被卡,所幸没有。

然后看了眼 T12 的博弈论,树上删边,经典。\(sg\) 函数搞一下加个换根。

回去睡了个觉,回来看队友再打 T1 的暴力,说暴力能过。

我怕过不了,就想着补一手正解。其实只需要将两个经过的队列拉出来,枚举交点,扩欧解方程即可。然后过了,队友还没调完暴力……

posted @ 2023-07-15 09:34  Thunder_S  阅读(19)  评论(0编辑  收藏  举报