每日一练
Ryanui
这个作者很懒,什么都没留下…
展开
-
【ACWing 每日一题之质数】
每组数据输出占一行,输出第 k 个质数。每个输入最多包含 100 组数据。输出从小到大的第 k个质数。每组数据一行,一个整数 k。原创 2023-05-10 16:13:29 · 138 阅读 · 0 评论 -
【ACWing 每日一题之棋盘游戏】
横纵坐标均从 0 开始,矩阵的左上角为 (0,0),右下角为 (5,5)。每组数据一开始为 6×6 的矩阵,然后四个整数表示起始坐标和终止坐标。矩阵内数值的取值范围[1,10]。原创 2023-05-08 20:01:19 · 180 阅读 · 0 评论 -
【ACWing 每日一题之最短距离总和】
接下来 n 行,每行包含 n 个空格隔开的整数,表示邻接矩阵,其中第 i 行第 j 列的数字 aij 表示点 i 和点 j 之间存在一条边,长度为 aijaij。拿走 1 号点后,2,3,4 号点构成一个等边三角形,每个点到其他两点的最短距离都为 11,所以所有点到其他点的最短距离之和的总和为 2+2+2=6。拿走 1,2 号点后,3,4 号点之间存在一条边,边长为 1,所以所有点到其他点的最短距离之和的总和为 1+1=2。拿走 1,2,3 号点后,仅剩 1 个点,不存在到其他点的最短距离。原创 2023-05-06 21:51:35 · 72 阅读 · 0 评论 -
【ACWing 简单密码】
输入中的测试数据不超过 100 组。每组数据都有如下的形式,而且各组测试数据之间没有空白的行。对于明文中的每个字符,将它用它字母表中后 5 位对应的字符来代替,这样就得到了密文。Julius Caesar 曾经使用过一种很简单的密码。密文中也包括非字母的字符,对这些字符不用进行解码。你需要注意的是,密文中出现的字母都是大写字母。对每组数据,都有一行输出,给出密文对应的明文。你的任务是对给定的密文进行解密得到明文。每个密文的长度不超过 100100。如下是密文和明文中字符的对应关系。原创 2023-05-05 13:00:53 · 67 阅读 · 0 评论 -
【ACWing 鸡兔同笼】
输出包含 n 行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物。一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。第一行包含整数 n,表示共有 n 组数据。每组数据占 1 行,每行一个正整数 a。如果没有满足要求的答案,则输出两个 0。原创 2023-05-04 21:58:36 · 52 阅读 · 0 评论 -
【ACWing 字符串排序II】
小总结:题解运用到了函数库里的函数,从而简洁地解决了问题,通过这道题学到了一个稳定排序的函数方法,以及如何自定义比较函数。编写一个程序,将输入字符串中的字符按如下规则排序。每组数据输出一行结果,为按要求排序后的字符串。每个输入最多包含 100 组数据。每组数据占一行,包含一个字符串。字符串长度不超过 1000,输入包含多组测试数据。原创 2023-05-03 20:11:12 · 73 阅读 · 0 评论 -
【ACWing 十进制VS二进制】
例如对于十进制数 173,它的二进制形式为 10101101,逆序排列得到 10110101,其十进制数为 181,181 即为 173 的二进制逆序数。对于一个十进制数 A,将 A 转换为二进制数,然后按位逆序排列,再转换为十进制数 B,我们称 B 为 A 的二进制逆序数。A 是正整数且不超过 1000 位。输出 A 的二进制逆序数 B。原创 2023-05-01 21:52:26 · 48 阅读 · 0 评论 -
【ACWing 每日一练之分组统计】
第三行的序号(1-n)同时也是第二行数据的序号,第i个数的内容就是组号,比如例子里的第三行的第一个数为1,“1”代表的就是第1组,同时第“一”个数对应的第二行的第“一”个数:3,也就是第1组包含了数字3。,an,这 n 个数对应 m 个不同的数值,从小到大依次为 v1,v2,…第三行包含 n 个整数,其中第 i个整数表示 ai 所在的小组编号。现在,请你统计每个小组中,每个数值的数有多少个。第二行包含 n 个整数 a1,a2,…每组数据第一行包含整数 n,表示整数个数。这 n 个数被分到了 k 个小组中。原创 2023-04-22 13:06:56 · 48 阅读 · 0 评论 -
【ACWing 每日一练之三元组】
如果数组中有 ai+aj=ak 其中 i,j,ki 大于等于 0 并且小于 m,则称 (ai,aj,ak)为一个三元组。给定一个长度为 m 的数组 a0,a1,…第一行包含一个整数 n,表示共有 n 组测试数据。现在,给定你数组 a,请你计算其中三元组的个数。每组数据第一行包含整数 m,表示数组长度。每组数据输出一行一个答案,表示三元组个数。第二行包含 m 个整数,表示数组。数组元素取值范围 [0,100]。题目比较简单,不再赘述。原创 2023-04-21 10:26:50 · 123 阅读 · 0 评论 -
【ACWing 每日一练之最长公共子串 】
具体来说,该算法首先读取两个输入字符串,然后使用双指针法从最短字符串开始遍历,枚举所有可能的子串长度(使用二分查找确定长度值)。对于每个长度值,该算法会将第一个字符串中所有长度为 mid 的子串的 hash 值存入一个 unordered_set 中,并逐一查找第二个字符串中所有长度为 mid 的子串是否存在于这个 set 中。如果存在,则说明找到了相同的子串,否则继续尝试更短的子串长度。这段代码实现了一个字符串匹配算法,用于在两个字符串中寻找最长的相同子串,并输出其长度。的最长公共子串的长度。原创 2023-04-20 20:32:12 · 79 阅读 · 0 评论 -
【ACWing 每日一练之整数奇偶排序】
输入整数取值范围 [0,100][0,100]。任意排序的 1010 个整数,彼此以空格分隔。输入 1010 个整数,彼此以空格分隔。按照要求排序后输出,整数之间由空格分隔。题目比较简单,不在赘述。原创 2023-04-19 15:44:30 · 89 阅读 · 0 评论 -
【ACWing 每日一练之skew数】
例如,10120(skew)=1×(2^5−1)+0×(2^4−1)+1×(2^3−1)+2×(2^2−1)+0×(2^1−1)=31+0+7+6+0=44。在 skew binary 表示中,第 k位的值 x[k] 表示 x[k]×(2^(k+1)−1),k 的取值从0开始。前十个 skew 数是 0、1、2、10、11、12、20、100、101以及 102。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,且不含前导零。给定若干 skew 数,请你输出它们的十进制形式。原创 2023-04-18 10:39:30 · 104 阅读 · 0 评论 -
【ACWing 每日一练之子矩阵】
给定一个 n×m(n 行 m 列)的矩阵。设一个矩阵的价值为其所有数中的最大值和最小值的乘积。求给定矩阵的所有大小为 a×b (a 行 b 列)的子矩阵的价值的和。答案可能很大,你只需要输出答案对 998244353 取模后的结果。输入格式输入的第一行包含四个整数分别表示 n,m,a,b 相邻整数之间使用一个空格分隔。接下来 n 行每行包含 m 个整数,相邻整数之间使用一个空格分隔,表示矩阵中的每个数 Ai,jAi,j。输出格式输出一行包含一个整数表示答案。数据范围。原创 2023-04-16 16:55:06 · 78 阅读 · 0 评论 -
【ACWing 每日一练之接龙数列】
但是直接两重循环会超时,我们发现,只需要知道每一个以0-9结尾的最长接龙数列的长度是多大,并不需要记录每一个数所能够形成的最长接龙数列的长度,所以可以开一个辅助数组g[10],用来记录以0-9结尾的最长接龙数列的长度。对于一个长度为 K的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 Ai的首位数字恰好等于 Ai−1的末位数字 (2≤i≤K)。现在给定一个长度为 N 的数列 A1,A2,...,AN,请你计算最少从中删除多少个数,可以使剩下的序列是接龙序列?第一行包含一个整数 N。原创 2023-04-15 16:17:47 · 277 阅读 · 0 评论 -
【ACWing 每日一练之飞机降落】
其中第 i架飞机在 Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 DiDi 个单位时间,即它最早可以于 Ti时刻开始降落,最晚可以于 Ti+Di时刻开始降落。一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不能在前一架飞机完成降落前开始降落。对于 100% 的数据,1≤T≤10,1≤N≤10,0≤Ti,Di,Li≤10^5。以下 N行,每行包含三个整数:Ti,Di和 Li。对于每组数据,第一行包含一个整数 NN。对于 30% 的数据,N≤2。,代表是否可以全部安全降落。原创 2023-04-14 13:07:16 · 110 阅读 · 1 评论 -
【ACWing 每日一练之冶炼金属】
这个炉子有一个称作转换率的属性 V,V是一个正整数,这意味着消耗 V个普通金属 O恰好可以冶炼出一个特殊金属 X,当普通金属 O的数目不足 V 时,无法继续冶炼。现在给出了 N条冶炼记录,每条记录中包含两个整数 A和 B,这表示本次投入了 A个普通金属 O,最终冶炼出了 B 个特殊金属 X。对于 100%100% 的评测用例,1≤N≤10^4,1≤B≤A≤10^9。输出两个整数,分别表示 VV 可能的最小值和最大值,中间用空格分开。接下来输入 N 行,每行两个整数 A、B,A、B,含义如题目所述。原创 2023-04-13 09:15:59 · 113 阅读 · 1 评论 -
【ACWing 每日一练之二叉树遍历】
编写一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。共一行,输出将输入字符串建立二叉树后中序遍历的序列,字符之间空格隔开。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入字符串长度不超过 100100,且只包含小写字母和。共一行,包含一个字符串,表示先序遍历字符串。表示的是空格,空格字符代表空树。注意,输出中不用包含。原创 2023-04-11 10:55:20 · 83 阅读 · 1 评论