摘要: 这题各个神仙都用了 \(O(n)\) 的算法,只有我用了 \(O(2^n)\) 的暴搜。 分析 既然要使极差最大,很容易想到要使最大数尽可能大,最小数尽可能地小。那么每一次操作就有两种选择:处理最大数或最小数。在本题中操作次数 \(m \le 10\),因此可以每次分两种情况,并分别搜索下去。对于每 阅读全文
posted @ 2024-01-20 17:45 liyilang2021 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题意 构造一个 \(n\) 的排列 \(p\),使得 $ \sum\limits_{i=1}^n \operatorname{lcm}(i,p_i)$ 最大。 分析 首先要知道,\(\operatorname{lcm}\) 是求两数的最小公倍数。因此,我们把思考方向引向公约数与公倍数。先回顾一下这条 阅读全文
posted @ 2024-01-20 17:45 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 看完题目,很容易得知要使 $ \sum\limits_{i=1}^k p_i$ 最小,且 \(p_i\) 是 \(n\) 的一个排列,可以知道最终的答案为 \(\sum\limits_{i=1}^k i\)。现在我们考虑如何将原序列转化成答案序列。 得知答案后,我们要做的就是将所有的 \(p_i \ 阅读全文
posted @ 2024-01-20 17:44 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意 给定 \(n\) 颗依次飞来的导弹的高度,现在有一个拦截系统,它的特点是:第一次拦截的导弹可以任意高度,但以后任何一次都不能高于上一次。现在要求这套系统最多能拦截多少颗导弹,以及要拦截所有导弹最少需要多少套这样的系统。 分析 题目要求两个不同的问题的答案,我们可以分开处理。 求最多能拦截多少颗 阅读全文
posted @ 2024-01-20 17:44 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意为找出最短的无序子序列。这题看到 \(k\) 的取值有多种可能,我们不妨对其取值作分类讨论。 \(k=1\) 或 \(k=2\) 很显然,当 \(k=1\) 时,只有一个数,不满足题意;当 \(k=2\) 时,两个数之间一定是递增或递降的,也不符合要求。 \(k=3\) 当 \(k=3\) 时, 阅读全文
posted @ 2024-01-20 17:43 liyilang2021 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 这题要求用不超过 \(n\) 次的交换将 \(n\) 个整数从小到大排序。很显然,在最坏的情况下,为了满足条件,我们需要使每个数一步到位,即只与要到达的那个位置上的的数交换一次。 那么我们很容易想到用选择排序了。先回顾一下选择排序,核心代码如下: for(int i=1;i<n;i++) for(i 阅读全文
posted @ 2024-01-20 17:43 liyilang2021 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题意 \(n\) 次操作,每次在矩形地面上选择一个格子 \((x_i,y_i)\),在上面加上 \(z_i\) 个方块。一个立体图形的「侧面积」定义为所有方块的前后左右面不紧贴着另一个方块,则该面计入「侧面积」。求每次操作后立体图形的侧面积。 分析 最直接的想法就是每加入 \(z_i\) 个方块后, 阅读全文
posted @ 2024-01-20 17:43 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题意 已知一个长度为 \(n\) 的序列 \(a\),要构造一个长度为 \(n\) 的序列 \(b\),使得对于 \(1 \le i \le n\),都有 \(b_i \le a_i\),且使 \(\gcd(b_1,b_2,\cdots,b_n)\) 最大,并求出不同的方案数。 分析 既然要使 \( 阅读全文
posted @ 2024-01-20 17:42 liyilang2021 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这题一看到 \(1 \le T \le 10^5\),\(1 \le n \le 10^{11}\),就知道暴力是肯定不行的了。但是看到题目限制“因子个数为奇数”,发现是一个突破口。 众所周知,一个正整数 \(n\) 的因子总是成对出现的。举个例子,若有正整数 \(a\) 和 \(b\) 满足 \( 阅读全文
posted @ 2024-01-20 17:42 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意 给定整数 \(s,m\),,判断能否构造一个长度为 \(n\)(\(n\) 值自定)的数列 \(a\),满足: \(1 \le n \le m\)。 \(1 \le a_i \le s\)。 设 \(S(a)\) 表示 \(a\) 中所有元素的异或和,则\(S(a)=0\)。 \(a_1+a_ 阅读全文
posted @ 2024-01-20 17:41 liyilang2021 阅读(2) 评论(0) 推荐(0) 编辑