自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速幂-计算a的b次对m取余

为1的时候才乘,如果为0,其实乘的是1,所以就不用显示的进行乘。,代码中的b&1是计算。

2024-03-01 21:32:27 800

原创 Json 文件读写

【代码】Json 文件读写。

2023-09-07 15:10:35 112

原创 百度api搜索,跳过安全验证

如果没记错,需要安装东西,引擎啥的。

2023-09-07 14:54:45 561

原创 endnote 导入参考文献问题

endnote 导入参考文献乱码出错

2023-04-26 17:35:37 121

原创 爬虫(太原2019年9-10月降雨概率)

爬虫,收集降雨概率

2022-11-19 23:39:28 119

原创 前缀和+差分+ 树状数组

前缀和,差分,树状数组

2022-09-13 11:07:34 185

原创 状态压缩+记忆搜索

有关状态压缩+记忆搜索的三道题,一个来自csp,两个来自洛谷

2022-09-06 20:32:35 238

原创 2022年蓝桥杯省赛 C++ B组

2022年蓝桥杯省赛c++B组

2022-07-07 19:29:13 330

原创 城市正正视图(Urban Eievations,UVA221)

题目描述思路建筑可见等价于它南墙的可见性,那如何判断南墙的可见性,可以判断建筑在每个x处的可见性,如果在一处可见,便可见了,但x是个连续值,该将如何?可以将x离散化,将所有建筑的x坐标(也包含其右下角的x)排序去重,那么两个相邻x坐标形成的区间,此区间上属性相同,建筑只要在此区间任何一个x处可见(选择其中点进行判断),则在此区间便可见,如此对所有建筑在所有x组成的区间判断,只要在一个区间可见即可。但如何判断建筑在一个区间可见?首先建筑应包含区间中选择的x坐标,如果在其南方(也应包含此x)不存在一个比它高

2022-03-11 14:20:50 108

原创 Unix Is命令(Unix is, UVA 400)

UVA 400

2022-02-16 16:54:54 449

原创 丑数(Ugly Number,UVA136)

紫书5-7

2022-02-14 15:58:20 449

原创 团体队列(Team Queue,UVA 540)

题目描述思路两类队列,一类是团队的整体队列,此队列存放的是团队的编号,另一类是一个团队一个队列,此队列存放的是队员的编号DEQUEUE操作:首先根据整体队列,找到第一个团队编号,根据团队编号确定团队,之后pop团队的第一个成员,如果pop之后,团队已无成员,则要将整体队列的第一个团队编号popENQUEUE x :根据成员编号x,找到相应的团队编号,如果团队编号未在整体队列中,要push操作,之后将成员x push到团队中上述操作,需要根据成员编号找到团队编号,故而用map来表示两者的映射关系,而

2022-02-13 15:01:14 890

原创 集合栈计算机(The SetStack Computer, Uva12096)

2022-02-12 14:58:17 543

原创 反片语 Ananagrams Uva 156

2022-02-08 22:55:54 82

原创 安迪的第一个字典Uva 10815

2022-02-08 17:30:52 69

原创 木块问题 the blocks problem uva 101

问题描述思路找到四种操作的共同点,减少代码量归位的意思是将0号木块放在0号堆上,1号木块放于1号堆上…代码注:代码是紫皮书P110#include<iostream>#include<string>#include<cstdio>#include<vector>using namespace std;const int maxn=100;int n;vector<int> pile[maxn];//pile[i]表示第i

2022-02-07 22:14:13 376

原创 使用stringstream类解决输入数据的每行包含若干个(至少一个)以空格隔开的整数,输出每行中所有整数之和

有关stringstream类好的博客链接上述链接已将stringstream讲述的较为详尽,例证:输入数据的每行包含若干个(至少一个)以空格隔开的整数,输出每行中所有整数之和(紫皮书上P104)#include<iostream>#include<string>#include<sstream>using namespace std;int main(){ string line; while(getline(cin,line)) { int

