自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用代码模板

6.bfs----最短路径问题。5.dfs-----迷宫问题。

2023-10-28 17:13:28 106

原创 补题2.0

给一个01串,删除相邻且相同的字符,并输出要删除的字符个数和方法数。看有几个相同的,删到只有一个为止,方法数就不怎么好求了。

2023-09-25 12:47:59 131

原创 排序算法模板

由归并排序的原理,我们还可以求逆序数对的问题。

2023-09-18 09:20:37 300

原创 补题 1.0

例如,如果n=1,d1=2,s1=2,你可以前往k=2的房间并安全返回(陷阱将在时刻1+s1=1+2=3激活,它不能阻止你返回)。但是如果你尝试到达k=3的房间,陷阱将在时刻1+s1=1+2=3激活,阻止你返回(你将在第3秒尝试进入房间2,在此时陷阱已激活会阻止你)。接下来的n行每行包含两个整数di和si(1≤di,si≤200)- 陷阱的参数(你必须在进入该房间后的si秒内严格离开房间di)。移动到相邻的房间需要1秒。此外,走廊中有n个陷阱:第i个陷阱位于房间di,并且在你进入房间di后si秒后被激活。

2023-09-08 09:40:30 121

原创 数论----快速幂

思想:板子题,记住fastpow()函数怎么写就行。

2023-08-23 20:24:59 99

原创 数论----逆元

1,扩展欧几里得算法。

2023-08-23 20:24:39 40

原创 数论----约数

思想:这题数据较大,使用试除法来减小时间复杂度。还有一点需要注意,两约数相同,只保留一个。

2023-08-22 20:19:30 64

原创 数论------质数

思想:这题就不用多说了,只需注意1不是质数即可(特判)

2023-08-21 20:46:52 81

原创 动态规划(最长公共子序列(LCS)和最长上升子序列(LIS))

