自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

碳酸钙的01妖精的博客

我不是码农,我没有说谎,我哪有说谎?

  • 博客(331)
  • 收藏
  • 关注

原创 二叉树遍历模板

typedef struct Node{ char data; struct Node* LChild; struct Node* RChild;}BiTNode,*PBiTNode;//先序遍历void PreOrder(BiTNode* root){ if(root != NULL) { cout<<root->data; PreOrder(root->LChild); PreOrder.

2020-10-09 15:02:50 22

原创 建立与遍历中序线索树

PBiTNode pre; //全局变量会分配一个静态空间,和NULL不是同一个void Inthread(PBiTNode root) //初始pre取NULL{ //对root所指的二叉树进行中序线索化,其中pre始终指向刚访问过的结点,其初值为NULL if(root!=NULL) { Inthread(root->LChild); //线索化左子树 if(root->LChild==NULL) //置前驱线索 .

2020-09-22 21:25:24 31

原创 后序遍历与先序遍历求二叉树的高度

//后序遍历求二叉树高度//后序要求的值的变化从底向上int PostTreeDepth(PBiTNode bt){ int hl,hr,maxn; if(bt!=NULL) { hl=PostTreeDepth(bt->LChild); hr=PostTreeDepth(bt->RChild); maxn=hl>hr?hl:hr; return maxn+1; } else..

2020-09-22 18:58:16 29

原创 三元组列增序转置法

列增序转置法 采用按照被转置矩阵三元组表A的列序递增额顺序进行转置,并依次送入三元组表B中 (A的列增序就是B的行增序) 具体做法: 找出第一行全部元素:第一遍从头至尾扫描三元组表A,找出其中所有col为1的三元组, 转置后按顺序送到三元组表中 (A是行增序的,所以扫描的时候,同样的列,行数越大, 满足三元组B在行增序的情况下,列也是增序) 接着扫描A找A.col=2,以此类推,直到扫描完#define MAXN 200typedef struct{ ...

2020-09-21 14:49:40 22

原创 字符串的插入

字符串的插入操作#define MAXLEN 50typedef struct{ char ch[MAXLEN]; /*串结构定义*/ int len;}SString;//顺序串插入函数int StrInsert(SString *s,int pos, SString t)//在串s中下标为pos的字符之前插入串//字符串的特殊地方是下标必须是0开始{ int i; if(pos<0 || pos>s->len) return -1; //.

2020-09-20 20:55:44 18

原创 循环队列的数据结构实现

循环队列是采用是顺序存储#define MAXSIZE 50//顺序循环结构体typedef struct{ int element[MAXSIZE]; int front; int rear;}SeqQueue;void InitQueue(SeqQueue *Q){ /*将*Q初始化为一个空的循环队列*/ Q->front = Q->rear = 0;}int EnterQueue(SeqQueue *Q, int x){

2020-09-20 19:28:09 11

原创 链队列数据结构的实现

