- 博客(13)
- 收藏
- 关注
原创 第六章 树和二叉树
一、树的存储结构双亲表示法#define MaxSize 100typedef char DataType;typedef struct{DataType data;int parent;}PNode;typedef struct{PNode tree[ MaxSize];int treeNum;}PTree;孩子表示法typedef char DataType;typedef struct ChildNode{int child;struct ChildNode
2021-03-10 23:18:50
85
原创 第五章 字符串和多维数组
一、字符串bf算法int BF(char S[ ], char T[ ])int i=0,j=0;while (S[i] !='\0'&&T[j]!= '\0'){if(S[i] == T[j]){i++;j++;}else{i=i-j+1; j= 0;}}if(T[i]—- '\0') return (i-j+1);else return 0;}
2021-03-10 22:33:51
52
原创 第四章 栈和队列
一、顺序栈1、顺序栈的存储#define Stacksize 100typedef int Datatype;typedef struct{Datatype data[Stacksize];int top;//栈顶元素在数组中的下标}Seqstack;2、顺序栈的实现初始化把top设置为-1入栈int Push(SeqStack *S, DataType x){if (S->top —-StackSize- 1){printf("上溢错误,插入失败\n"); ret
2021-03-07 03:14:49
131
原创 第三章 线性表
一、顺序表的存储#include<bits/stdc++.h>using namespace std;const int N=1000010;typedef int Datatype;typedef struct{ Datatype a[N]; int length;} Seqlist;二、顺序表的操作初始化顺序表void Initlist(SeqList *L){L->length=0;//箭头的前面一定是个指针}建立顺序表int Creatlist
2021-03-03 10:12:33
183
原创 第八章 排序技术
一、归并排序#include<bits/stdc++.h>using namespace std;const int N=9;int a[N]={0,8,4,5,7,1,3,6,2};int temp[N];void msortroot(int f,int e,int mid){ //cout<<f<<' '<<e<<endl; int i=f,j=mid; int k=f,h=f; while(i<mid&&a
2021-03-01 02:15:58
59
原创 P3613 【深基15.例2】寄包柜
题目描述超市里有 n(n\le10^5)n(n≤105) 个寄包柜。每个寄包柜格子数量不一,第 ii 个寄包柜有 a_i(a_i\le10^5)ai (ai ≤105) 个格子,不过我们并不知道各个 a_iai 的值。对于每个寄包柜,格子编号从 1 开始,一直到 a_iai 。现在有 q(q\le10^5)q(q≤105) 次操作:1 i j k:在第 ii 个柜子的第 jj 个格子存入物品 k(0\le k\le 10^9)k(0≤k≤109)。当 k=
2021-01-23 23:59:52
244
原创 简单的dp
给定一个由 n 个整数组成的数组 a 。玩家可以执行以下操作几次。 在单次操作中,他可以选择数组中的一个元素 ( 让我们称它为 ak ) 并删除它,所有等于 ak + 1 和 ak - 1 的元素都会被一并删除,这样的一次操作可以得到 ak 分。得到尽可能多的分数。输入第 1 行包含 1 个整数 n (1 ≤ n ≤ 105) ——代表数组元素个数。第 2 行包含 n 个整数: a1, a2, …, an (1 ≤ ai ≤ 105).输出输出 1 个整数代表能获得的最大分数。样例输入2
2021-01-22 00:01:39
153
原创 圆桌问题
圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。Input多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767);Output对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一
2021-01-14 21:24:22
252
原创 text reverse
Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.InputThe input contains several test cases. The first line of the input is a single integer T wh
2021-01-09 23:32:52
108
原创 多重背包
2021.1.7有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000<vi,wi,si≤100输
2021-01-07 23:35:07
57
原创 01背包
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22
2021-01-07 02:11:33
106
原创 栈和vector
2021.1.5一、c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)使用该容器时需要包含#include头文件;定义stack对象的示例代码如下:stacks1;stacks2;stack的基本操作有:1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。3.访问栈顶:如s.top();4.判断栈空:如s.empty().当栈空时返回true。5.访问栈中的元素个数,如s.size();二、
2021-01-05 23:16:57
1298
原创 超级卷王
超级卷王Description内卷指不能从外部渠道获取资源,没有产生整体的增量,只能在存量分配上做文章,往往损害内部一部分甚至绝大多数群体利益来补偿少数群体的利益,最终整体利益没有增加,持续性内耗的一种状态。内卷本身是个艰难晦涩的社会学专用名词,今天之所以能成为热搜,都是因为今天内卷是很多人今天可以亲身感受到的社会现象。“内卷”被现在很多高校学生来指代非理性的内部竞争或“被自愿”竞争,这种风气已经逐渐蔓延到中小学甚至幼儿园。已知浙江工业大学幼儿园今年有 n 名新生入学,每名同学会有以下属性:编号
2021-01-04 23:36:53
398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人