这个博主真的很厉害,看了她的文章,讲的非常仔细(http://t.csdn.cn/UCxkt)AC代码AC代码AC代码这篇博客也是这位学姐写的,非常厉害!(http://t.csdn.cn/YMLla)

2023-08-15 20:54:37 148

原创 动态规划(背包)

老规矩,上链接((1)01背包问题给定一个承重量为C的背包,n个重量分别为w1​,w2​,...,wn​的物品,物品i放入背包能产生pi​(>0)的价值(i=1,2,...,n)。每个物品要么整个放入背包,要么不放。要求找出最大价值的装包方案。输入的第一行包含两个正整数n和C(1≤n≤20),第二行含n个正整数分别表示n个物品的重量,第三行含n个正整数分别表示n个物品放入背包能产生的价值。在一行内输出结果,包括最大价值装包方案的价值、具体装包方案,用空格隔开。

2023-08-14 20:54:29 98

原创 YF“愉快”的一周(第六周)

动态规划这一章节十分重要,我单独写篇文章()

2023-08-14 14:37:55 51

原创 数据结构:树状数组

老规矩,推荐一篇原理讲解清晰的博客!

2023-08-10 20:58:51 272

原创 数据结构:线段树

这里推荐一篇博客,原理讲的清晰易懂,配合着讲解更容易理解模板的思想。

2023-08-09 13:01:32 210

原创 YF“愉快”的一周(第五周)

有一篇csdn的文章对并查集的原理讲解的十分通透,可以学一学。

2023-08-07 19:22:27 68

原创 YF“愉快”的一周(第四周)

那么对应可找到后序遍历CDGA和HXKZ(从头找即可)从而问题就变成求1.中序遍历ACGD,后序遍历CDGA的树 2.中序遍历HZKX,后序遍历HXKZ的树;接着递归,按照原先方法,找到1.子根A,再分为两棵子树2.子根Z,再分为两棵子树。可以很容易的找出这类节点在前序后序中出现的规律。(前序中出现AB,后序中出现BA,则这个节点只有一个儿子)每个这类节点有两种中序遍历(及儿子在左,儿子在右)根据乘法原理中序遍历数为 2^节点个数。那么我们找到中序遍历中的B,由这种遍历的性质,可将中序遍历。

2023-08-01 19:26:01 127

原创 二分法(刷题)

这题试了很多遍,一直wrong,我也不知道为啥,看别人的答案对比了半天,发现自己二分的范围取小了(哭),下次一定要注意。找出最小的价格使卖家的数量大于买家的数量。

2023-07-30 12:06:22 41

原创 字符处理(刷题)

但死都不给过,没办法呀。所以AC代码是别人的思路,不过这个思想真的非常好用!找出任意一个9x9的格子满足两个条件:(1)左上角和右下角的3x3要是。(2)围绕左上角和右下角3x3的格子一周的14个符号要为。之前是一个一个找起点,然后再进行判断,判断过程也是先判断。

2023-07-30 11:06:20 30

原创 刷题(贪心算法)

按结束时间从小到大排序,然后比较,当竞赛开始的时间大于上一个竞赛的结束时间就入选了。因为是结束时间排序,所以第一个符合的开始时间就是最好的。

2023-07-29 19:54:52 68

原创 YF的“愉快”一周(第三周)

(1)两个指针,方向不同;(数组内找特定的值,由两个元素相加)(4)两个指针,方向相同,起点不同(找到链表倒数第n个节点)(3)两个指针,一快一慢;(检查单链表是否存在“环”)(2)两个指针,方向相同;的数组中,找到两个数,使得这。

2023-07-23 17:41:47 192

原创 C++ queue和prioity_queue

请判断通过删掉s中的0或多个字符后是否能获得字符串 "hello". 例如, "ahhellllloou"可以获得"hello", 但是"hlelo"不能获得.(1)queue和stack都是不能通过迭代器实现遍历元素的,因为不是连续存储。如果可以获得"hello",输出"YES" , 否则输出"NO".输入包含唯一的一行,一个长度在1到100之间的字符串。(2)拷贝构造队列时,要保证拷贝的队列不为空。

2023-07-22 21:08:09 116

原创 C++ vector容器

某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。

2023-07-21 20:08:39 35

原创 C++ stack容器

假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([]())或[([][])]等为正确的匹配,[(])或([]()或(()))均为错误的匹配。输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”。输入文件的第一行为一个整数n,其中n

2023-07-19 21:05:07 236

原创 YF的“愉快”一周(第二周)

要求实现一个递归函数,能够高效判断两个正整数a,b(0

2023-07-17 20:38:49 314

原创 YF的“愉快”一周(第一周)

每组测试数据有两行,第一行有两个数n,m(0

2023-07-16 16:55:12 76

原创 C语言基础语法:进制

目的:人为修改计算机的计算错误 而形成的一套理论。十六进制:456ad(H)二进制:101001(B)sp:十六进制每四个一组,八进制每三个一组。八进制:13213(O)sp:正数的原码,反码,补码都是一样的。十进制:123(D)二进制:101001。3.二进制转八进制和十六进制。sp:用除余法,从下往上取。456ad(以0x开头)

2023-04-24 20:14:42 1122

原创 程序的优化

1742年6月,在哥德巴赫写给欧拉(Euler)的信中提出这个问题,目前为止无人证明这一猜想是否正确,最接近的证明结果是中国数学家陈景润在1973年证明的"1+2"成立,即"任一充分大的偶数都可以表示成两个素数的和,或是一个素数与两个素数乘积的和",在超级计算机上验证e3100(≈101346)范围内的偶数均没有找到反例。程序优化真是一件不可思议的事,用这个的方法能输入到10^30,之后就有点慢了。SP:这题的主要思路是:两个素数相加,要等于我们想要的偶数。函数里的两个循环),运行效率是非常低下的。

2023-04-24 14:58:49 102

原创 C语言 指针

这里的 pi 取的是 i 第一个字节的地址。pi 是指针变量,用来存放地址。指针的大小与指针的类型无关,与使用的平台有关(32位平台4字节,64位8字节)。1.指针的类型决定了指针解引用的权限有多大2.指针的类型决定了指针走一部能走多远(步长)

2023-04-08 18:12:31 42

原创 简单的扫雷程序

define ROWS ROW+2//改成(9+2)*(9+2)的数组,是防止在边角位的地方出现数组越界//初始化棋盘//打印棋盘//放置地雷//输入坐标//统计坐标周围雷的个数int main()//生成两套棋盘,一个显示雷和非雷,方便机器判断;一个显示‘*’,方便玩家操作//机器棋盘//用户棋盘printf("-------------开始游戏------------------------\n");while (1)//测试//胜负判断break;!!

2023-03-24 20:21:24 96

原创 C语言 函数

函数的返回值类型 函数名 (函数的形参列表)函数体;return 表达式;

2023-03-23 21:18:05 45

原创 简单的 三子棋 程序

声明:我把每个步骤用main函数重新写一遍,方便读者进行验证,完整程序我会放在最后。三子棋是一个大程序,需要用函数模块化,将问题拆分成小问题解决。

2023-03-22 18:13:19 36

原创 C语言:数据传输 和 更友好的用户界面

为了解决不同文件存储形式和结构上的差异给程序带来的影响,C语言将不同属性和不同种类的输入作为统一的流(可以类比水流)进行处理,影藏了原有的差异,更加有利于程序的编程和处理。程序从1开始猜,如果是对的,用户输入'y' ,不对则输入'n'。将word1.txt文本的内容作为输入,通过exe应用程序,把其结果打印到word2.txt上。我们来看这样一个程序,读取一个字符和两个数字,这两个数字确定行数和列数,最后打印这个字符。将word.txt文本的内容作为输入,通过exe应用程序,把其结果打印到屏幕上。

2023-03-14 21:11:38 341

原创 C语言经典题型(持续更新中……)

这里有两种方法,一种是用if else 条件语句判断,另一种使用数组进行冒泡排序(这里还是推荐第二种,因为它可以进行多个整数排序)

2023-03-09 12:45:01 656

原创 关于循环的编程练习(2)

这种类型题目可将图案模块化,这道题假设n=5;第一部分是打印‘1’(按5,4,3,2,1的次数打印),第二部分打印空格(按0,1,2,3,4的次数打印)。输入正整数N(1≤N≤50),输出星号组成的菱形图案(中轴线长度为2N-1)输入正整数N(1≤N≤50),输出数字1组成的上三角阵列(N行N列)输入正整数N(1≤N≤26),输出大写字母组成的等腰三角形(N行)

2023-03-06 19:55:41 117

原创 C语言 循环

我们发现,如果输入一个非数字后,程序就停止运行了。用户输入一个非数字,scanf()读取失败,就会把这个非数字留在输入队列,供下次读取,就这样scanf()会一直读取失败。最后结果只打印了一个4,原因是while()后面加了一个分号,变成了空语句,让while只能在本行(第5行)运行,运行结束后n=4,最后打印输出。sp:不要把re=1和re==1搞混了,re=1是把1赋值给re,re==1是将re和1进行比较。for循环流程:1->2->语句->3 ->2->语句->3。while循环的空语句。

2023-03-06 18:34:46 143

原创 关于循环的编程练习(1)

2.小明开始有5个朋友,第1周少了1个朋友,剩下的数量翻倍;第2周少了2个朋友,剩下的数量翻倍……多少周后小明的朋友超过150个?1.小明有100元,他把100元存入银行(年利率是8%),并且在每年的最后一天取出10元,计算多少年后小明回去完所有的钱?使用嵌套循环,按下面格式打印数列。

2023-03-05 20:35:56 68

原创 常量的几种创建方式

声明一个变量,然后用#define将该变量设置为所需要的常量。(字符串也可以声明)这里NUM用大写是C语言约定俗成的传统,目的是让人知道这个是常量,而非变量。可以打印NUM,但不能更改,且使用起来比#define更灵活。

2023-03-03 18:41:11 210

原创 格式化的输入和输出,printf和scanf.

如果事先不知道指定的字符宽度,可以用*表示字符宽度,后续再来进行补充。把*放在%和转换字符之间时,会使得scanf()跳过相应的输入项。(2)使用ANSIC C引入的字符串连接。除空格字符外的普通字符必须与输入字符串严格匹配,例如。(1)使用反斜杠( \ )2. printf打印较长的字符串。4. printf()的*修饰符。5. scanf()的*修饰符。3. scanf中的普通字符。1.printf的返回值。

2023-03-03 18:23:57 72

原创 非打印字符

【代码】非打印字符。

2023-03-03 17:42:20 79

原创 浮点数的表示

注意:不要在浮点型常量中间加空格,如。

2023-02-22 15:36:56 48

原创 C语言的数据类型

整型 int 4字节。单精度浮点数 float 4字节。短整型 short int 2字节。长整型 long int 8字节。双精度浮点数 double 8字节。字符 char 1字节。复合数据类型(后面单独展开)逻辑 bool。

2023-02-22 14:54:01 32

空空如也

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

TA关注的人

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