做题记录

做题记录 11.15 - 11.17

11.15 模拟赛

T1 : 王哥与荷塘

给你 \(m\) 次操作,每次为

  1. 编号在 \([l , r]\) 中的位置绕原点逆时针旋转 \(90°\)

  2. 求编号在 \([l , r]\) 中两两间曼哈顿距离最大的距离

赛时自己发明了曼哈顿转切比雪夫,维护 \(x + y\)\(x - y\) 最大值, 最小值即可

T2 : 王哥与演出

我们把每一行每一列看做一个点,把饰品看成边,取东西相当于给边定向,然后我们贪心的取,然后判一下是否有环了就可

T3 : 王哥与序列

原题

我只会 \(O(3^n)\) 等我会 \(O(n^2 2^n)\) 再写

P6775 [NOI2020] 制作菜品

很好玩的一道题,和 \(T2\) 一样的转化但是我不会。。。

特殊的数据范围 : \(n − 2\) \(≤\) \(m\) \(≤\) \(5000\)

首先,很容易想到贪心:我们先拿最小的,然后不够的拿最大的补,交上去发现过了 \(m >= n - 1\) 的点 考虑如何 做 \(m = n - 2\)

通过之前模拟赛一道题,我们考虑能不能把 \(m\) 拆成 两个 \(n - 1\) 的情况 , 正确性是显然的。

考虑如何维护:设其中一个拆分成的集合为 \(S\),那么 \(\sum_{i\in S} d[i] = (|S| - 1) \times k\) 拆出来就是 $\sum_{i \in S} (d[i] - k) = -k $ 可行性背包dp,直接用 bitset 优化即可。

可持久化动态仙人掌的直径问题

给定 \(n,m\),求有多少个正整数 \(x\),使得 \(x^m\le n\)

标题党,看到前一半以为是黑,点进来了。直接输出 \(pow(n, 1.0 / m)\) 即可

等我更新。。。。

posted @ 2025-11-18 07:13  Nailong2357  阅读(32)  评论(3)    收藏  举报