typedef struct node{ int data; struct Node *next;}LinkQueueNode;typedef struct{ LinkQueueNode *front; //front 也是有data和next的 LinkQueueNode *rear;}LinkQueue;//链队列初始化//空的链队列的队头指针和队尾指针均指向头结点int InitQueue(LinkQueue *Q){ //将Q初始化...

2020-09-20 16:46:11 12

原创 链栈的数据结构实现

typedef struct node{ int data; struct node * next;}LinkStackNode, *LinkStack;//top相当于是头指针,本质上是头插法int Push(LinkStack top, int x) //相当于链表的插入操作{ LinkStack temp; temp=(LinkStack)malloc(sizeof(LinkStackNode)); if(temp==NULL) return -1.

2020-09-20 15:58:11 16

原创 数组元素的删除

//从被删的元素后面一个开始,后面的元素往前移动#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct{ int a[100]; int last;}LNode,*LinkList;void Delete(LinkList L,int b1)//b1是插入的位置,b2是插入的值{ //从被删的元素后面一个开始,后面的元素往前移动 in.

2020-09-20 15:24:42 9

原创 数组元素的插入

从被插的那个元素开始往后移#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct{ int a[100]; int last;}LNode,*LinkList;int a[100];void Insert(LinkList L,int b1,int b2)//b1是插入的位置,b2是插入的值{ //从后面开始,插入操作伴随着数组元素往后移动.

2020-09-20 15:19:34 12

原创 单链表的查询

一直next就好

2020-09-20 13:35:38 7

原创 循环链表与双向循环链表的创立

就是头尾在连接下就好

2020-09-20 13:34:21 7

原创 单链表的删除

带头结点p->next=p->next->next

2020-09-20 13:26:02 7

原创 创建双链表

#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef struct node{ int data; struct node *next; struct node *prev;}LNode,*LinkList;//使用头插法建立双链表void CreateLink(LinkList *L,int n){ Li.

2020-09-20 10:40:29 12

原创 一元多项式相加

#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef struct Polynode{ int coef; int exp; struct Polynode *next;}Polynode,*Polylist;//均使用尾插法Polylist PolyCreate(){ Polynode * head, *.

2020-09-19 23:13:26 19

原创 P3809 【模板】后缀排序

题目背景这是一道模板题。题目描述读入一个长度为 nn 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 11 到 nn。输入输出格式输入格式: 一行一个长度为 nn 的仅包含大小写英文字母或数字的字符串。 输出格式: 一行,共n个整数,表示答案。 输入...

2019-02-04 19:28:17 137

原创 代码学习

一、文字理解二、理解不了,就调试模拟三、找另一篇文章 

2019-02-04 11:41:37 112

原创 PAT (Top Level) Practice 1004 To Buy or Not to Buy - Hard Version(深搜枚举+众多剪枝)

1004 To Buy or Not to Buy - Hard Version (35 分)Eva would like to make a string of beads with her favorite colors so she went to a small shop to buy some beads. There were many colorful strings of be...

2019-02-01 21:46:42 188

原创 PAT (Advanced Level) Practice  1092 To Buy or Not to Buy (map应用于字符串字符个数的统计)

 PAT (Advanced Level) Practice  1092 To Buy or Not to Buy (20 分)Eva would like to make a string of beads with her favorite colors so she went to a small shop to buy some beads. There were many col...

2019-02-01 16:32:25 108

原创 最值问题解法

枚举法动态规划(小规模到大规模的枚举)贪心(优化枚举)搜索(树形枚举,深搜与广搜)

2019-01-22 12:49:48 118

原创 贪心原理

当前状态下的最好选择。贪心可以理解为是一维状态下的层进

2019-01-20 14:45:14 87

原创 埃及分数

 1442.埃及分数时限:1000ms 内存限制:10000K  总时限:3000ms描述将一个真分数分解为若干埃及分数的和的形式,要求分解的埃及分数的个数尽量少埃及分数:分子为1的分数. 输入7/8 输出7/8=1/2+1/3+1/24 输入样例7/8 输出样例7/8=1/2+1/3+1/24 提示 来源#i...

2018-11-16 17:33:55 153

原创 输出命题公式的真值表(后缀表达式)

1422.输出命题公式的真值表时限:1000ms 内存限制:10000K  总时限:3000ms描述先输入一个正整数n(n小于等于10),表示共有n个命题变元,再输入一个类似于逆波兰表达式的字符串表示一个命题公式,约定在该字符串中用一位的十进制数表示一个命题变元,用a、o、n、i、e分别表示且、或、非、蕴含、等值,用类似于逆波兰表达式形式的字符串表示的命题公式的真值表波兰表达式(即二元...

2018-11-16 13:51:02 2178

原创 最佳加法式(取末一)

1581.最佳加法式时限:1000ms 内存限制:10000K  总时限:3000ms描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如:在1234中摆放一个加号最好的摆法就是12 + 34,和为36。 输入输入有2行,第一行是一个非负整数m,表示有m个加号要放。第2行是若干个数字(之间没有空格,数...

2018-11-16 09:56:45 207

原创 花生米(三)

花生米(三)时限:1000ms 内存限制:10000K 总时限:3000ms描述: 五一长假第三天,Tom和Jerry在仓库散步的时候又发现了一堆花生米(仓库,又见仓库……)。这次Tom制定分花生米规则如下:???????1、Tom和Jerry轮流从堆中取出k粒花生米吃掉;2、第一次取花生米的人只能取一粒,以后取花生米的数量不能超过前一个人取花生米数量的两倍;3、为显示规则的...

2018-10-28 20:49:32 205

原创 装盘子 (递归型动态规划)

N人为了大快朵颐,行至云餐二楼,取了N个盘子,打了M个饺子。现欲将M个饺子装入N个盘子中,试问共有多少种不同的装法?假设盘子足够大,并且盘子里可以什么都不放。注意像2 5 0和5 0 2之类的属于同一种放法。输入: 两个整数M、N(1=&lt; M,N &lt;=100)以空格隔开。输出: 单独一行输出共有几种装法。输入样例:  7 3输出样例:...

2018-10-28 15:23:24 308

原创 田忌赛马

Problem C田忌赛马(tian ji racing)时限:1000ms 内存限制:10000K 总时限:3000ms描述: 田忌与齐王赛马,双方各有n匹马参赛(n&lt;=100),每场比赛赌注为1两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马的速度从快到慢出场,现要你写一个程序帮助田忌计算他最好的结果是赢多少两黄金(输用负数表示)。Tian Ji and ...

2018-10-27 22:22:27 80

原创 POJ-3154 Graveyard(四舍五入法)

Programming contests became so popular in the year 2397 that the governor of New Earck — the largest human-inhabited planet of the galaxy — opened a special Alley of Contestant Memories (ACM) at the l...

2018-10-14 16:09:53 110

原创 八数码(有一个空的移动拼图模型+map.count的用法)

Problem J八数码时限:5000ms 内存限制:20000K 总时限:10000ms描述: 在九宫格里放在1到8共8个数字还有一个是空格,与空格相邻的数字可以移动到空格的位置,问给定的状态最少需要几步能到达目标状态(用0表示空格):1 2 34 5 67 8 0输入: 输入一个给定的状态。输出: 输出到达目标状态的最小步数。不能到达时输出-1...

2018-10-13 17:20:19 485

原创 特殊的二阶魔方(魔方模型)

特殊的二阶魔方时限:1000ms 内存限制:10000K 总时限:3000ms描述: 魔方大家应该都玩过。现在有一个特殊的二阶魔方,它只有一面是白色,其余五个面全是黑色。玩这个魔方当然也有特殊的规则,玩家只能通过六种方式去改变它,底层向左转一格(称为DL),底层向右转一格(称为DR),右侧向上转一格(称为RU),右侧向下转一格(称为RD),内侧顺时针转一格(称为C),内侧逆时针转一...

2018-10-13 17:18:36 753

原创 独轮车(广搜状态转移的下一步伐的理解)

Problem D独轮车时限:1000ms 内存限制:10000K 总时限:3000ms描述: 独轮车的轮子上有红、黄、蓝、白、绿(依顺时针序)5种颜色,在一个如下图所示的20*20的迷宫内每走一个格子,轮子上的颜色变化一次。独轮车只能向前推或在原地转向。每走一格或原地转向90度均消耗一个单位时间。现给定一个起点(S)和一个终点(T),求独轮车以轮子上的指定颜色到达终点所需的最...

2018-10-13 17:16:19 186

原创 加1乘2平方(利用map标记的同时计数)

加1乘2平方时限:1000ms 内存限制:10000K 总时限:3000ms描述: 最简单的队列的使用#include &lt;iostream&gt;#include &lt;queue&gt;using namespace std;queue&lt;int&gt; q1;int main(){int temp, x;q1.push(5);//入队q1.push...

2018-10-13 17:11:42 100

原创 sds

#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;queue&gt;#include &lt;map&gt;using namespace std;struct Node{ char a[10],b[10],c[10];// 上下,左右,前后 int step;}si;map&lt;Node f...

2018-10-12 07:58:11 183

原创 推箱子模型

1326.推箱子时限:1000ms 内存限制:10000K  总时限:3000ms描述绝大多数人都玩过推箱子的游戏,控制一个人将箱子推动到目标位置即获得胜利。现请你编写一个程序,判断将箱子推到目标位置至少需要多少步。 输入推箱子的平面区域为固定大小(10*10),使用10行10列输入推箱子的初始局面。其中,0代表空格,1代表墙,2代表箱子,3代表目标位置,4代表人。注:游...

2018-10-12 00:29:25 171

原创 木乃伊迷宫(格子边缘是墙的问题)

1147.木乃伊迷宫时限:1000ms 内存限制:10000K  总时限:3000ms描述木乃伊地下宫殿是一个6行6列的迷宫。作为敢到木乃伊地下宫殿里去探险的你,有没有跟木乃伊抓迷藏的心理准备呵!游戏在木乃伊所在的迷宫里展开,任务就是尽快赶到出口。你一次只能走一步,而木乃伊可以走两步,但木乃伊是很笨的,他总是先尽量跟你达到同一列,如果已经是同一列了,他才会像你走来,有墙的地方人和木乃伊...

2018-10-11 22:12:59 321

原创 六数码问题(利用广搜+map记录状态转化)

1045.六数码问题时限:1000ms 内存限制:10000K  总时限:3000ms描述现有一两行三列的表格如下:A B CD E F把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:1 3 52 4 6布局12 5 64 3 1布局2定义α变换如下:把A格中的数字放入B格,把B格中...

2018-10-11 19:44:16 172

原创 交换型深搜枚举

1324.穷举所有排列时限:100ms 内存限制:10000K  总时限:300ms描述输入一个小于10的正整数n,按把每个元素都交换到最前面一次的方法,输出前n个小写字母的所有排列。 输入输入一个小于10的正整数n。 输出按把每个元素都交换到最前面一次的方法,输出前n个小写字母的所有排列。 输入样例3 输出样例abcacbbacb...

2018-10-06 14:10:19 75

原创 POJ-2386 Lake Counting(走过的地方对他修改值)

Lake CountingTime Limit: 1000MS   Memory Limit: 65536K Total Submissions: 44144   Accepted: 21808 DescriptionDue to recent rains, water has pooled in various places in Farmer John'...

2018-10-06 14:05:16 82

原创 HDU-5119(状压dp)

Happy Matt Friends Time Limit: 6000/6000 MS (Java/Others)    Memory Limit: 510000/510000 K (Java/Others) Total Submission(s): 5292    Accepted Submission(s): 2031   Problem Description...

2018-10-06 13:48:07 161

原创 状压dp小节

关键 :dp[i][j]  j是(利用二进制数代表某种状态)  与正常的dp相比 j是直接表示某种状态的。 使用方法:1. 矩阵的上下行中。(第1维可以只有2个空间大小,因为是上下行承接的)                  2.非矩阵的当先前    (第一维也是只要2个空间,因为只有当前和之前状态)...

2018-10-06 12:58:36 52

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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