自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 #3. MOO字符串

(1≤Q≤100) 接下来的 Q 行中,每行一个只包含大写字母 M 或 O 的字符串 S ,保证 1≤∣S∣≤100 (∣S∣指字符串长度)。1.用相反的字符替换第一个或最后一个字符(将 M 变成 O ,将 O 变成 M )。如果不可能在有限的步数中完成这个任务,请输出 -1。用O替换最后一个字符(操作1) 删除第一个字符(操作2) 删除第一个字符(操作2) 删除第一个字符(操作2)输出 Q 行,每行为该测试点最小操作次数,如果不可能在有限的步数中完成这个任务,请输出 -1。

2024-03-27 21:55:31 276

原创 #1. 乘法竖式

注意一下学校中教的“部分乘积”,第一部分乘积是第二个数的个位和第一个数的积,第二部分乘积是第二个数的十位和第一个数的乘积。下面是一个乘法竖式,如果用我们给定的那 n 个数字来取代 *,可以使式子成立的话,我们就叫这个式子为牛式。第一行一个正整数 n,表示可用的数有n个。该乘法竖式是一个三位数×两位数得到一个四位数,中间两次乘法得到的都是一个三位数。对于 100% 的数据,1≤n≤9,ai都是1~9范围内的整数且不重复。数字只能取代 *,当然第一位不能为 0,况且给定的数字里不包括 0。请计算出牛式的数量。

2024-03-27 21:31:43 255

原创 # 挤奶顺序

保证这样的顺序是存在的。也就是说,第一头奶牛需要是所有可能排在任意合法奶牛顺序的第一位的奶牛中名字字典序最小的。在所有合法的以这头字典序最小的奶牛为首的奶牛顺序中,第二头奶牛需要是字典序最小的,以此类推。以下N行每行包含一句句子,以"XmustbemilkedbesideY"的格式描述了一条限制,其中X和Y为FarmerJohn的某些奶牛的名字(上文列举了八个可能的名字)。请用8行输出一个奶牛的顺序,每行输出一头奶牛的名字,满足所有的限制。如果由多种顺序符合要求,输出字典序最小的奶牛顺序。

2024-02-05 10:40:41 394

原创 寒假每日打卡

2024-02-05 10:24:53 366

原创 #照片-寒假每日一题

基于 Bessie 的信息,帮助 FJ 恢复可以产生序列 b 的“字典序最小”的排列 a。排列 x 字典序小于排列 y,如果对于某个 j,对于所有 i < j均有 xi=yi,且有 xj< yj(换句话说,这两个排列到某个位置之前都相同,在这个位置上 x小于 y)。FJ 一开始计划从左向右数第 i 个位置排编号为 ai 的奶牛,他在一张纸上写下了排列 a1,a2,…,bN−1 ,对于每一个 1≤i < N 满足 bi=ai+ai+1。样例解释:3+1=4,1+5=6,5+2=7,2+4=6。

2024-02-05 09:52:30 520

原创 #涂格子——暴力枚举

M 列的格子,每个格子是白色蓝色红色之一,小 a 希望把这个布改成该国合法国旗,方法是在一些格子上涂颜料,盖住之前的颜色。N×M 个小方块组成的旗帜符合如下规则,就是合法的国旗。小a很懒,希望涂最少的格子,使这块布成为一个合法的国旗。N 行是一个矩阵,矩阵的每一个小方块是。一个整数,表示至少需要涂多少块。现有一个棋盘状的布,分成了。某国法律规定,只要一个由。

2024-02-01 15:52:02 438

原创 #翻转牛群

幸运的是,农夫约翰用他的拖拉机和叉车上的零件制造了一台出色的机器---“奶牛救星3000”,它可以一次让一大群奶牛站起来,帮助他尽快让所有奶牛重新站起来。当他这样做的时候,机器会翻转这个矩形中的每一头牛,让翻倒的奶牛站起来,但不幸的是,也会把原来站起来的奶牛翻倒!农夫约翰偶尔会遇到无聊的青少年,他们晚上去他的农场,把奶牛们弄翻。一天早上,他醒来发现事情又发生了——他的 N∗N 头奶牛排列成了一个完美的 N∗N 方阵(1≤N≤10),但他发现其中一些现在已经被弄翻了,而奶牛们比较笨重,没法自己站起来。

2024-02-01 10:16:24 330

原创 #翻转牛群

