题目 T837877 质数和 题解 题目给定 $N$ 个正整数,要求我们从中恰好选出 $K$ 个数,使得这些数的和为质数,最后统计一共有多少种不同的选法。 这里首先需要明确两个概念: 必须恰好选择 $K$ 个数,不能多选,也不能少选。 不同选法按照选取的下标区分,即使两个位置上的数字相同,只要选取的位置不同,就认为是不同的方案。 例如数组为: $$…
题目 T837880 铺地毯 题解 题目给定一条长度为 $N$ 的走廊,共有 $M$ 张地毯,第 $i$ 张地毯会覆盖区间 $[l_i,r_i]$ 内的所有位置,要求我们计算最终有多少个位置没有被任何地毯覆盖。 首先明确一个容易混淆的地方:题目并不要求统计一共铺设了多少次地毯,而是统计有多少个位置至少被覆盖一次。因此,即使同一个位置被多张地毯覆盖,…
题目 U736985 AB 字符打印机 - 洛谷 题解 题目给定 $n$ 次操作,每次输入两个整数 $t$ 和 $k$,当 $t=0$ 时输出 $k$ 个字符 a,否则输出 $k$ 个字符 b,要求所有操作的输出结果直接拼接,不添加空格或换行。 我们可以直接使用循环和分支结构模拟整个过程。首先读入操作次数 $n$,然后依次处理每一次操作,使用 if…
题目 U736965 凯撒密码变体 - 洛谷 题解 题目给定一个长度为 $n$ 的字符串 $s$,以及 $26$ 个整数 $a_1,a_2,\ldots,a_{26}$,分别表示字母 a 到 z 的偏移量,要求我们按照每个字母对应的偏移量对字符串进行加密,并输出加密后的字符串。 首先需要注意,题目中的偏移量是针对每一种字母的,而不是针对字符串中的每…
题目 a + b 题解 题目输入两个数字 $a$, $b$,要求我们求出 $a + b$ 的数位和,首先搞懂什么是数位和,例如数字 $9331$ 的数位和即为 $9 + 3 + 3 + 1 = 16$,简单来说就是每一位的数字的和。 然后我们观察数据范围,发现 $a$, $b$ 的最大值可达 $2^{100}$,我们知道 int 类型的最大值接近 …
题目 旧日铁砧的规矩 题解 在正式开始题目讲解之前,我给大家出一道题目: 现在你有面额为 $1$,$2$,$4$,$8$,$16$ 的纸钞各一张,若你能从这些纸钞里任选几张形成一种组合方案,并且我们认为 $0$ 元不算有效金额,请问在全部可能的组合方案中有多少种不同的总金额? 答案是 $31$ 种。 聪明的人可能已经发现了,如果算上 $0$ 为有效…
题目 边缘世界:轨道交易 题解 由于题目明确可以找零,说明无论如何,只要我们现有总金额大于商品价格,我们就可以购买这个商品,因此题目可以简述为,给定总金额和若干商品的价格,问最多可以买多少件商品,因此我们只需要尽可能买便宜的商品从而最大化购买的商品数量。 #include <bits/stdc++.h> using i128 = __int1…
题目 Easy Version Hard Version 题解 这边只展开讲解 Hard 版本,题目将给定一个长度为 $n$ 的数组 $a$,并给定 $k$ 次询问,每次询问给定一个值 $d$ 要求我们回答 $a$ 中有多少个元素严格大于 $d$,有多少个元素严格小于 $d$。 首先我们观察题目的数据范围 $n$ 的最大值可达 $5 \times …
题目 黄孝鑫的寿司队列 题解 题目给定一个长度为 $n$ 的数组 $a$,要求我们在只能交换相邻元素的前提下将数组变为有序数组(从小到大排列),并且交换次数不能超过 $n^2$ 次,显然只要我们模拟冒泡排序的方法就可以在满足题目限制条件的情况下完成数组排序,因为冒泡排序的操作次数最大不会超过 $n ^ 2$,因此直接模拟冒泡排序过程即可,注意需要统…
题目 补给抵达日期 Easy Version 补给抵达日期 Hard Version 题解 题目给定一个日期,要求我们实现一个获取 $n$ 天之后的程序,我们先考虑实现获取一天之后的日期的功能,然后我们只需要循环 $n$ 次便可解决问题。 那么如何实现一个获取 $1$ 天以后日期的功能呢?本质上日期就是一个动态的进位数值,它的第一位是 Day,第二…