2022-02-07 14:46:27 601

原创 CCF CSP 202006-2 稀疏向量

#include<bits/stdc++.h>using namespace std;struct stu{ int index; int value;};int main(){ int n,a,b; cin>>n>>a>>b; struct stu A[a+1]; int t,v; for(int i=1;i<=a;i++) { cin>>A[i].index>>A[i].value; } l

2021-12-05 10:40:05 66

原创 CSP 202009-2 风险人群筛查

试题编号: 202009-2试题名称: 风险人群筛查时间限制: 1.0s内存限制: 256.0MB问题描述: 题目背景某地疫情爆发后,出于“应检尽检”的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测。问题描述想要找出经过高危区域的居民,分析位置记录是一种简单有效的方法。具体来说,一位居民的位置记录包含个平面坐标 ,其中 表示该居民 时刻所在位置。高危区域则可以抽象为一个矩形区域(含边界),左下角和右上角的坐标分别为 和 ,满足 且。考虑某位居民的位置记录,如果其中某个坐

2021-12-04 14:51:27 118

原创 CSP 201609-2 火车购票

试题编号: 201609-2试题名称: 火车购票时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编

2021-12-04 14:09:15 187

原创 选择排序法

【问题描述】使用选择排序法,对输入数组进行排序【输入形式】整型数组A【输出形式】排序后的数组【样例输入】2 4 6 8 3 8 5 9【样例输出】2 3 4 5 6 8 8 9【样例说明】输入数组空格分开,输出从小打到,数字之间空格分开【评分标准】必须使用选择排序,其他方法不能得分。#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct{ int leng

2021-08-16 13:03:17 152

原创 插入排序过程展示

【问题输入】输入一行整数,共有n+1个。第一个表示整数个数,其后跟n个待排序整数,空格分隔。【问题输出】包括n-1行整数。依次输出第1趟,第2趟,…,第n-1趟插入排序的运行结果。每趟运行结果占一行,空格分隔。#include<stdio.h>#include<stdlib.h>typedef struct{ int length; int *elem;}SqList;void InsertSort(SqList &L){ for(int i=2;i&

2021-08-16 13:03:03 385

原创 快速排序问题

【问题描述】对待排序序列使用快速排序算法进行排序,计算第一次划分之后分界元素在序列中的位置和最终排序结果(划分和分界元素的概念参照课本)(在序列中的位置跟书上一致,从1而不是从0开始)【输入形式】序列元素个数,序列【输出形式】第一次划分之后分界元素的位置,最终排序结果【样例输入】5 0 2 1 -1 -2【样例输出】3 -2 -1 0 1 2【样例说明】序列中的元素均为整数【评分标准】#include<stdio.h>#include<stdlib.h>typede

2021-08-16 13:02:49 1719

原创 折半查找法的使用

【问题描述】给定一个按值有序(升序)的N元整数数组A,采用折半查找法查找关键值k的位置,并给出查找的过程【输入形式】第一行:N第二行:A[0], A[1], … , A[N-1]第三行:k【输出形式】第一行:k的位置(索引),若不存在则输出‘no’第二行:查找的过程,每一次折半的中间(mid)位置的值,以逗号分隔。例如,1 2 3 4 5的中间位置为3,1 2 3 4的中间位置为2。【样例输入】样例1112,5,8,11,15,16,22,24,27,35,5022样例2112

2021-08-16 13:02:21 1466 4

原创 二叉查找树的后序遍历

【问题描述】输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。【输入形式】输入任意长度的数组,数字之间空格分开【输出形式】true 或者 false【样例输入】输入5 7 6 9 11 10 8【样例输出】true【样例说明】由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10/ \ / \5 7 9 11因此返回true。【评分标准】暴力求解法不得分。#include<s

2021-08-16 13:02:03 160

原创 选择排序法

