- 博客(34)
- 收藏
- 关注
原创 【算法练习】——2的幂次方表示
2的幂次方表示具体思路:运用递归,找到递归的结束条件,此题递归的条件是不断乘2当结果比给定数大时结束循环,将次方数放入递归。题解#include<bits/stdc++.h>using namespace std;void work(int a){ if(a==1){//对特殊情况的处理 cout << "2(0)"; return; } else if(a==2){ cout <<
2022-03-11 14:45:40
591
原创 【open judge——括号匹配问题】
括号匹配问题【描述】在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$“标注,不能匹配的右括号用”?"标注.【输入】输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100注意:cin.getline(str,100)最多只能输入99个字符!
2022-03-04 17:09:32
1156
原创 【2020蓝桥杯——回文日期】
回文日期【题目描述】2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日
2022-03-01 22:11:46
829
原创 【寒假集训——cf题目翻译30】
题目三十C. Andrew and Stones[原题链接]题目链接[题目翻译]Andrew有n堆石头,第i堆包含ai个石头。他想把他的桌子弄干净,所有他决定把所有的石头放到第1或n堆。Andrew可以执行以下操作任意次数:选择3个索引1≤i<j<k≤n,使第j堆包含至少2块石头,然后他从j堆中取出2块石头把1块放入i堆,1块放入k堆。告诉Andrew移动所有的石头到1堆和n堆的最小操作次数是多少,判断是否不可能。[输入]输入包含几个测试用例。第一行包含一个整数t (1≤t≤
2022-02-19 02:00:04
360
原创 【寒假集训——cf题目翻译29】
题目二十九D. Yet Another Minimization Problem[原题链接]题目链接[题目翻译]已知两个数组a和b,长度都是n。你可以执行以下操作任意次数(可能为0):选择索引i (1≤i≤n)并交换a和b。我们定义数组a的代价为类似的,数组b的代价是你的任务是最小化两个数组的总开销。[输入]每个测试组由几个测试用例组成。第一行包含一个整数t (1≤t≤40) ——测试用例的数量。下面是输入数据集的描述:每个测试用例的第一行包含一个整数n (1≤n≤100)——
2022-02-19 01:49:32
234
原创 【寒假集训——cf题目翻译28】
题目二十八E. Best Pair[原题链接]题目链接[题目翻译]给定一个长度为n的数组a,设cnt是数组中等于x的元素个数,我们也定义f(x,y)为(cntx+cnty)⋅(x+y)。给你m对坏数对(xi,yi)。注意,如果(x,y)是坏对,那么(y,x)也是坏的。你的任务是找出f(u,v)在所有(u,v)对上的最大值,使u≠v,则这一对使好的,以及保证u和v都能出现在数组a中。它保证这样的数对存在。[输入]第一行包含一个整数t (1≤t≤10000)——表示测试用例的数量。每个测试用
2022-02-19 01:36:55
231
原创 【寒假集训——cf题目翻译27】
题目二十七F. Towers[原题链接]题目链接[题目翻译]已知一颗树有n个顶点,编号从1到n,第i个顶点的高度是hi,你可以放置任何数量的塔在顶点,对于每个塔,您可以选择将其放入哪个顶点,以及选择其效率。有效率的建造一座塔需要花费大量的成本金钱,当e>0。假设顶点a在顶点u和v(u≠v, 但是允许 x=u or x=v),当效率分别为eu和ev时, min(eu,ev)≥hx和a 位于u和v之间的路径上。找出建立塔所需的最小硬币数量,这样你就可以在所有顶点获得信号。[输入]第一行包
2022-02-19 00:56:55
419
原创 【寒假集训——cf题目翻译26】
题目二十六A. Reverse[原题链接]题目链接[题目翻译]Vitaly推给了Maxim n个数字1,2,…,n 作为他16岁的生日礼物,Maxim厌倦了在派对上玩棋盘游戏,所以他决定玩耍这些数字,在一些步骤中Maxim可以从他拥有的两个数字中选择a和y两个数字,然后扔掉它们,然后将两个数用x+y 和 |x−y|替换。他希望所有的数字在几步之后都是相等的,这些数字的总和是最小的。帮助Maxim找到解决方法。Maxim的朋友不想等太久,所以解决的步数不应该超过20n。它保证在给定的约束条件下,如
2022-02-19 00:44:27
302
原创 【寒假集训——cf题目翻译25】
题目二十五H. Minimize Inversions Number[原题链接]题目链接[题目翻译]已知一个长度为n的排列p。你可以选择任何子序列,并将其从序列中删除,并在保持相同顺序的情况下将其插入到序列的开头。对于从0到n的每个k。在你选择一个长度正好为k的子序列后,求排列中逆序的最小可能数目。[输入]第一行包含一个整数 t (1≤t≤50000)——表示测试用例的数量每个测试用例的第一行包含一个整数n (1≤n≤5⋅10e5)——表示排列的长度。每个测试用例的第二行包含排列 p
2022-02-19 00:26:42
354
原创 【寒假集训——cf题目翻译24】
题目二十四A. Reverse[原题链接]题目链接[题目翻译]给定一个长为n的排列p1,p2,…,pn,你必须选择两个整数 l,r (1≤l≤r≤n) 然后反转排列的子段[l,r]。排列变成p1,p2,…,pl−1,pr,pr−1,…,pl,pr+1,pr+2,…,pn求字典序上的最小排列,该排列可以通过对初始排列执行恰好一次反向操作而得到。注意,对于长度相等的两种不同排列的a和b,a在字典序上小于b,如果它们在第一个位置不同,则a的元素更小。排列是由n个从1到n的任意顺序的不同整数组成的数
2022-02-19 00:18:16
440
原创 【寒假集训——cf题目翻译23】
题目二十三B. Odd Swap Sort[原题链接]题目链接[题目翻译]给定一个数组a1,a2,…,an.用户可以对阵列进行操作。在每个操作中,你可以选择一个整数i (1≤i<n),和交换元素ai和数组中的ai+1,如果ai+(ai+1)为奇数。使用任意次数此操作,确定它是否可以按非递减顺序进行排序。[输入]每组测试包含多个测试用例。第一行是包含一个整数t (1≤t≤10e5)——表示测试用例的数量。对测试用例的描述如下:每个测试用例的第一行包含一个整数n (1≤n≤10e5)
2022-02-19 00:01:17
284
原创 【寒假集训——cf题目翻译22】
题目二十二C. Inversion Graph[原题链接]题目链接[题目翻译]给定一个排列p1,p2…pn,然后用以下方法构造一个无向图:在顶点i,j之间添加一条边,使i<j 当且仅当pi>pj . 。您的任务是计算此图中连接组件的数目。当且仅当至少有一条路径沿边连接u和v时,两个顶点u和v属于同一个连通分量。排列是由n个从1到n的任意顺序的不同整数组成的数组。列如[2,3,1,5,4]是一个排列,但[1,2,2]不是一个排列(2在数组中出现两次),而[1,3,4] 也不是一个排列
2022-02-17 02:57:45
311
原创 【寒假集训——cf题目翻译21】
题目二十一D. Big Brush[原题链接]题目链接[题目翻译]你在一张大小为n×m的画布上发现了一幅画。画布可以表示为一个有n行m列的网格。每个单元格中都有一些颜色。单元格(i,j) 表示 ci,j.在画的附近,你还发现了一个2*2的正方形画笔,所以画布肯定是按以下方式绘制的:最初,没有单元格被绘制。那么,以下的涂操作已经进行了几次:选择两个整数i和j(1≤i<n, 1≤j<m)和某个颜色k(1≤k≤nm)。(i,j) , (i+1,j), (i,j+1), (i+1,j+1
2022-02-17 02:43:30
339
原创 【寒假集训——cf题目翻译20】
题目二十E. Colorful Operations[原题链接]题目链接[题目翻译]当你有一个数组a1,a2,…,an。每个元素的初始值为0,颜色为1.你也被赋予q执行查询操作颜色l,r,c:改变元素al,al+1,⋯,ar 到c(1≤l≤r≤n, 1≤c≤n).增加c,x:将颜色为c(1≤c≤n, −10e9≤x≤10e9)的所有元素 ai (1≤i≤n) 的值加x查询i:打印ai (1≤i≤n)[输入]输入的第一行包含两个整数n和q(1≤n,q≤10e6)——数组a的长度和您必须执
2022-02-17 02:29:42
309
原创 【寒假集训——cf题目翻译19】
题目十九F. Two Posters[原题链接]题目链接[题目翻译]你想为你的新公司做广告,所以你要在市中心的广告牌上放两张海报。该广告牌是由n个宽度为1,高度为整数的垂直面板组成,由一根水平杆连接在一起。n个面板中的第i个面板是h-i;最初,他所有的面板都是向下悬挂的(他们的上边缘在上面),但放置两张海报前,您可以将每个面板向上移动任意长度,只要它仍然连接到条形图上(他的上边缘在下面或上面)。移动完成后,你将放置两张海报:一张放在酒吧下面,一张放在酒吧上面。他们不允许超过吧台,他们必须完全定
2022-02-17 02:15:56
574
原创 【寒假集训——cf题目翻译18】
题目十八D. The Winter Hike[原题链接]题目链接[题目翻译]你有一个整数数组a1,a2,…,an 和整数k在一个步骤中你可以要么选择某个指标i然后将ai减1,使得ai=ai−1;或者选择两个指标i和j,让ai等于aj(使得ai=aj);求数组所需的最小步骤数是多少∑i=1nai≤k(你可以使数组的值为负)[输入]第一行包含一个整数t(1≤t≤10e4)—表示测试用例的数量每个测试用例的第一行包含两个整数n和k(1≤n≤2⋅10e5; 1≤k≤10e15) —数组a的大
2022-02-12 00:43:07
538
原创 【寒假集训——cf题目翻译17】
题目十七D. Exact Change[原题链接]题目链接[题目翻译]一天早上,你决定在附近的商店给自己买一包薯片。这家商店有n中不同口味的薯片。一袋第i种味道的薯片是ai元。商店可能会买完一些口味,所以你要在到达那里之后再决定买哪一种。但该计划有两个主要缺点:1.你只有面值1,2,3元的硬币。2.因为现在是早上,商店会要求你支付确定的零钱,也就是说,你买第i种口味的薯片,你将付ai的款。硬币很重,所以你要尽量取总数最少的硬币。这就是为什么你要考虑你应该随身携带的最小硬币数,这样你才能用零
2022-02-11 19:24:13
401
原创 【寒假集训——cf题目翻译16】
题目十六C. BA-String[原题链接]题目链接[题目翻译]给定一个整数k和一个字符串s,该字符串由字符’a’(小写拉丁字母)和(’*’)组成。每个星号应替换为几个(从0到k包括在内)小写拉丁字母"b"。不同的星号可以用不同数量的字母b代替。替换出来的结果称为BA-string。两个字符串a和b是不同的,如果它们有不同长度或存在这样一个位置i使得ai≠bi。字符串a是在字典序上小于字符串b,当且仅当以下条件成立之一时:a是b的前缀,但是a≠b;a和b第一个位置不同,字符串a有一个字
2022-02-11 18:29:13
383
原创 【寒假集训——cf题目翻译15】
题目十五B. Triangles on a Rectangle[原题链接]题目链接[题目翻译]在一个平面上画一个对角为(0,0)和(w,h) 且平行于坐标轴的矩形你得到一个晶格点列表,每个点都位于矩形的一条边,而不是它的角上。同样的,矩形的每边至少有两条边可见。你的任务是选择三个点:他们中的两个正好属于一个矩形的同一边,它们构成的三角形的面积是最大的打印这个三角形的两倍面积。可以证明格点构成的任何三角形的倍面积总是一个整数。[输入]第一行包含一个整数 t (1≤t≤10e4)—表示测试
2022-02-11 14:38:59
329
原创 【寒假集训——cf题目翻译14】
题目十四A. Stable Arrangement of Rooks[原题链接]题目链接[题目翻译]你有一个n×n棋盘和k辆车。该棋盘的行由上至下由1至n的整数编号,该棋盘的列由左至右由1至n的整数编号。单元格(x,y)是第x行和第y行相交处的单元格,表示1≤x≤n和1≤Y≤N如果没有一辆车被另一辆车打败,那么这个棋盘上的车被称为好车。一辆车打败了所有与它同排的车。如果有可能将一辆车移动到相邻的单元,则此板上的车的排列称为不稳定排列,因此排列变得不好。好的排列是稳定的。在这里,相邻的单元格是
2022-02-09 20:53:53
354
原创 【寒假集训——cf题目翻译13】
题目十三A. Construct a Rectangle[原题链接]题目链接[题目翻译]这里有三根棒,长度分别为l1,l2,l3。你需要做的是折断其中一根为两个部分,其中:两个部分长度都为正整数(严格大于0);这些部分的总长度与原始棒的长度相同;可以用这些长度的棒组成一个矩形,每根棒只组成一条边的话。正方形也是矩形。决定是否有做这个的可能。[输入]第一行包含一个整数 t (1≤t≤10e4)—表示测试用例的数量每个测试用例唯一一行包含三个整数l1,l2,l3. (1≤li≤10e
2022-02-09 17:16:49
217
原创 【寒假集训——cf题目翻译12】
题目十二F. Quadratic Set[原题链接]题目链接[题目翻译]我们称一组正整数(数字处理错误)为二次,如果它的元素的阶乘的乘积是一个整数的平方,即(数字处理错误),对于某个整数(数字处理错误)给定一个正整数(数字处理错误)你的任务就是找到一个集合(数字处理错误)最大大小的二次子集。若有多个答案,就将他们分开。[输入]第一行包含一个整数(数字处理错误)[输出]在第一行打印一个整数——最大子集的大小,在第二行中,以任意行顺序打印子集本身...
2022-02-05 19:46:59
389
原创 【寒假集训——cf题目翻译11】
题目十一A. Robot Cleaner[原题链接]题目链接[题目翻译]一个扫地机器人被放置在一个矩形房间的地板上,绕着墙壁。地板由n行和m列组成,地板上的行被1到n从头到尾标记,地板上的列被1到m从左到右标记。对于第r行和第c列每个路口的单元格表示(r,c)。机器人最初的位置为(rb,cb)。在某一秒,这个机器人移动到了dr行和dc列,也就是,在这一秒之后,机器人从单元格(r,c)到(r+dr,c+dc)。最初dr=1 , dc=1。如果这里有一面垂直的墙(左边或者右边的墙壁)在运动的方向上
2022-01-27 20:14:58
295
原创 【寒假集训——cf题目翻译10】
题目十D. Palindromes Coloring[原题链接]原题链接[题目翻译]你有一个字符串s,由小写的拉丁字母表里的字母表示。你可以将一些字母用1到k颜色上色,不需要涂色所有的字母,但是对于每一个颜色,都有一个字母与之对应。然后你可以用任意次数交换你想交换的任意两个涂有相同颜色的符号。然后,k字符串就被创造出来了,他们中的第i个会包含所有被颜色i涂色的字母,在字符串s中写下这个序列。你的任务就是去给这些字符串里的字母上色,这样所有的答案k字符串都是回文形式的,k字符串的最短形式要尽
2022-01-27 19:30:44
1010
原创 【寒假集训——cf题目翻译9】
题目九C. Division by Two and Permutation[原题链接]原题链接[题目翻译]你有一个数组a由n个正整数组成。你可以对它执行以下操作。在一个操作中你可以用⌊ai/2⌋来替换数组中任意一个ai,这样就是ai除以2。如果你可以多次执行以下操作(也有可能是0次),使数组a变成一个排列的数组,每个只有一次。例如,如果a=[1,8,25,2],n=4,然后答案就是yes,你可以按以下操作:1,用⌊8/2⌋=4替换8,然后a=[1,4,25,2]。2,用⌊25/2⌋=1
2022-01-27 19:04:38
1041
原创 【寒假集训——cf题目翻译8】
题目八B. Make AP[原题链接]题目链接[题目翻译]Polycarp 有3个正整数a,b,c。他可以做一次以下的这些操作。选择一个正整数m和只有一个整数a,b,c乘m。Polycarp可以这样做以便于之后的操作,三个数字的序列(在这个步骤里面)形成一个等差数列,注意,你不能改变a,b,c之间的顺序。形式上,一个序列x1,x2,…,xn 被叫做一个等差数列,如果这里存在一个数字d(叫做公差)对于所有的i从1到n-1.满足xi+1=xi+d,对于这个问题,n=3.例如,以下序列就是等差数
2022-01-27 11:18:48
901
原创 【寒假集训——cf题目翻译7】
题目七A. Plus One on the Subset[原题链接]原题链接[题目翻译]Polycarp有一个整数数组a[1…n]作为礼物。现在他想要表演一个确定的数字表(可能为0)这样所有在数组中的元素是相同的(那就是,变成a1=a2=⋯=an)。在一个操作中,他可以用数组中的一些指标,并将数组中的那些指标的元素加1.列如,设 a=[4,2,1,6,2],他可以执行以下操作,选择指标1,2,和4,并将数组中的元素在这些指标中增加1。因此,在一次操作中,他可以得到数组a=[5,3,1,7,2]
2022-01-23 20:58:46
413
原创 【寒假集训——cf题目翻译6】
题目五A. Ancient Civilization[原题链接]题目链接[题目翻译]火星科学家探索木星众多卫星之一的木卫三。最近,他们发现了一个古代文明的遗迹。科学家们把一些用科学上未知的语言书写的写字板带到火星上。他们发现木卫三的居民使用由两个字母组成的字母表,每个单词都恰好是l个字母长。因此,科学家们决定将这种语言的每个单词都写成一个从0到2el-1的整数。字母表中的第一个字母对应于这个字母对应于这个整数中的0位,第二个字母对应于1bit。同一单词在这种语言中可能有不同的形式。然后,您需要
2022-01-22 20:18:08
461
原创 【寒假集训——cf题目翻译5】
题目五C. Monsters And Spells[原题链接]题目链接[题目翻译]Monocarp 又在玩电脑游戏,他是一个只知道一些简单咒语的巫师学徒。幸运的是,这些咒语可以打败怪兽。他现在的水平由n只怪兽组成。在水平里的第i只在ki秒之后出现了,并且拥有hi个生命值。作为一个额外的约束对于所有的1≤i≤n都有 hi≤ki,所有的ki都是不一样的。Monocarp可以在一个时刻创造出一个咒语出来,数量都是正整数,在数了1,2,3,…秒之后咒语的伤害也会被依次计算出来。如果他没有提前创造出咒语
2022-01-21 20:51:22
2492
原创 【寒假集训——cf题目翻译4】
题目三B. Minor Reduction[原题链接]题目链接[题目翻译]给你一个整数x采用十进制表示法没有前导零。你必须对其进行一次消减:取x中相邻的两个有效数字,并将他们替换为不带前导零的和(如果和为0,则表示为0)例如,如果x=10057,可能的消减是:*选择第一个和第二个数字1和0,用1+0=1替换他们,结果是1057;选择第二和第三个数字0和0,用0+0=0替换他们,则结果也为1057;选择第三和第四个数字0和5,用0+5=5替换他们结果也为1057;选择第四和第五个数字5和
2022-01-20 22:53:18
505
原创 【寒假集训——cf题目翻译3】
题目三C. Not Adding[原题链接]题目链接点这里[题目翻译]你有一个数组a1,a2,…,an ,由n个不同的整数组成。你可以对它进行如下操作:*从数组中选择两个元素ai和aj,gcd(ai,aj)没有存在于这个数组,将gcd(ai,aj)添加到数组最后。这里gcd(ai,aj)表示的是整数x和y的最大公约数。注意,数组在每一次的操作之后都会有所改变,后续的操作将在新数组上进行。对这个数组进行的最大操作次数是多少?[输入]第一行包含一个整数n (2≤n≤10e6).第二行由n个
2022-01-19 19:43:39
280
原创 【寒假集训——cf题目翻译2】
题目二B. Not Sitting原题链接链接点这里[题目翻译]Rahul 和 Tina期待着大学新一年的开始。当他们进入到他们的新班级时,他们观察到他们教室学生的座位是以n×m的顺序排列的。座位在r行c列的被标记为(r,c),两个座位(a,b)和(c,d)之间的距离是|a−c|+|b−d|。作为班长的Tina,她有要去拿到k桶粉红色的颜料的权利,下面是接下来的程序。*首先,Tina准确选择教室里的k个座位涂上粉色,一桶颜料只能涂一个座位。*在Tina按照之前的步骤给k个座位涂上颜料后,Ra
2022-01-18 22:34:31
157
原创 含k个3的数
noi ## 含k个3的数输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。例如,输入:43833 3满足条件,输出YES。如果输入: 39331 3 尽管有3个3,但不能被19整除,也不满足条件,应输出NO。输入 m 和 k 的值,中间用单个空格间隔。 输出 满足条件时输出 YES,不满足时输出 NO。解答#include<stdi
2021-04-13 17:09:11
459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人