上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页
摘要: 由于题目保证有解,因此可以保证一定不超过 \(k\),可以忽略这个条件。要使得 $ |a_i - b_i| $ 最小,很容易想到贪心做法,将 \(a\) 和 \(b\) 分别排序,将位置相同的两个作为一对计算答案。显然这种做法能保证答案最小,证明过程不详解。 代码如下: #include <iost 阅读全文
posted @ 2024-01-20 18:08 FormulaOne 阅读(33) 评论(0) 推荐(0)
摘要: 题意 给定一个有 \(n\) 个点的无向图。初始没有任何边。 接下来有 \(q\) 次操作,分为 \(2\) 种类型: 1 u v:连接 \(u\) 和 \(v\),保证没有重边、自环。 2 v:删除连接 \(v\) 的所有边。 每次操作后,输出没有连接其它任何点的点的数量(即度数为 \(0\) 的 阅读全文
posted @ 2024-01-20 18:07 FormulaOne 阅读(27) 评论(0) 推荐(0)
摘要: 题意 一个人要送礼物给另外两个人,现有 \(n\) 件礼物要选一件送给第一个人,价值分别为 \(a_1,a_2,\cdots,a_n\),有 \(m\) 件礼物要选一件送给第二个人,价值分别为 \(b_1,b_2,\cdots,b_m\)。求在两件礼物之差不超过 \(d\) 的情况下,价值总和的最大 阅读全文
posted @ 2024-01-20 18:07 FormulaOne 阅读(95) 评论(0) 推荐(0)
摘要: 题意 有 \(n\) 个字符串,它们的长度都为 \(m\)。问能否通过改变它们的顺序,使得后一个字符串能由前一个字符串只改变一个字母而得到? 思路 本题数据范围 $ 2 \le N \le 8 $,非常小,因此可以考虑全排列枚举所有的情况,最后检验是否存在符合要求的顺序即可。 代码如下: #incl 阅读全文
posted @ 2024-01-20 18:06 FormulaOne 阅读(48) 评论(0) 推荐(0)
摘要: 很显然,满足条件的子段的异或和均为 \(0\)(因为每个数都出现了偶数次,而两个相同的数的异或值为 \(0\))。问题转化为求异或和为 \(0\) 的子段的个数。 不难想到,可以从前往后扫一遍,并且计算异或和,可以得出起点为 \(1\) 且满足条件的子段。那么如何计算中间的子段数量?有如下可行的方案 阅读全文
posted @ 2024-01-20 18:06 FormulaOne 阅读(29) 评论(0) 推荐(0)
摘要: 题意 \(n\) 个袜子,每个袜子有一个颜色,如果有两个袜子的颜色相同,则可以把它们配成一对袜子。求一共能配成多少对袜子。 思路 看到颜色值域 \(1 \le a_i \le 10^9\),用普通的数组存不下。可以考虑对序列 \(a\) 排序,求出相同颜色袜子的数量 \(k\),则可以产生 \(\l 阅读全文
posted @ 2024-01-20 18:05 FormulaOne 阅读(39) 评论(0) 推荐(0)
摘要: 题意 有 \(n\) 个人在银行里排队等待工作人员叫号。接下来有 \(q\) 个事件,事件的类型分为 \(3\) 种。 1 工作人员叫一个当前未被叫号的人过来。 2 x 代表编号为 \(x\) 的人来了(保证 \(x\) 至少被叫号一次)。 3 重复呼叫没有来的人当中编号最小的,并要求输出其编号。 阅读全文
posted @ 2024-01-20 18:05 FormulaOne 阅读(19) 评论(0) 推荐(0)
摘要: 题意 给定长度为 \(n\) 的序列 \(a\) 和长度为 \(m\) 的序列 \(b\),序列 \(c\) 为这两个序列连在一起组成的。求 \(a\) 和 \(b\) 中的每个元素在 \(c\) 中分别是第几小。 思路 STL 的练手题。输入时将 \(a\) 和 \(b\) 中的元素存入 \(c\ 阅读全文
posted @ 2024-01-20 18:04 FormulaOne 阅读(29) 评论(0) 推荐(0)
摘要: 看到 $ n \le 10^5$,就知道这题不是纯模拟。 又看到了 $ 0 \le d < 2^{16}$,发现特殊的地方,于是就考虑使用二进制。 具体地,我们对两种操作分类讨论(题目中的字符打不出来,用 \(l\) 代替)。 操作一 在二进制下,将二进制数左移一位相当于将原数乘 \(2\)。不过由 阅读全文
posted @ 2024-01-20 18:03 FormulaOne 阅读(20) 评论(0) 推荐(0)
摘要: 很显然地,除了 \(3^0\) 只能选一次外,每个 \(3\) 的幂最多可以用两次。于是我们可以类比二进制拆分的思路,依次枚举 \(3\) 的幂,每次找到小于当前数的最大的幂并减去,统计次数,发现非 \(0\) 次幂出现次数大于 \(2\) 或 \(0\) 次幂大于 \(1\) 时则输出 \(0\) 阅读全文
posted @ 2024-01-20 18:02 FormulaOne 阅读(38) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页