- 博客(45)
- 收藏
- 关注
原创 HNUST-OJ-2187-最小生成树(邻接矩阵或邻接表)
原题复刻思想的火花本题采用了邻接表的方法,不想建链表,偷懒使用了vector函数(自行百度用法)1.struct Node{ int v,dis;//v用来存储边的目标节点,dis为边权}fu;2.vector<Node>adj[MAX];//用vector容器存储类型为Node的结构体,adj[u]存放从顶点u出发可以到达的所有顶点3.int prim(){ fill(d,d+MAX,INF);//初始化所有点到...
2022-05-12 08:59:21
555
1
原创 HNUST-OJ-1807 算法7-9:最小生成树
原题复刻思想的火花1.int prim(): fill(d,d+MAX,INF);//初始化所有点到原点0的距离为INF,无穷大 d[0]=0;//原点到原点距离为0 int ans=0;//ans用以存储从原点到所有点的最小距离 for(int i=0; i<n; i++) { int u=-1,minn=INF;//u表示是否存在一点未访问,且到原点距离最小的一点 for(int j=0; j&l...
2022-05-12 08:32:01
813
原创 HNUST-OJ-1806-图的遍历——广度优先搜索
原题复刻思想的火花1.bfs(运用自带库函数queue)void bfs(graph &g,int v){ cout<<v<<" "; vis[v]=1; q.push(v); int u; while(!q.empty()) { u=q.front(); q.pop(); for(int w=firstadjves(g,u); w>=0...
2022-05-05 17:12:30
1484
1
原创 HNUST-OJ-1805-图的遍历——深度优先搜索
原题复刻思想的火花1.dfs(邻接矩阵实现)void dfs(graph &g,int v){ cout<<v<<" "; vis[v]=1; for(int w=firstadjves(g,v); w>=0; w=nextadjves(g,v,w))if(!vis[w])dfs(g,w);}2.其他函数介绍请移步HNUST-OJ -1963-邻接矩阵表示法:代码实现#...
2022-05-05 17:06:38
709
原创 HNUST-OJ-1964- 邻接表表示法
原题复刻:思想的火花:1.struct ArcNode //边结点{ 此结构体就是每一条链中非头节点储存的信息 int adjvex; //说明他自己是谁,在顶点表中对应的是谁 struct ArcNode *nextarc; //指向链的下一条 OtherInfo info; //和边相关的信息} ...
2022-05-05 10:22:54
1503
1
原创 HNUST-OJ -1963-邻接矩阵表示法
原题复刻:思想的火花:1.Graph结构体{VerTexType vexs[MVNum];//顶点表(人话就是用来存顶点有哪些)ArcType arcs[MVNum][MVNum];//邻接矩阵(人话就是用矩阵来表示边的关系,有为1,无为零)int vexnum, arcnum;//顶点和边的个数}2.LocateVex(const Graph &g, VerTexType v){就是从顶点表中找到v的位置}3.FirstAdjVex(c..
2022-05-05 09:06:26
782
1
原创 2022年天梯赛全国总决赛-L2-1 插松枝
原题复现:思路的火花:本题是一道比较恶心的模拟题,运用到了栈的知识以及抗击打内心,详细解释有请代码代码请看哎:#include<iostream>#include<stack>#include<vector>using namespace std;const int MAX=100005;int a[MAX];stack<int>st;//盒子int main(){ int n,m,k; c.
2022-04-30 17:15:04
1154
3
原创 HNUST-2183-huffman树的带权路径长度
给定n个权值(权值均是大于0的正整数),构造赫夫曼树HT,并求出赫夫曼树HT的带权路径长度。注意:构造赫夫曼树HT时,在将2棵二叉树合并成一棵新的二叉树时,将根结点权值小的用作左子树!
2022-04-21 21:50:26
473
4
原创 HNUST-OJ-2185-huffman编码(2)
给定n个字符的权值(权值均是大于0的正整数),构造赫夫曼树HT,并求出n个字符的赫夫曼编码HC。注意:在构造赫夫曼树HT时,序号小的权值放在左边,不是权值小的放左边!(序号:与权值输入的顺序相对应,序号由小到大)
2022-04-21 12:27:30
464
2
原创 HNUST-OJ-2184-huffman编码(1)
给定n个字符的权值(权值均是大于0的正整数),构造赫夫曼树HT,并求出这n个字符的赫夫曼编码HC。
2022-04-21 09:40:23
545
2
原创 HNUST-OJ-1967-二叉排序树的基本操作
原题复刻:直接代码吧: )#include<iostream>#include<algorithm>#include<map>using namespace std;struct node{ int data; node* lchilde,*rchild;};//树的节点,一个数据域,两个指针域node* newNode(int v){ node* Node=new node; Node-&...
2022-04-14 23:35:54
370
2
原创 HNUST OJ-2186 层次遍历
原题复刻思想的火花 :首先要层序操作是什么意思,题主就使用了STL中的queue来做,关注函数的书写规则,被‘&’和'*'两种操作搞了半天。#include<iostream>#include<queue>using namespace std;struct node{ char data; struct node *l,*r;};void built(node* &root){ char x; .
2022-04-12 17:06:28
397
原创 {P4913 二叉树深度 } PK {P1305 新二叉树 }
在刷二叉树的时候,发现两道很类似的题,虽然所求不一样,但是方法却很类似,尤其第二个将字符弄成ASCII码,简直了。供自己比对学习。//题一代码#include<iostream>#include<algorithm>#include<string>#include<queue>#include<math.h>using namespace std;const int mod=1000000007;const ..
2022-04-12 16:13:06
84
原创 【模板】知二序建树并求另一序
【模板一】给出一棵二叉树的中序与后序排列。求出它的先序排列。#include<iostream>using namespace std;#define ll long longstruct node{ char data; node*l,*r;//指向左子树与右子树};string in,post;node* create(int postL,int postR,int inL,int inR)//知道后序与中序建树{ if(postL>po
2022-04-12 15:50:19
1078
原创 P4715 【深基16.例1】淘汰赛
原题复现:思想的火花:虽然本题被认为跟树有关,但是数据太水,也没必要那么麻烦,直接queue搞定,只是要注意2^n支队伍,而不是n支。。。#include<iostream>#include<algorithm>#include<string>#include<queue>#include<math.h>using namespace std;const int mod=1000000007;cons...
2022-04-12 14:58:27
104
原创 HNUST-OJ-1803二叉树遍历1
原题不贴了,直接上代码void CreateBiTree(BiTree &T){ //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T TElemType ch; //此处和教材的不同是,要处理多组数据,输入ch如果遇到EOF,应该结束程序 //所以main函数用while(1) if(!(cin >> ch)) exit(0); /****在此下面完成代码***************/ ..
2022-04-10 19:49:34
1063
原创 1002 A+B for Polynomials (25 分)
题目描述:评价:大概可能有点毛病这道题分享下我陷入的陷阱:1.输出为一位小数2.项数为零不输出,统计次数也需要减去为零的项3.pta格式口区4.难度不大,就是恶心人。代码贴贴:)#include<iostream>#include<algorithm>#include<string>#include<string.h>#include<map>#include<sta...
2022-04-07 18:36:53
77
原创 CF19A World Football Cup(被输入输出恶心到了)
写在前面:本题中的关键点:【1】积分榜是按照以下原则制作的:胜利一个队得33分,平分11分,失败00分。首先,球队按积分顺序排在积分榜上,分数相等比较净胜球,净胜球相等比较进球数。【2】按照字典顺序输出n/2n/2行进入淘汰赛阶段的球队的名字【3】输入时的'-'与':'的处理【净胜球】:是指进球数与失球数的差原题复刻:想法与思路:一道模拟题加sort排序,难点在于审清题意以及对输入数据的正确处理。个人对于'-'的处理: string tempa,t...
2022-04-02 10:23:06
126
原创 2022.3.21-2022.3.27总结
本周进度总结:写在前面:周总结好久没写过了,既然需要就做个完全一点的,也不写太多,记录自己的点滴成长1.单片机方面:学完了矩阵键盘,目前进入定时器,在前面环节进行了些个人认为比较浅显的个性化功能,通过群里和私下咨询大佬,解决了一些问题,也对单片机有更深的理解。此外编译环境让人难受,在企图实现代码补全上,pojie版天然的劣势,一些设置无缘,花费时间有些多。只能尽可能提升编程体验。2.数据结构方面:持续刷题,本周刚学的栈及将学的队列优先级增加(不是应试,才不玩手写栈.
2022-03-27 21:22:00
329
原创 P1886 滑动窗口 /【模板】单调队列
写在前面:学了栈与队列之后,就尝试重刷寒假写过的一些题,比如本题,当时对队列的了解较少,连大佬的题解都看不懂,虽说是单调队列的模板题,但还是用了其他方式(麻了)。虽然再次做本题依然会时间超限,也依然会去看题解,但现在的我至少能看懂题解了(骄傲)【题目描述】:【心路历程&&题解】:在华丽丽的时间超限后,我转战题解,看了大佬对单调队列的解释,感到极为佩服。大佬的题解已经让我甘拜下风了,这里进行截图:补充:1.在看懂大佬代码后,自己写时想用...
2022-03-25 22:21:19
184
原创 CF-Sort the Array
题目描述:Being a programmer, you like arrays a lot. For your birthday, your friends have given you an arrayaconsisting ofndistinctintegers.Unfortunately, the size ofais too small. You want a bigger array! Your friends agree to give you a bigger arr...
2022-03-15 22:38:43
100
原创 CF-Chat room
题目:Vasya has recently learned to type and log on to the Internet. He immediately entered a chat room and decided to say hello to everybody. Vasya typed the words. It is considered that Vasya managed to say hello if several letters can be deleted from t..
2022-03-04 23:44:23
92
原创 P3613 寄包柜(map与vector组合拳)
题目分析:题主第一眼看到这题的时候想到的就是极其暴力的二维数组,但事实上:如此巨大的数据,去开二维数组是极其危险且浪费空间的,于是stl里的vector与map便闪亮登场(其实如果搞离散化这种玄学操作,按理是可行的,然而答主并不太会)//vector做法:#include<bits/stdc++.h>using namespace std;#define MAX 1000006typedef long long ll;int main(){ ...
2022-03-01 15:16:08
160
原创 自学java记录(持续更新)
写在前面:为了勉励自己学习java,于是开了这篇blog来记录(希望不会因为懒癌发作而中断)关于环境搭建:开始的环境搭建,折腾了许久,总是在cmd命令中出现”javac不是内部或外部命令,也不是可运行的程序” 字样,不断的重新搭建,最后终于折腾好,但其中玄学成分占比极大,索性还是过了。关于最初的“hello world”,java的语法让见惯了c与c++的我十分不习惯,尤其第一次用自带的记事本编写,没有cb的自动补齐功能,没有顺手即达的编译运行功能,让我的进度的推动处于极为尴尬的地.
2022-02-28 22:53:18
598
1
原创 P1012 [NOIP1998 提高组] 拼数
题目描述设有nn个正整数a_1 \dots a_na1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入格式第一行有一个整数,表示数字个数nn。第二行有nn个整数,表示给出的nn个整数a_iai。输出格式一个正整数,表示最大的整数解题思路:分类讨论,注意【6 321 32 407 135 13 217】这种情况中“32”与“321”,“13”与“135”这两种情况#include<bits/stdc+...
2022-02-26 11:02:18
520
原创 CF4A Watermelon
题意翻译判断输入的正整数能否分成两个正偶数,能则输出YES,不能则输出NO。解题思路:如果是奇数或偶数2--NO,否则YES#include<bits/stdc++.h>using namespace std;#define MAX 1000006int a[MAX];typedef long long ll;int main(){ int n; cin>>n; if(n&1)cout<<"NO"; ..
2022-02-26 10:13:43
399
原创 CF6C Alice, Bob and Chocolate
题意翻译n个糖,a从前往后吃,b从后往前吃,每个糖都有吃完需要的时间,每个人在同一时间只能吃一个,吃完某一个后,才能吃下一个,如果两个人同时开始吃同一个,b会让给a,问最后每个人总共吃了多少糖解题思路:b发扬了男士的绅士精神,为了避免繁琐的讨论,索性剩下最后一块不做判断,最后输出a吃到的数量,b吃到的数量就是n-a啦#include<bits/stdc++.h>using namespace std;#define MAX 1000006int a[MAX];..
2022-02-26 10:05:31
194
原创 CF115A Party
题意翻译一家公司有n(1\le n\le2\times10^3)n(1≤n≤2×103)名员工,从11人到nn人。每个员工要么没有直接经理,要么只有一个直接经理,后者是另一个具有不同编号的员工。如果以下情况中至少有一个是正确的,则称 A 雇员是 B 雇员的上级:雇员 A 是雇员 B 的直接经理。雇员 B 有一个直接经理雇员 C,雇员 A 是雇员 C 的上级。公司没有管理周期。也就是说,不存在一个员工是他/她自己的直接经理的上级。今天公司将安排一个聚会。这涉及到将所有nn...
2022-02-26 09:56:30
189
原创 HNUST-C语言课程设计 完成质量测试记录·
写在前面:水了一周多的c语言课设该有点结局了(摆烂结束)--在此献上周五的《C语言课程设计 完成质量测试》,礼炮冲天1.主菜单的展示小型管理系统一般会先显示主菜单。下面请你设计一个简单的主菜单。解题思路:水题水到极致。(唯一的”陷阱“大概就是倒数第二行是空的)#include <stdio.h>#include <stdlib.h>int main(){ printf("***************主菜单**********..
2022-02-25 23:48:23
1267
原创 HNUST-OJ-链表题课设打包集合
写在前面:相关的解题方法网上已经很多了,我就不班门弄斧防止误导大家。这里仅展现下我的代码,如果有不认同的可以选择其他大佬。另外,重要的事情说三遍:不要直接copy!!!不要直接copy!!!不要直接copy!!!请务必在理解的基础上写出自己的代码,这样才有可能发现自己的某些遗漏点!OJ-2132-建立学生信息链表:void input(){ typedef struct stud_node stu; stu *p=(stu*)malloc(sizeof(stu));
2022-02-07 11:32:39
927
原创 HNUST-OJ-主元素
题目描述:输入:输入由多组数据组成。每组数据由二行组成,第一行是整数n(1<=n<=100000), 第二行是n个空格分开的整数,它们的值位于区间[0,1000000000]。题目保证60%的数据n的值不超过20。输出:每一组输入数据输出一行。如果存在满足条件的x,则输出,否则输出-1。样例输入:33 2 380 5 5 3 5 7 5 580 5 5 3 5 1 5 7样例输出:35-1解题心路历程(I):寒假.
2022-01-30 22:47:15
1447
1
原创 HNUST-OJ-字符串模糊匹配
题目描述在字符串A中,按给定规则查找是否包含字符串B。查找时,不必追求精确匹配,而是采用模糊匹配,既可以查找一模一样的字符串,也可以查找接近的字符串。本题采用的模糊匹配规则是:对于字符串B中从左到右的各个字符,在字符串A中从左到右都能依次找到,即可视为查找成功。简单说来,就是字符串B若在字符串A中存在的话,各个字符可以分散分布,只是仍然要保持原来的顺序。输入输入字符串A和字符串B。字符串仅由英文字母组成,长度不超过100000。输出输出模糊查找的结果。查找成功,输出"
2022-01-16 11:04:29
746
原创 HNUST-OJ-压缩编码的解码
题目描述输入一个字符串,字符串是一种简单的压缩编码,由正整数和字母交替组合而成。本题要求对该压缩编码进行解码并输出。输入输入一个字符串,字符串由正整数和字母交替组合而成。例如:5a7b12C13d说明:本题若对字符串逐个字符进行分析处理,整数的重构较为麻烦,宜采用如下的输入方式获取输入数据。while(scanf("%d%c",&n,&ch)==2) { } 或 while(scanf("%d%c",&n,&ch)!=EOF) { }...
2022-01-16 10:57:19
162
原创 HNUST-OJ-2287-寻找厄咒图腾
题目描述:不知道怎么的,晟晟突然出现在黎明杀机的世界中,他和一个凶残的杀手被关在封闭的房间内,目前他已经躲了起来处于安全状态,他现在需要冷静下来思考逃跑的对策。他发现杀手的特殊力量部分来自于藏在封闭房间内的图腾,这些图腾带有诅咒,只要把它们破坏掉,就能削弱杀手的力量,增加自己的生存几率。可是图腾在哪呢?他想起自己在逃离杀手的过程中胸前的相机还在录像,他打开录像,想看看自己能否找到图腾。从某种角度上来说,录像的本质就是很多张照片的组合,为了方便你解决问题,我们只看一张照片,并且把一张照片中的
2021-12-25 19:50:34
382
原创 HNUST-OJ-2295:嘉嘉的队伍配置
题目描述:「当你重新踏上旅途之后,一定要记得旅途本身的意义。提瓦特的飞鸟、诗和城邦,女皇、愚人和怪物……都是你旅途的一部分。终点并不意味着一切,在抵达终点之前,用你的眼睛,多多观察这个世界吧……」 嘉嘉最近迷上了原神这款游戏,不仅是因为可以享受精彩的剧情,同时还可以养成自己喜爱的角色,挑战许多奖励丰厚的怪物副本。为了通过困难的副本,他每天都在培养游戏中的角色,把他们变得更强。嘉嘉费劲心思培养这么多角色的目的,是为了组建出许多支强力的队伍,这样就可以轻松通过不同类型的困难副...
2021-12-25 19:39:56
1909
原创 HNUST-OJ-2114-魔王的碰碰球
题目描述:传说在遥远的过去,有一个大魔王盘踞在ACM/ICPC实验室里。大魔王非常强大,而且他旗下有甲乙丙丁四大护法,想要见到大魔王,勇士必须一一打倒甲乙丙丁这四位护法。这天,新的勇士带领着他的队友又一次的向实验室发起了进攻。他们在打败了甲护法之后,遇上了正在苦恼的乙护法。乙护法见到勇士一行人后非常惊喜。其实他是一个热爱运动的人,但是自从当上了护法,只能一个人孤零零的守在位置上。乙护法亲切的握住勇士的手,表示只要勇士能陪他打球,并且拿到一定的分数,他就直接放勇士过去。乙护法在球场的左半场,勇士
2021-12-24 20:21:52
73
原创 HNUST-OJ-1742-Py Road
题目描述:Life is short,you need Python!听说python是一门神奇的语言,所以zzx毅然决然地走上了学习python的道路。我们都知道在C语言中,数组的下标是从0开始,从左到右,python也支持这种方式。但是python还有另外一种表示方法,下标可以为负,从右到左,最后一个元素从-1开始,然后前面元素的下标依次减小,如下图所示:下标用来访问单个元素,python还支持切片操作,切片是指通过指定下标范围和步长来获得子数组。假定数组为S,切片用法如.
2021-12-24 09:49:39
174
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人