【问题描述】使用选择排序法,对输入数组进行排序【输入形式】整型数组A【输出形式】排序后的数组【样例输入】2 4 6 8 3 8 5 9【样例输出】2 3 4 5 6 8 8 9【样例说明】输入数组空格分开,输出从小打到,数字之间空格分开【评分标准】必须使用选择排序,其他方法不能得分。#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct{ int leng

2021-08-16 13:01:49 467

原创 【综合题】农民挤奶问题

【问题描述】三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始2100秒结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300秒到1200秒),而最长的 无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200秒到1500秒)。你的任务是编一个程序,读入一个有N个农民(1 <= N <= 5000)挤N头牛的工作时间列表,计算以

2021-08-16 13:01:33 684

原创 考察二元查找树

【问题描述】输入一棵二元查找树,该二元查找树为完全二叉树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归方法完成树的镜像转换。例如输入:8/ 6 10/\ /5 7 9 11输出:8/ 10 6/\ /11 9 7 5【输入形式】输入的第一行包含一个整数n,表示树中结点的数量。第二行按照层次遍历方式,输入一个整形二叉树序列,数字之间空格隔开。【输出形式】层次遍历方式输出镜像变换后的

2021-08-16 13:01:17 146

原创 二十四点问题

【题目背景】二十四点是一款著名的纸牌游戏,其游戏的目标是使用3个加减乘除运算使得4张纸牌上数字的运算结果为24.【题目描述】 定义每一个游戏由4个从1-9的数字和3个四则运算符组成,保证四则运算符将数字两两隔开,不存在括号和其他字符,运算顺序按照四则运算顺序进行。加法用+表示,减法用-表示,乘法用小写字母x表示,除法用/表示。在游戏里除法为整除。老师给了你n个游戏的解,请你编写程序验证每个游戏的结果是否为24.【输入格式】从标准输入读入数据。第一行输入一个整数n,从第二行开始到第n+1行中,每一

2021-08-16 13:01:03 836

原创 查找给定的数

【问题描述】在n个数中查找给定的数e【输入形式】第一行包括两个整数n和e,第二行为n个整数,都以空格分开【输出形式】如果存在e,输出第一个e的位序;不过不存在e,输出0【样例1输入】10 3312 31 11 26 12 2 19 33 43 33【样例1输出】8【样例2输入】10 312 31 11 26 12 2 19 33 43 28【样例2输出】0#include<stdio.h>#include<malloc.h>typedef stru

2021-08-15 09:47:06 78

原创 求节点的哈夫曼的带权路径长度

【问题描述】已知输入一串正整数,正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度。【输入形式】首先输入正整数的个数,然后接下来为接下来的正整数,正整数个数不超过10个【输出形式】输出相应的权值【样例输入】5 4 5 6 7 8【样例输出】69【样例说明】【评分标准】#include<stdio.h>#include<stdlib.h>typedef struct{ unsigned int weight;

2021-08-15 09:46:51 1382

原创 二叉查找树的后序遍历

【问题描述】输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。【输入形式】输入任意长度的数组,数字之间空格分开【输出形式】true 或者 false【样例输入】输入5 7 6 9 11 10 8【样例输出】true【样例说明】由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10/ \ / \5 7 9 11因此返回true。【评分标准】暴力求解法不得分。#include<s

2021-08-15 09:46:33 110

原创 已知一个二叉树的中序遍历序列和后序遍历序列,求这棵树的前序遍历序列

【问题描述】已知一个二叉树的中序遍历序列和后序遍历序列,求这棵树的前序遍历序列。【输入形式】一个树的中序遍历序列 该树后序遍历序列,中间用空格分开。输入序列中仅含有小写字母,且没有重复的字母【输出形式】一个树的前序遍历序列【样例输入】dbeafcg debfgca【样例输出】abdecfg#include<stdio.h>#include<stdlib.h>#include<cstring>#include<string>#incl

2021-08-15 09:46:18 3062

