摘要: 题意 给定 \(n\) 颗依次飞来的导弹的高度,现在有一个拦截系统,它的特点是:第一次拦截的导弹可以任意高度,但以后任何一次都不能高于上一次。现在要求这套系统最多能拦截多少颗导弹,以及要拦截所有导弹最少需要多少套这样的系统。 分析 题目要求两个不同的问题的答案,我们可以分开处理。 求最多能拦截多少颗 阅读全文
posted @ 2024-01-20 17:44 FormulaOne 阅读(40) 评论(0) 推荐(0)
摘要: 题意为找出最短的无序子序列。这题看到 \(k\) 的取值有多种可能,我们不妨对其取值作分类讨论。 \(k=1\) 或 \(k=2\) 很显然,当 \(k=1\) 时,只有一个数,不满足题意;当 \(k=2\) 时,两个数之间一定是递增或递降的,也不符合要求。 \(k=3\) 当 \(k=3\) 时, 阅读全文
posted @ 2024-01-20 17:43 FormulaOne 阅读(43) 评论(0) 推荐(0)
摘要: 这题要求用不超过 \(n\) 次的交换将 \(n\) 个整数从小到大排序。很显然,在最坏的情况下,为了满足条件,我们需要使每个数一步到位,即只与要到达的那个位置上的的数交换一次。 那么我们很容易想到用选择排序了。先回顾一下选择排序,核心代码如下: for(int i=1;i<n;i++) for(i 阅读全文
posted @ 2024-01-20 17:43 FormulaOne 阅读(33) 评论(0) 推荐(0)
摘要: 题意 \(n\) 次操作,每次在矩形地面上选择一个格子 \((x_i,y_i)\),在上面加上 \(z_i\) 个方块。一个立体图形的「侧面积」定义为所有方块的前后左右面不紧贴着另一个方块,则该面计入「侧面积」。求每次操作后立体图形的侧面积。 分析 最直接的想法就是每加入 \(z_i\) 个方块后, 阅读全文
posted @ 2024-01-20 17:43 FormulaOne 阅读(28) 评论(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 FormulaOne 阅读(26) 评论(0) 推荐(0)
摘要: 这题一看到 \(1 \le T \le 10^5\),\(1 \le n \le 10^{11}\),就知道暴力是肯定不行的了。但是看到题目限制“因子个数为奇数”,发现是一个突破口。 众所周知,一个正整数 \(n\) 的因子总是成对出现的。举个例子,若有正整数 \(a\) 和 \(b\) 满足 \( 阅读全文
posted @ 2024-01-20 17:42 FormulaOne 阅读(28) 评论(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 FormulaOne 阅读(22) 评论(0) 推荐(0)
摘要: 题意(化简后):有一个长度为 \(5\) 的序列 \(a\),现给定 \(a_1\),\(a_2\),\(a_3\),\(a_4\),你需要判断是否存在 \(a_5\),使得在每个数只出现一次的情况下,有三个数为连续的正整数,且另外两个数相等。 看到题目,为了方便判断是否相邻,我们先对序列 \(a\ 阅读全文
posted @ 2024-01-20 17:41 FormulaOne 阅读(20) 评论(0) 推荐(0)
摘要: 题意十分简单:找出你的手牌中是否有炸弹(有炸弹定义为有大小王各一张或有四张数码相同的牌)。 这题因为手牌已经有序,且牌的种类很少,所以直接依次判断是否存在王炸或者四个连续的数码即可。 代码见下: #include <iostream> #include <cstdio> using namespac 阅读全文
posted @ 2024-01-20 17:41 FormulaOne 阅读(26) 评论(0) 推荐(0)
摘要: 这题一看到要判断 \(a \times b = c\) 是否成立,立马想到了用 FFT/NTT。 但看到数据范围 \(a,b \le 10^n\),\(c \le 10^{2n}\),\(n \le 1 \times 10^6 + 50\),再加上时限很紧(\(1\) 秒),因此 \(O(Tn \l 阅读全文
posted @ 2024-01-20 17:39 FormulaOne 阅读(26) 评论(0) 推荐(0)