acwing-提高
文章平均质量分 69
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
5 最长回文子串(区间 dp)
1. 问题描述:给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb" 提示:1原创 2022-06-09 16:20:03 · 1395 阅读 · 2 评论 -
4425 改变数字(模拟)
1. 问题描述:给定一个正整数 x,你可以对其各个数位上的数字进行反转操作。反转操作是指将一个数 t 替换为 9−t,请你计算,通过一系列的反转操作(也可以不进行任何操作),能够将 x 转换为的最小可能正整数,注意,最终数字不能以 0 开头。输入格式一个正整数 x输出格式一个正整数,表示可以得到的最小可能正整数数据范围所有测试点满足 1 ≤ x ≤ 10 ^ 18输入样例1:27输出样例1:22输入样例2:9输出样例2:9输入样例3:91730629输出样例3:91230320来源:https://www原创 2022-06-09 15:35:18 · 1416 阅读 · 0 评论 -
4427 树中节点和(贪心)
1. 问题描述:给定一棵 n 个节点组成的树。树中节点编号为 1∼n,1 号节点为树的根节点。树中的每个节点 v 都具有一个非负整数权值 av。我们用 sv 来表示从节点 v 到根节点的路径上经过的所有节点(包括两端节点)的权值之和;用 hv 来表示从节点 v 到根节点的路径上经过的所有节点(包括两端节点)的数量,显然,s1 = a1,h1 = 1。现在,我们只知道树的具体结构以及所有 h 值为奇数的节点的 s 值。请你为树中的每个节点 v 赋予一个非负整数权值 av,要求在满足已知信息的情况下,所有节点的原创 2022-06-09 11:46:18 · 1010 阅读 · 0 评论 -
4426 整除子串(枚举 + 数论)
1. 问题描述:给定一个由数字组成的字符串 s,请你计算能够被 4 整除的 s 的子串数量子串可以包含前导 0,例如,如果 s 为 124,则满足条件的子串有 4 个:12,4,24,124;如果 s 为 04,则满足条件的子串有 3 个:0,4,04。输入格式一个由数字组成的字符串 s输出格式一个整数,表示满足条件的子串数量数据范围前 4 个测试点满足 1 ≤ |s| ≤ 10所有测试点满足 1 ≤ |s| ≤ 3 × 10 ^ 5输入样例1:124输出样例1:4输入样例2:04输出样例2:3输入样例3原创 2022-06-08 09:59:04 · 856 阅读 · 0 评论 -
4424 等式(一元二次方程)
1. 问题描述:给定一个非负整数 d,请你找到两个非负实数 a,b,使得等式 a + b = d 和 a × b = d 同时成立输入格式第一行包含整数 T,表示共有 T 组测试数据,每组数据占一行,包含一个整数 d。输出格式每组数据输出一行答案:如果存在满足条件的 a 和 b,则首先输出一个字母 Y,随后输出任意一组满足要求的 a 和 b;如果不存在满足条件的 a 和 b,则输出一个字母 N;只要你输出的 a 和 b 能够同时满足 |(a + b) − a × b| ≤ 10 ^ −6 以及 |(a原创 2022-06-07 22:38:04 · 657 阅读 · 0 评论 -
4423 最近距离(枚举)
1. 问题描述:给定一个长度为 n 的整数数组 a1,a2,…,an,对于每个整数 i(1 ≤ i ≤ n),请你找到一个整数 j,要求:在满足以上两个条件的情况下,|i − j| 应尽可能小,|i−j| 的最小可能值不妨用 bi 来表示请你计算并输出 b1,b2,…,bn,保证给定数组中一定存在 0输入格式第一行包含整数 n,第二行包含 n 个整数 a1,a2,…,an。输出格式一行,n 个整数 b1,b2,…,bn。数据范围前 4 个测试点满足 1 ≤ n ≤ 10所有测试点满足 1 ≤ n ≤ 2原创 2022-06-07 21:14:26 · 692 阅读 · 0 评论 -
4421 信号(贪心)
1. 问题描述:有 n 个房子排成一排,从左到右依次编号为 1∼n,其中一些房子内装有无线信号发射器,这些信号发射器的有效覆盖半径为 r,更准确地说,如果第 p 号房子内装有信号发射器,则所有房间编号在 [p − r + 1,p + r − 1] 范围内的房子均可被其发出的无线信号覆盖,而其余房子则不会被其发出的无线信号覆盖。例如,假设 n = 6,r = 2,且第 2、5 号房子内装有信号发射器,则第 2 号房子内的发射器发出的信号可以覆盖第 1∼3 号房子,第 5 号房子内的发射器发出的信号可以覆盖第原创 2022-06-07 16:18:57 · 657 阅读 · 0 评论 -
4420 连通分量(并查集--统计每个集合中点的数目)
1. 问题描述:给定一个 n×m 的方格矩阵,每个方格要么是空格(用 . 表示),要么是障碍物(用 * 表示)。如果两个空格存在公共边,则两空格视为相邻。我们称一个不可扩展的空格集合为连通分量,如果集合中的任意两个空格都能通过相邻空格的路径连接。这其实是一个典型的众所周知的关于连通分量的定义。现在,我们的问题如下:对于每个包含障碍物的单元格 (x,y),假设它是一个空格(所有其他单元格保持不变)的前提下,请你计算包含 (x,y) 的连通分量所包含的单元格数量,注意,所有假设求解操作之间都是相互独立的,互不原创 2022-06-06 22:54:55 · 800 阅读 · 0 评论 -
4416 缺少的数
1. 问题描述:给定一个长度为 n − 1 的数列 a1,a2,…,an−1,数列中的元素两两不同,且都在 1∼n 的范围内。请你计算,1∼n 中的哪一个数没有在数列中出现过。输入格式第一行包含一个整数 n,第二行包含 n − 1 个整数 a1,a2,…,an−1输出格式输出 1∼n 中没有在数列中出现过的数。数据范围前三个测试点满足 2 ≤ n ≤ 10;所有测试点满足 2 ≤ n ≤ 10 ^ 5,1 ≤ ai ≤ n输入样例:103 8 10 1 7 9 6 5 2输出样例:4来源:https:原创 2022-06-06 20:06:56 · 617 阅读 · 0 评论 -
4418 选元素(递推)
1. 问题描述:给定一个长度为 n 的整数序列 a1,a2,…,an。请你从中挑选 x 个元素,要求:输出最大可能和。输入格式第一行包含三个整数 n,k,x,第二行包含 n 个整数 a1,a2,…,an。输出格式如果无法满足题目要求,则输出 −1,否则,输出一个整数,表示所选元素的最大可能和。数据范围前三个测试点满足 1 ≤ k,x ≤ n ≤ 6所有测试点满足 1 ≤ k,x ≤ n ≤ 200,1 ≤ ai ≤ 10 ^ 9输入样例1:5 2 35 1 3 10 1输出样例1:18输入样例2:6 1原创 2022-06-06 16:30:40 · 1041 阅读 · 0 评论 -
4417 选区间(贪心 + 枚举)
1. 问题描述:给定 n 个一类区间 (l1i,r1i),给定 m 个二类区间 (l2i,r2i),请你从一类区间中挑选一个区间,从二类区间中挑选一个区间,要求,选出的两个区间之间的距离尽可能大,请你输出最大可能距离。关于两区间 (l1,r1) 和 (l2,r2) 之间的距离:我们规定:如果两区间存在交集,则区间距离为 0。如果两区间不存在交集,则区间距离为 |i−j| 的最小可能值,其中 l1 ≤ i ≤r1,l2 ≤ j ≤ r2输入格式第一行包含一个整数 n,接下来 n 行,每行包含两个整数 l1原创 2022-06-06 10:23:37 · 651 阅读 · 0 评论 -
4415 点的赋值(二分图 + 染色法)
1. 问题描述:给定一个 n 个点 m 条边的无向无权图。点的编号为 1∼n,图中不含重边和自环。现在,请你给图中的每个点进行赋值,要求:每个点的权值只能是 1 或 2 或 3。对于图中的每一条边,其两端点的权值之和都必须是奇数,请问,共有多少种不同的赋值方法。由于结果可能很大,你只需要输出对 998244353 取模后的结果。输入格式第一行包含整数 T,表示共有 T 组测试数据,数据第一行包含两个整数 n,m,接下来 m 行,每行包含两个整数 u,v,表示点 u 和点 v 之间存在一条边。输出格式一个整数原创 2022-06-05 22:15:20 · 639 阅读 · 0 评论 -
4414 子序列(分类讨论、贪心)
1. 问题描述:给定一个长度为 n 的整数序列 a1,a2,…,an,请你找到一个该序列的子序列,要求:输出你找到的满足条件的子序列的所有元素之和。保证至少存在一个满足条件的子序列。注意,子序列不一定连续。输入格式第一行包含一个整数 n。第二行包含 n 个整数 a1,a2,…,an。输出格式输出一个整数,表示满足条件的子序列的所有元素之和。数据范围前 6 个测试点满足 1 ≤ n ≤ 5所有测试点满足 1 ≤ n ≤ 10 ^ 5,−10 ^ 4 ≤ ai ≤ 10 ^ 4输入样例1:4-2 2 -3原创 2022-06-05 17:21:23 · 858 阅读 · 0 评论 -
4410 吃鸡蛋(模拟)
1. 问题描述:小明家里有 n 个鸡蛋。每天早上,小明都要吃 1 个鸡蛋作为早餐。小明家里还有一个母鸡。母鸡会在第 m,2m,3m ... 天的晚上下蛋,每次只下 1 个蛋。请问,连续多少天以后,小明就没有早餐鸡蛋吃了?输入格式一行两个整数 n,m输出格式一个整数,表示答案。数据范围所有测试点满足 1 ≤ n ≤ 100,2 ≤ m ≤ 100输入样例1:2 2输出样例1:3样例1解释第 1,2 天的早晨,小明可以吃原本就有的鸡蛋。第 3 天的早晨,小明可以吃第 2 天晚上母鸡下的鸡蛋。第 4 天的早晨,小原创 2022-06-05 15:30:16 · 698 阅读 · 0 评论 -
4412 构造数组(区间合并)
1. 问题描述:给定一个长度为 n 的整数数组 a1,a2,…,an;请你构造长度为 n 的整数数组 b1,b2,…,bn,要求数组 b 满足:请计算,一共可以构造出多少个不同的满足条件的数组 b。由于答案可能很大,你只需要输出对 998244353 取模后的结果。例如,如果 a=[1,2,1,2,3],则一共有 2 个满足条件的数组 b,分别是 b = [0,0,0,0,0] 和 b = [0,0,0,0,1];输入格式第一行包含一个整数 n。第二行包含 n 个整数 a1,a2,…,an。输出格式一个整数原创 2022-06-05 10:56:35 · 667 阅读 · 0 评论 -
4411 三仙归洞(找规律-周期)
1. 问题描述:三个倒扣着的不透明小碗排成一排。随机挑选一个小碗,将一个小球置于碗中。然后进行 n 次操作,编号 1∼n。对于第 i 次操作:如果 i mod 2 = 1,则操作内容为将位于中间的碗和位于左边的碗交换位置。如果 i mod 2 = 0,则操作内容为将位于中间的碗和位于右边的碗交换位置。我们不妨用 0,1,2 来表示左、中、右三个位置。n 次操作全部完成以后,装有小球的碗位于位置 x,请你计算,所有操作开始前,装有小球的碗所在的初始位置。输入格式第一行,一个整数 n。第二行,一个整数原创 2022-06-04 18:23:19 · 772 阅读 · 0 评论 -
4401 找回数组(差分、枚举)
1. 问题描述:有一个长度为 k 的整数数组 x0,x1,…,xk−1。不幸的是,这个数组已经丢失了,我们甚至不知道 k 的具体值。幸运的是,我们找到了另一个利用数组 x 生成的长度为 n + 1 的数组 a0,a1,…,an。数组 a 的正式描述如下:例如,当 x=[1,2,3] 并且 n = 5 时,生成数组 a 的过程如下:a0 = 0a1 = x0 mod 3 + a0 = x0 + 0 = 1a2 = x1 mod 3 + a1 = x1 + 1 = 3a3 = x2 mod 3 + a2原创 2022-06-04 17:23:20 · 640 阅读 · 0 评论 -
4400 玩游戏(约瑟夫环、模拟)
1. 问题描述:n 个小朋友围成一圈,玩数数游戏。小朋友们按顺时针顺序,依次编号为 1∼n。初始时,1 号小朋友被指定为领头人。游戏一共会行进 k 轮。在第 i 轮中,领头人会从他的顺时针方向的下一个人开始,按顺时针顺序数 ai 个人。其中,最后一个被领头人数到的人被淘汰出局,这也意味着该轮游戏结束。出局者的顺时针方向的下一个人被指定为新领头人,引领新一轮游戏。例如,假设当游戏即将开始第 i 轮时,还剩下 5 个小朋友,编号按顺时针顺序依次为 8,10,13,14,16,并且当前领头人为 13 号小朋友,原创 2022-06-04 09:34:12 · 650 阅读 · 0 评论 -
4396 取石子(思维题)
1. 问题描述:两个小朋友玩取石子游戏。第一个小朋友面前有 n1 个石子,第二个小朋友面前有 n2 个石子。两人轮流取自己面前的石子。第一个小朋友先手,第二个小朋友后手。第一个小朋友每轮次最多取 k1 个石子,最少取 1 个石子。第二个小朋友每轮次最多取 k2 个石子,最少取 1 个石子。率先取完自己面前石子的小朋友,视为失败。请问,两个小朋友都采取最优策略的情况下,谁会获胜?输入格式一行,四个整数 n1,n2,k1,k2;输出格式如果第一个小朋友获胜,则输出 First,如果第二个小朋友获胜,则输出 Se原创 2022-06-03 16:31:01 · 316 阅读 · 0 评论 -
4398 查询字符串(暴力 + 哈希表)
1. 问题描述:给定 n 个字符串 f1,f2,…,fn。这些字符串两两不同,下面给定 q 个询问。其中,第 i 次询问给定一个字符串 si,你的任务是:计算 f1∼fn 这 n 个字符串中,包含 si 作为子串的字符串的数量;从 f1∼fn 这 n 个字符串中,任选一个包含 si 作为子串的字符串输出;输入格式第一行包含整数 n。接下来 n 行,其中第 i 行包含字符串 fi。再一行包含整数 q。接下来 q 行,其中第 i 行包含字符串 si。所有 fi 和 si 都只包含小写字母、数字以及 .输出格原创 2022-06-03 15:49:21 · 193 阅读 · 0 评论 -
windy数(数位dp)
1. 问题描述:windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?输入格式包含两个整数,A B。输出格式一个整数输入输出样例输入1 10输出9输入25 50输出20数据范围100%的数据,满足 1 <= A <= B <= 2000000000 。来源:https://www.acwing.com/activity/content/11/原创 2021-05-06 20:36:15 · 1121 阅读 · 3 评论 -
4397 卡牌(贪心)
1. 问题描述:有 n 张卡牌,编号 1∼n,每张卡牌的正面和背面都各有一个数字,第 i 张卡牌的正面数字为 ai,背面数字为 bi,初始时,所有卡牌都正面朝上,显示正面的数字,现在你可以将其中一些卡牌翻面,使其显示背面的数字,要求:至少有 k 张卡牌保持正面朝上;所有卡牌显示的数字之和尽可能小;输出所有卡牌显示的数字之和的最小可能值;输入格式第一行包含两个整数 n,k,第二行包含 n 个整数 a1,a2,…,an,第三行包含 n 个整数 b1,b2,…,bn;输出格式一个整数,表示所有卡牌显示的数字原创 2022-06-03 11:22:10 · 626 阅读 · 0 评论 -
4395 最大子矩阵(前缀和 + 双指针)
1. 问头描述:给定一个长度为 n 的整数数组 a1,a2,…,an 和一个长度为 m 的整数数组 b1,b2,…,bm;设 c 是一个 n × m 的矩阵,其中 ci,j = ai × bj,请你找到矩阵 c 的一个子矩阵,要求:该子矩阵所包含的所有元素之和不超过 x,并且其面积(包含元素的数量)应尽可能大,输出满足条件的子矩阵的最大可能面积(即包含元素的最大可能数量)。输入格式第一行包含两个整数 n,m。第二行包含 n 个整数 a1,a2,…,an。第三行包含 m 个整数 b1,b2,…,bm。第四行包原创 2022-06-02 23:09:36 · 284 阅读 · 0 评论 -
4394 最长连续子序列(滑动窗口 + 哈希表)
1. 问题描述:给定一个长度为 n 的整数序列 a1,a2,…,an。请你找出它的一个最长连续子序列,要求该子序列包含不超过 k 个不同的值。输入格式第一行包含两个整数 n,k,第二行包含 n 个整数 a1,a2,…,an。输出格式共一行,两个整数 l,r,表示你找出的满足条件的最长连续子序列的最左端元素下标和最右端元素下标。如果答案不唯一,输出任意合理方案均可。数据范围前 6 个测试点满足 1 ≤ k ≤ n ≤ 10;所有测试点满足 1 ≤ k ≤ n ≤ 5 × 10 ^ 5,0 ≤ ai ≤ 10原创 2022-06-02 21:20:07 · 464 阅读 · 0 评论 -
4381 翻转树边(树形dp)
1. 问题描述:给定一个 n 个节点的树。节点编号为 1∼n。树中的 n−1 条边均为单向边。现在,我们需要选取一个节点作为中心点,并希望从中心点出发可以到达其他所有节点。但是,由于树中的边均为单向边,所以在选定中心点后,可能无法从中心点出发到达其他所有节点。为此,我们需要翻转一些边的方向,从而使得所选中心点可以到达其他所有节点。我们希望选定中心点后,所需翻转方向的边的数量尽可能少。请你确定哪些点可以选定为中心点,并输出所需的最少翻转边数量。输入格式第一行包含整数 n。接下来 n−1 行,每行包含两个整数原创 2022-06-01 22:57:14 · 253 阅读 · 2 评论 -
60 排列序列(枚举)
1. 问题描述:给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列;按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。示例 1:输入:n = 3, k = 3输出:"213"示例 2:输入:n = 4, k = 9输出:"2314"示例 3:输入:n = 3, k = 1输出:"123"提示:1 .........原创 2022-06-02 12:07:58 · 267 阅读 · 0 评论 -
4380 合并石子(贪心)
1. 问题描述:小 A 面前有 n 堆石子排成一排,每堆石子的数量从左到右依次为 a1,a2,…,an。小 B 面前有 m 堆石子排成一排,每堆石子的数量从左到右依次为 b1,b2,…,bm。两人面前的石子总数相同,即 a1 + a2 + … + an = b1 + b2 + … + bm。每个人都可以对自己面前的石子堆进行任意次合并操作,两个人的操作次数可以不同。合并操作指将连续的若干堆相邻石子合并为一堆。请你确定一个最大的整数 k,满足:小 A 停止所有操作后,面前恰好有 k 堆石子,每堆石子的数量原创 2022-06-01 09:49:47 · 919 阅读 · 0 评论 -
4319 合适数对(数论--算数基本定理,线性筛求解最小质数)
1. 问题描述:给定一个长度为 n 的正整数数列 a1,a2,…,an 和一个正整数 k,请你判断共有多少个数对 (l,r) 同时满足:1 ≤ l < r ≤ n;存在一个整数 x 使得 al × ar = x ^ k 成立;输入格式第一行包含两个整数 n,k;第二行包含 n 个正整数 a1,a2,…,an输出格式一个整数,表示满足条件的数对的数量。数据范围前三个测试点满足 2 ≤ n ≤ 10。所有测试点满足 2 ≤ n ≤ 10 ^ 5,2 ≤ k ≤ 100,1原创 2022-05-31 17:42:51 · 498 阅读 · 0 评论 -
4317 不同正整数的个数(哈希表)
1. 问题描述:给定 n 个非负整数 a1,a2,…,an,请你计算其中共有多少个不同的正整数。输入格式第一行包含整数 n;第二行包含 n 个非负整数 a1,a2,…,an,保证至少存在一个正整数。输出格式一个整数,表示其中不同正整数的数量。数据范围前三个测试点满足 1 ≤ n ≤ 5;所有测试点满足 1 ≤ n ≤ 100,0 ≤ ai ≤ 600;输入样例1:41 3 3 2输出样例1:3输入样例2:31 1 1输出样例2:1输入样例原创 2022-05-31 11:49:04 · 271 阅读 · 0 评论 -
4378 选取数对(递推)
1. 问题描述:给定一个长度为 n 的整数数列 a1,a2,…,an,请你选择 k 个数对 [l1,r1],[l2,r2],…,[lk,rk],要求所选数对满足:1 ≤ l1 ≤ r1 < l2 ≤ r2 < … < lk ≤ rk ≤ n;对于 1 ≤ i ≤ k,ri − li + 1 = m 均成立。设 sum = ∑i=1k∑j=li ri aj,sum 的值应尽可能大,请你输出 sum 的最大可能值。原创 2022-05-30 23:20:05 · 242 阅读 · 0 评论 -
4377 农田灌溉(枚举)
1. 问题描述:农夫约翰有 n 片连续的农田,编号依次为 1∼n。其中有 k 片农田中装有洒水器,装有洒水器的农田的编号从小到大依次为 x1,x2,…,xk,在某个炎热的中午,约翰觉得是时候给他的所有农田浇水了。每个洒水器在打开以后,向两侧方向洒水,并且随着开启时间延长,有效覆盖距离也不断增长。具体来说,我们将第 xi 片农田中的洒水器打开,经过 1 秒后,第 xi 片农田被其覆盖,经过 2 秒后,第 [xi−1,xi+1] 片农田被其覆盖,经过 j 秒后,第 [xi−(j−1),xi+(j−1)] 片原创 2022-05-30 21:36:21 · 293 阅读 · 0 评论 -
4316 合适数对(树状数组)
1. 问题描述:给定一个长度为 n 的整数数列 a1,a2,…,an 和一个整数 t,请你判断共有多少个数对 (l,r) 同时满足:1 ≤ l ≤ r ≤ nal + al+1+ ... + ar−1 + ar < t输入格式第一行包含两个整数 n 和 t。第二行包含 n 个整数 a1,a2,…,an。输出格式一个整数,表示满足条件的数对的数量。数据范围前三个测试点满足 1 ≤ n ≤ 5;所有测试点满足 1 ≤ n ≤ 2 × 10 ^ 5,|t| ≤ 2 × 10原创 2022-05-30 20:19:50 · 302 阅读 · 0 评论 -
4315 两个数列(区间相交)
有两个正整数数列 a1,a2,…,an 和 b1,b2,…,bn。现在,已知的信息有:数列 a 的各个元素的值。数列 b 的各个元素之和 s。对于任意的 1 ≤ i ≤ n,满足 1 ≤ bi ≤ ai 成立。利用给出的信息,我们可以对数列 b 中各个元素的值进行推断。由上述信息,我们可知对于元素 bi,其可能的取值范围为 [1,ai],但是受到已知条件的约束,它可能无法取到其中一些数值。我们的任务就是计算每个 bi 在其可能的取值范围内,无法取到的数值的数量。例如,如果 n = 2,a ={4,4原创 2022-05-30 09:54:55 · 302 阅读 · 0 评论 -
4315 两个数列(区间相交)
有两个正整数数列 a1,a2,…,an 和 b1,b2,…,bn。现在,已知的信息有:数列 a 的各个元素的值。数列 b 的各个元素之和 s。对于任意的 1 ≤ i ≤ n,满足 1 ≤ bi ≤ ai 成立。利用给出的信息,我们可以对数列 b 中各个元素的值进行推断。由上述信息,我们可知对于元素 bi,其可能的取值范围为 [1,ai],但是受到已知条件的约束,它可能无法取到其中一些数值。我们的任务就是计算每个 bi 在其可能的取值范围内,无法取到的数值的数量。例如,如果 n = 2,a ={4,4原创 2022-05-30 09:54:55 · 302 阅读 · 0 评论 -
4314 三元组(暴力枚举)
1. 问题描述:请你计算共有多少个整数三元组 (a,b,c) 能够同时满足:1 ≤ a ≤ b ≤ c ≤ na ⊕ b ⊕ c = 0,其中⊕表示按位异或;(a,b,c) 可以构成一个非退化三角形(即任意两边之和均大于第三边)。输入格式一个整数 n。输出格式一个整数,表示满足条件的三元组的个数。数据范围前三个测试点满足 1 ≤ n ≤ 10,所有测试点满足 1 ≤ n ≤ 100输入样例1:6输出样例1:1输入样例2:10输出样例2:2来源原创 2022-05-30 09:11:26 · 475 阅读 · 0 评论 -
4318 最短路径(构造)
1. 问题描述:有一个智能机器人,我们可以通过给它发送移动指令来控制它在一个方格矩阵地图中进行移动。移动指令共有以下四种:U,向上移动一格距离。D,向下移动一格距离。L,向左移动一格距离。R,向右移动一格距离。矩阵地图可以无限大,矩阵地图中的方格可以是空格也可以是陷阱。机器人移动至空格则安然无恙,移动至陷阱则被摧毁。现在,机器人的移动指令已经全部设定完毕。请问,是否可以构造一个合适的矩阵地图,并选择地图中的两个不同空格位置作为起点和终点,使得:机器人能够从起点开始,按照设定好的一系列移动指令原创 2022-03-29 14:56:07 · 575 阅读 · 0 评论 -
3577 选择数字(哈希表)
1. 问题描述:给定一个整数数组 A,其包含 n 个正整数 a1,a2,…,an 以及一个整数数组 B,其包含 m 个正整数 b1,b2,…,bm。请从数组 A 中挑选一个元素 a 并从数组 B 中挑选一个元素 b,使得 a + b 既不包含于 A 也不包含于 B。例如,如果 A=[2,1,7] 而 B=[1,3,4],则可以从 A 中选取 1,从 B 中选取 4,这样得到的数字 1+4=5 既不在 A 中,也不在 B 中。但是,我们不能从 A 中选取 2,从 B 中选取 1,因为得到的数字 2+1=3原创 2022-03-28 20:46:11 · 350 阅读 · 0 评论 -
3579 数字移动(环图、找环、并查集)
1. 问题描述:将 1∼n 按顺序排成一排,构成一个数列。数字 i 刚好位于位置 i。再给定一个长度为 n 的位置序列 p1,p2,…,pn,它是 1∼n 的一种排列。接下来,我们会重复不断地对数列进行如下操作:重新排列数列中每个数的位置,将位于位置 i 的数移动至 位置 pi。(如果 i = pi 则该数仍移动至位置 i)。每次操作开始时,所有数的移动同时进行,操作结束后,数列将变为一个新的 1∼n 的排列。例如,当 n = 6 并且 p = [4,6,1,3,5,2] 时,第一次操作后,数字 1 将原创 2022-03-28 18:41:07 · 546 阅读 · 0 评论 -
3578 最大中位数(二分查找)
1. 问题描述:给定一个由 n 个整数组成的数组 a,其中 n 为奇数。你可以对其进行以下操作:选择数组中的一个元素(例如 ai),将其增加 1(即,将其替换为 ai+1)。你最多可以进行 k 次操作,并希望该数组的中位数能够尽可能大。奇数长度的数组的中位数是数组以非降序排序后的中间元素。例如,数组 [1,5,2,3,5] 的中位数为 3。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数 a1,a2,…,an。输出格式输出一个整数,表示通过操作可能得到的最大中位数。原创 2022-03-28 12:18:08 · 750 阅读 · 0 评论 -
3626 三元一次方程(枚举)
1. 问题描述:给定一个整数 n,请你求出三元一次方程 3x + 5y + 7z = n 的一组非负整数解。要求:x ≥ 0,y ≥ 0,z ≥ 0如果解不唯一,则输出 x,y,z 字典序最小的解。输入格式第一行包含一个整数 T,表示共有 T 组测试数据。每组数据占一行,包含一个整数 n。输出格式每组数据输出一行结果,如果无解则输出 −1,否则输出 x,y,z,整数之间单个空格隔开。数据范围对于前三个测试点,1 ≤ n ≤ 100。对于全部测试点,1 ≤ T ≤ 1000原创 2022-03-27 20:56:28 · 943 阅读 · 0 评论