原创 从下至上按层遍历二叉树

【问题描述】给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行。【输入形式】广义表表示的二叉树,结点元素类型为整型,且都大于0,例如:1( 2( 3 ( 4, 5 ) ), 6( 7, 8( 9, 10 ) ) )【输出形式】从下至上,打印每一层的结点元素值,元素间以空格隔开。每层的访问顺序是从左到右,每一层单独输出一行。【样例输入】1(2(3(4,5)),6(7,8(9,10))),字符串内没有空格【样例输出】4 5 9 103 7 82 61

2021-08-15 09:46:02 1412

原创 二叉排序树的构建及其遍历

【问题描述】对一组输入数据构建相应的二叉排序树,并利用其中序遍历对数据进行升序排序。(此题人工批改,必须使用二叉树进行排序,其它算法不得分)【输入形式】数据个数,数据。(以空格分割)【输出形式】排序之后的数据。(以空格分割)【样例输入】5 22 -15 4 89 30【样例输出】-15 4 22 30 89【样例说明】【评分标准】(此题人工批改,必须使用二叉树进行排序,其它算法不得分)#include<stdio.h>#include<stdlib.h>t

2021-08-15 09:45:40 1669

原创 中缀表达式转换为后缀表达式

【问题描述】输入一个中缀表达式,表达式中有+、-、*、/四种运算以及(、),表达式中的其他符号为大写的字母, 所有符号均为半角。实现一个算法,得到相应的后缀表达式。【输入形式】一个式子的中缀表达式,以#结束【输出形式】相应的后缀表达式【样例输入】A*(B-C)/D+E#【样例输出】ABC-*D/E+【评分标准】#include<malloc.h>#include<stdio.h>#include<stdlib.h>#define STACK_I

2021-08-15 09:45:24 661

原创 十进制到八进制的转换

【问题描述】对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数【输入形式】非负十进制整数【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,提示错误,重新输入【样例输入】5548【样例输出】12654【样例说明】先判断输入是否符合非负正整数要求【评分标准】#include<stdio.h>int DecO(int n){ int r=n%8; if(n<8) { printf("%d",n); return 0; } else D

2021-08-15 09:45:06 1631

原创 括号匹配问题

【问题描述】假设一算术表达式中包括三种括号:圆括号’(‘和’)’; 方括号’[’ 和’]’; 花括号’{’ 和’}’,且三种括号可按任意次序嵌套使用,试编写程序判定输入的表达式所含的括号是否正确配对出现(已知表达式已存入数据元素为字符的顺序表中)。所有括号均为半角符号。若匹配,则返回1,否则返回0。【输入形式】含括号的算数表达式【输出形式】1或0【样例输入】3+(44*[5-{6*[7*(45-10)]}])【样例输出】1【样例说明】判断括号是否匹配涉及两方面,括号个数和出现次序的判定。【评分

2021-08-15 09:44:50 832

原创 队列元素逆置

【问题描述】已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。【输入形式】输入的第一行为队列元素个数,第二行为队列从首至尾的元素【输出形式】输出队列的逆置【样例输入】31 2 3【样例输出】3 2 1【评分标准】需采用队列与栈的知识,否则不能得分#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define STA

2021-08-15 09:44:28 2156

原创 判断字符串镜像

【问题描述】试写一个算法,识别依次读入的一个以“@”为结束符的字符序列是否为形如“序列1&序列2”模式的字符序列。其中序列1和序列2都不含字符“&”,且序列2是序列1的逆序列。例如,“a+b&b+a”是属该模式的字符序列,而“1+3&3-1”则不是。【输入形式】以@为结尾的一串字符【输出形式】若符合模式则输出字符串长度,否则输出no【样例输入】a+b&b+a@【样例输出】3【样例说明】【评分标准】使用栈的知识,否则不能得分#define ST

2021-08-14 13:59:56 786

空空如也

空空如也

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

TA关注的人

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