幸运的是,农夫约翰用他的拖拉机和叉车上的零件制造了一台出色的机器---“奶牛救星3000”,它可以一次让一大群奶牛站起来,帮助他尽快让所有奶牛重新站起来。当他这样做的时候,机器会翻转这个矩形中的每一头牛,让翻倒的奶牛站起来,但不幸的是,也会把原来站起来的奶牛翻倒!农夫约翰偶尔会遇到无聊的青少年,他们晚上去他的农场,把奶牛们弄翻。一天早上,他醒来发现事情又发生了——他的 N∗N 头奶牛排列成了一个完美的 N∗N 方阵(1≤N≤10),但他发现其中一些现在已经被弄翻了,而奶牛们比较笨重,没法自己站起来。

2024-01-31 15:46:25 348

原创 课堂记录_

2024-01-30 20:58:59 349

原创 [工作分配问题解析]

有n个方格,需要填写1个1~n的排列,第1个方格表示第1个人做什么工作,以此类推,找出最便宜的方案。递归出口之前,需要计算当前方案的总费用,然后保留一个最小值。所以本质就是一个n的全排列的搜索问题。其余和全排列问题没什么区别。

2024-01-11 17:15:55 352

原创 #2. 自然数的拆分

任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和(n

2024-01-11 17:13:24 846

原创 #3. 全排列问题

输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。按照字典序的顺序输出由 1~n 组成的所有不重复的数字序列,每行一个序列。一个整数n(1≤n≤9)

2024-01-10 21:16:49 444

原创 全排列结构范例_实用_注释

【代码】全排列结构范例_实用_注释。

2024-01-09 17:14:27 569

原创 全排列-标记回溯_实用干货[代码+注释]

【代码】全排列-标记回溯_实用干货[代码+注释]

2024-01-08 21:18:00 453

原创 全排列结构范例_超实用

【代码】全排列结构范例_超实用👍

2024-01-05 21:27:20 598

原创 C语言和C++有什区别?

2、C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。C语言与C++的区别有很多:1、全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。2、C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。1、全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2023-12-29 19:46:01 389

原创 五个技巧助你提升编程水平~

在C++中,你可以使用std::unique_ptr<T>来表示一个独占所有权(exclusive ownership)的智能指针(smart pointer),它只能被移动(move),不能被复制(copy)。因为C++是一门历史悠久的语言,所以网上有很多关于C++的书籍、文章、视频和课程,但并不是所有的资源都是高质量的。在代码审查中,你也应该查找并指出潜在的UB,以确保代码的可靠性和稳定性。但是,你应该避免过度使用复杂的共享所有权语义,因为它们会增加代码的复杂度,降低代码的可读性和可维护性。

2023-12-28 21:05:35 505

原创 递归_分析

2023-12-25 21:20:25 473

原创 #3. 海象圈圈

有n只海象坐在一个圆圈里。所有的海象都按顺时针顺序编号:2号海象坐在1号海象的左边,3号海象坐在2号海象的左边,...,1号海象坐在n号海象的左边。第一行包含两个整数n和m(1≤n≤50,1≤m≤1000)--海象的数量和相应的筹码数量。如果主持人不能给当前的海象所需数量的筹码,那么主持人就会拿走剩余的筹码,这个过程结束。主持人站在圆圈的中间,从1号海象开始,顺时针方向把筹码给海象。根据给定的n和m确定主持者最后会得到多少筹码。打印演示者最后得到的筹码数量。i号海象得到i个筹码。

2023-12-18 21:08:52 432

原创 _机场大巴解析_二分例题可参考(二分查找与二分答案)

二分查找与二分答案

2023-12-14 17:33:50 687

原创 #7. 机场大巴

他的处于世界各地的客人将会到达当地的机场,前来参会。具体地说,有 N个客人到达了机场(1≤N≤100000),其中客人 i在时间 ti(0≤ti≤10^9)到达。一个客人的等待时间等于他的到达时间与他乘坐的大巴的发车时间之差。如果两个时间 1到达的客人乘坐一辆巴士,时间 3和时间 4到达的客人乘坐乘坐第二辆,时间 10和时间 14到达的客人乘坐第三辆,那么等待时间最长的客人等待了 4个单位时间(时间 10到达的客人从时间 10等到了时间 14)。输出一行,包含所有到达的客人中的最大等待时间的最小值。

2023-12-14 17:30:41 473

原创 #4. 小明找数

小明在草稿纸A上写下了N个数,又在草稿纸B上写下了M个数, 小明想要知道对于草稿纸B上的每一个数是否在草稿纸A上有出现过。对于每个草稿纸B上的一个整数,都输出一行对应的结果yes或no, 分别表示这个整数在草稿纸A上可以找到或找不到。第一行两个整数N和M(1<=M<=N<=100000),分别表示草稿纸A和草稿纸B上的数字的个数。最后M行,每行一个整数x表示草稿纸B上的一个数。接下来一行一共有N个整数,表示草稿纸A上的数。6在草稿纸A上找不到, 3可以找到。

2023-12-13 20:54:46 413

原创 #6. 跳石头

接下来 N 行,每行一个整数,第 i 行的整数 Di(0<Di<L), 表示第 i 块岩石与起点的距离。由于预算限制,组委会至多从起点和终点之间移走 M 块岩石(不能移走起点和终点的岩石)。将与起点距离为 2和 14 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。第一行包含三个整数 L,N,M,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。对于 50% 的数据,0≤M≤N≤100。

2023-12-12 17:47:21 735

原创 #3. 第一个大于

第一行两个整数N和M(1<=M<=N<=100000),分别表示有序整数序列数字的个数和询问的次数。接下来一行一共有N个整数,表示整数序列上的数字,保证数字是有序的。最后M行,每行一个整数表示要询问的数字x。给出N个已经从小到大排好的有序整数序列(可能会有相同的数字),然后有M次询问,每次询问一个数字X, 表示需要找出整数序列中第一个大于整数x的数在整数序列中的位置。对于每个询问都输出一个对应的结果,数据保证每个询问都有解。

2023-12-11 20:41:37 468 1

原创 #5. 伐木工小明

有N棵树,第i棵树的高度为h[ i ]米 ( 1 <= h[ i ]<= 10^9), 小明想要得到至少M米的木材,他想要设定一个砍伐高度 t, 每棵树只有高于 t 的部分可以被砍伐, 小明希望这个砍伐高度 t 越大越好,问最大可能的t是多大。第一行两个整数N和M(1<=N<=1000000, 1<=M<=2×10^9)。接下来一行一共有N个整数,分别表示每棵树的高度。小明想要至少得到8米木材,可以设定的最大砍伐高度是6,这样第2棵树可以砍下1米,第4棵树可以砍下3米,第5棵树可以砍下4米。

2023-12-08 21:30:10 664

原创 #2. 第一个大于或等于

第一行两个整数N和M(1<=M<=N<=100000),分别表示有序整数序列数字的个数和询问的次数。接下来一行一共有N个整数,表示整数序列上的数字,保证数字是有序的。最后M行,每行一个整数表示要询问的数字x。给出N个已经从小到大排好的有序整数序列(可能会有相同的数字),然后有M次询问,每次询问一个数字X, 表示需要找出整数序列中第一个大于或等于整数x的数在整数序列中的位置。对于每个询问都输出一个对应的结果,数据保证每个询问都有解。

2023-12-07 17:36:29 461

原创 #1. 寻找等于x的数的位置

第一行两个整数N和M(1

2023-12-05 17:12:55 463

原创 #1. 特别的题

小明对数位中含有 2、0、1、9的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、 39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输出一行,包含一个整数,表示满足条件的数的和。对于 50% 的评测用例,1≤n≤100。对于 80%的评测用例,1≤n≤1000。对于 20%的评测用例,1≤n≤10。对于所有评测用例,1≤n≤10000。输入一行包含一个整数 n。

2023-12-04 21:30:02 444

原创 #4. 牛奶

为了混合这三种不同的牛奶,他拿来三个桶,其中分别装有三头奶牛所产的奶。然后他将桶 1 的牛奶倒入桶 2,然后将桶 2 中的牛奶倒入桶 3,然后将桶 3 中的牛奶倒入桶 1,然后再将桶 1 的牛奶倒入桶 2,如此周期性地操作,共计进行 100次(所以第 100 次操作会是桶 1 倒入桶 2)。在这个例子中,每倒一次之后每个桶里的牛奶量如下: 初始状态:3 4 5 桶1->2:0 7 5 桶2->3:0 0 12 桶3->1:10 0 2 桶1->2:0 10 2 桶2->3:0 0 12 (后续会产生循环)

2023-11-16 17:50:01 56 1

原创 3. 星期五

这里有一些你要知道的: 1、1900 年 1 月 1 日是星期一。2、4,6,11 和 9 月有 30 天,其他月份除了 2 月都有 31 天,闰年 2 月有 29 天,平年 2 月有 28 天。3、年份可以被 4 整除的为闰年(1992=4×498 所以 1992 年是闰年,但是 1990 年不是闰年)。给出 n 年的一个周期,要求计算 1900 年 1 月 1 日至 1900+n−1 年 12 月 31 日中十三号落在周一到周日的次数。依次输出周六、日、一、二、三、四、五在 13 日出现的次数。

2023-11-16 17:48:38 128 1

原创 #2. 飞碟

他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这些彗星取的名字呢?你的任务是写一个程序,通过小组名和彗星名来决定这个小组是否能被那颗彗星后面的 UFO 带走。小组名和彗星名都以下列方式转换成一个数字:最终的数字就是名字中所有字母的积,其中 A 是 1,Z是 26。写出一个程序,读入彗星名和小组名并算出用上面的方案能否将两个名字搭配起来,如果能搭配,就输出 GO,否则输出 STAY。第1行:一个长度为 1 到 6 的大写字母串,表示彗星的名字。

2023-11-16 17:45:25 43 1

原创 #1.数位分离与求解

输出第一行一个整数,表示该整数有几位。输出第二行按数位从高到低的顺序输出每个数位的数,用空格隔开。对于一个任意整数进行数位分离与求解是算法问题中的常规手段之一。(1<=n<=10^15)注意:数字较大,可能使用long long。

2023-11-16 17:39:53 142 1

原创 #4. 平方

并对所有的可能表示法按 a,b,c,da,b,c,d 为联合主键升序排列,最后输出第一个表示法。要求你对 44 个数排序使得 0≤a≤b≤c≤d0≤a≤b≤c≤d。程序输入为一个正整数 N(N

2023-11-07 17:37:03 124

原创 #9. 计数问题

试计算在区间 11 到 nn 的所有整数中,数字 xx(0≤x≤90≤x≤9)共出现了多少次?例如,在 11 到 1111 中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。对于 100%100% 的数据,1≤n≤1061≤n≤106,0≤x≤90≤x≤9。22 个整数 n,xn,x,之间用一个空格隔开。11 个整数,表示 xx 出现的次数。

2023-11-07 17:34:05 49

原创 #8.特别的题

小明对数位中含有 2、0、1、9的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、 39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输出一行,包含一个整数,表示满足条件的数的和。对于 50% 的评测用例,1≤n≤100。对于 80%的评测用例,1≤n≤1000。对于 20%的评测用例,1≤n≤10。对于所有评测用例,1≤n≤10000。输入一行包含一个整数 n。

2023-11-07 17:31:59 30

原创 #5. 后k个数的和

第三行一个整数m,表示有m次询问。(1

2023-11-01 21:17:28 29 1

原创 #6. 战马

【代码】#6. 战马。

2023-11-01 20:43:53 41 1

原创 #5. 牛人

现在有n个人,每个人都有一个智力值和能力值。对于某一个人A来说,如果其它n-1个人中,没有人的智力值和能力值都比A高,则我们称A为“牛人”。反过来说,只要有一个人的智力值和能力值都比A高,则A就不是“牛人”了。第二行,有n个以空格分隔的正整数,第i个正整数表示第i个人的智力值。第三行,有n个以空格分隔的正整数,第i个正整数表示第i个人的能力值。100%的数据,1≤n≤100000,所有人的智力值和工作能力值均不超过5000000000。输出仅有一行,该行只有一个整数,表示求得的“牛人”数。

2023-11-01 20:42:29 63 1

原创 #4. 兔子叠塔

小刚共有N只兔子(1≤N≤20,000),每只兔子有自己的高度Hi(1≤Hi≤10,000),N只兔子的总高度为S。书架高度为B(1≤B≤S

2023-11-01 20:39:57 32 1

原创 #3. 接水问题

接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。即j同学第x秒结束时完成接水,则k同学第x+1 秒立刻开始接水。第3秒结束时,1、2号同学每人的已接水量为3,4号同学的已接水量为2。第4秒结束时,1、2号同学每人的已接水量为4,5号同学的已接水量为1。第1秒结束时,1、2、3号同学每人的已接水量为1,3号同学接完水,4号同学接替3号同学开始接水。第2秒结束时,1、2号同学每人的已接水量为2,4号同学的已接水量为1。现在给出n名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。

2023-11-01 20:37:55 39 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除