做题记录
做题记录 11.15 - 11.17
11.15 模拟赛
给你 \(m\) 次操作,每次为
-
编号在 \([l , r]\) 中的位置绕原点逆时针旋转 \(90°\)
-
求编号在 \([l , r]\) 中两两间曼哈顿距离最大的距离
赛时自己发明了曼哈顿转切比雪夫,维护 \(x + y\) , \(x - y\) 最大值, 最小值即可
我们把每一行每一列看做一个点,把饰品看成边,取东西相当于给边定向,然后我们贪心的取,然后判一下是否有环了就可
我只会 \(O(3^n)\) 等我会 \(O(n^2 2^n)\) 再写
很好玩的一道题,和 \(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)\) 即可
等我更新。。。。

浙公网安备 33010602011771号