- 博客(68)
- 收藏
- 关注
原创 value-initialization of reference type ‘nlohmann::basic_json<>&’的错误
使用json出现这个错误,是因为gcc的版本问题,我的是4.8版本。解决办法就是更改gcc版本,我更改的版本是9.3。
2023-06-30 15:03:11
578
原创 VScode远程连接运行json库和muduo库出现的错误
我的解决方案是使用终端输入命令g++ testjson.cpp -o testjson -std=c++11进行编译,生成一个testjson运行这个就可以。直接使用vscode运行代码出现以下错误。
2023-06-27 16:37:23
356
原创 linux下搭建muduo环境
把inlcude(头文件)和lib(库文件)目录下的文件拷贝到系统目录下。然后使用root用户下载cmake,下载完执行build.sh。编译完成后,在输入./build.sh install命令。完成后,进入到release-install-cpp11。查看目录,进入CMakeLists.txt。将这行注释掉,然后保存并退出。
2023-06-21 15:50:29
261
原创 在Linux上搭建boost库环境
先将boost源码包拷贝到Linux下的一个目录中,然后进行解压。然后安装,需要切换到root用户(su root)运行bootstrap.sh工程编译构建程序。
2023-06-21 15:13:49
539
3
原创 centos连接XShell
查看网络是否与centos互通,我的centos的IP地址是192.168.129.129,打开Windows的cmd输入ping+IP地址,显示互通正常。最后鼠标右键点击桌面,选择打开终端,输入“ifconfig”,查看Ip是否正常连接。先设置网络自动连接,为Xshell 连接centos做准备。打开安装好的xshell,点击新建(我这里下载的是6)选择网络,如果有线没有打开,选择打开,在点击设置。记住ipv4地址,选择自动连接,然后应用。点击键盘,选择ASCLL,然后点击连接。
2023-06-21 13:53:23
1481
原创 centos7虚拟机安装
点击创建用户,设置一个普通用户,除非修改系统配置,一般都通过普通用户权限使用Linux,更加安全(这一步可以在上一步进行,设置完root密码创建用户,我的是还没创建就安装完了,只能在这步创建)左侧选择带GUI的服务器,右侧选择兼容性程序库、开发工具、安全性工具和系统管理工具,然后点击完成。鼠标点进去,选择第一个,回车开始安装(点击CTRL和alt可以将鼠标转换到windows中)设置密码,点击完成(如果密码简单,会提醒,点击两次完成就可以)填写用户名和设置密码,点击完成,密码简单点击两次完成即可。
2023-06-20 17:05:53
875
原创 C++贪心——跳跳
这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 i块的石头高度为 hi,地面的高度是 h0=0。你估计着,从第 i 块石头跳到第 j块石头上耗费的体力值为 (h_i - h_j) ^ 2,从地面跳到第 i 块石头耗费的体力值是 (h_i) ^ 2。为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费。分析:想要消耗的体力最大,就应该选择高度相差大的,将高度按照升序的顺序排序,头尾依次的跳,计算体力。
2022-09-19 17:02:47
235
1
原创 C++贪心——纪念品分组
为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。将数据存放到数组中,进行升序的排序,将小的价格跟大的价格发放到一个组里,并且保证满足不超过给定的数。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。第二行为一个整数 n,表示购来的纪念品的总件数 G。一个整数,即最少的分组数目。
2022-09-19 16:36:43
1091
原创 C++贪心——混合牛奶
此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天 Marry 乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。给出 Marry 乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。接下来 m 行,每行两个整数 pi,ai,表示第 i个农民牛奶的单价,和农民 i 一天最多能卖出的牛奶量。单独的一行包含单独的一个整数,表示 Marry 的牛奶制造公司拿到所需的牛奶所要的最小费用。第一行二个整数 n,m,表示需要牛奶的总量,和提供牛奶的农民个数。
2022-09-19 16:09:22
650
原创 C++贪心——陶陶摘苹果(升级版)
现在已知 n 个苹果到达地上的高度 xi,椅子的高度 a,陶陶手伸直的最大长度 b,陶陶所剩的力气 s,陶陶摘一个苹果需要的力气 yi,求陶陶最多能摘到多少个苹果。这次与 NOIp2005 普及组第一题不同的是:陶陶之前搬凳子,力气只剩下 s了。第 3行~第 3+n−1 行:每行两个数 苹果高度 xi,摘这个苹果需要的力气 yi。先摘需要力气小的苹果,创建一个结构体,对力气升序排序,再判断高度。第 2 行:两个数 椅子的高度 a,陶陶手伸直的最大长度 b。第 1行:两个数 苹果数 n,力气 s。
2022-09-19 14:37:45
397
原创 C++贪心——糖果
先判断前一个数是否大于x,如果大于x,则将这个数等于这个数减去x,后面的数就等于0,吃掉的糖果等于第一个数减去x的值;如果不大于x,则判断两个数相加是否大于x,如果大于,吃掉的糖果数等于两个数相加的和减去x,第二个数等于x-第一个数。(第二个数应该等于这个数减去吃掉糖果的数量,吃掉的糖果数等于两个数相加的和减去x,整理完就是x减去第一个数值。小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。输出一行一个整数,代表最少要吃掉的糖果的数量。
2022-09-19 10:50:04
777
原创 C++贪心——排队接水
最短的排队顺序应该是将小数放到后面,大数在后面。使后面的等待时间少一些。平均等待时间应该是,将每个人的等待时间乘上后面等待的人数在加一起除以人数。有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。输出文件有两行,第一行为一种平均时间最短的排队顺序;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。第二行 n 个整数,第 i个整数 Ti 表示第 i 个人的等待时间 Ti。第一行为一个整数 n。
2022-09-16 09:48:38
2187
原创 C++贪心——部分背包
藏宝洞里面有 N(N≤100) 堆金币,第 i 堆金币的总重量和总价值分别是 mi,vi(1≤mi,vi≤100)。阿里巴巴有一个承重量为 T(T≤1000) 的背包,但并不一定有办法将全部的金币都装进去。他想装走尽可能多价值的金币。所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。价值还有两个之间的比值。计算放到背包中金币的重量和价值。因为金币可以随意分割,因此当重量大于背包的承重量时,应该把多余的重量减去,加上分割完的价值。接下来 N行,每行两个整数 mi,vi。
2022-09-16 08:58:32
289
原创 C++暴力枚举——三连击(升级版)
9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数,若无解,输出。把符合ABC比例的数字找出,判断是否满足每个数字不重复,如果不重复就输出。没有满足的数字,出去No!若干行,每行 3 个数字。按照每行第一个数字升序排列。三个数,A,B,C。
2022-09-14 16:16:40
1160
原创 C++暴力枚举——烤鸡
猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!因为他有 10 种配料(芥末、孜然等),每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 n ,请输出这 10 种配料的所有搭配方案。分析:用for循环进行暴力枚举,注意n小于10或者大于30是没有符合要求的。第二行至结束,10个数,表示每种配料所放的质量,按字典序排列。如果没有符合要求的方法,就只要在第一行输出一个 0。一个正整数 n,表示美味程度。
2022-09-14 10:31:49
1214
原创 C++排序——拼数
设有 n个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。分析:创建一个字符串数组进行排序,排序的方式是,a+b大于b+a就将a放前。第二行有 n 个整数,表示给出的 n 个整数 ai。第一行有一个整数,表示数字个数 n。一个正整数,表示最大的整数。
2022-09-13 15:50:49
786
原创 C++排序——生日
cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。即 n 个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)第 2 行至第 n+1行分别是每人的姓名 s、出生年 y、月 m、日 d。创建一个结构体并排序,按照生日的大小排序,若是生日一样,后输入的在前。第 1 行为 OI 组总人数 n;
2022-09-13 15:47:41
2209
原创 C++排序——攀爬者
他在地形图上标记了 N个点,每个点Pi 都有一个坐标 (xi,yi,zi)。(3) HKE 会飞,他从一个点Pi 爬到 Pj 的距离为两个点的欧几里得距离。即,$\sqrt{(X_i-X_j)^2+(Y_i-Y_j)^2+(Z_i-Z_j)^2}$根据题意,创建一个结构体,按照点的大小进行排序,然后根据欧几里得距离公式计算高度,将高度加在一起。接下来 N 行,三个整数 xi,yi,zi 表示第 i 个点的坐标。(2) 从第二个点开始,他经过的每一个点高度 zz 都比上一个点高;
2022-09-13 11:12:52
471
原创 C++排序——分数线划定
面试分数线根据计划录取人数的 150% 划定,即如果计划录取 m 名志愿者,则面试分数线为排名第 m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。第一行,两个整数 n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中 n 表示报名参加笔试的选手总数,m表示计划录取的志愿者人数。从第二行开始,每行包含 2个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
2022-09-13 10:08:43
1193
原创 C++排序——欢乐的跳
一个 n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了 [1,n−1] 之间的所有整数,则称之符合“欢乐的跳”,如数组 {1,4,2,3} 符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。每组测试数据第一行以一个整数 n(1≤n≤1000) 开始,接下来 n 个空格隔开的在 [−108,108] 之间的整数。分析:循环对俩个相邻的数相减的绝对值进行判断,是否在1到n-1之间,在就返回jolly,不在就输出not jolly。给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。
2022-09-09 11:11:05
657
原创 C++排序——车厢重组
在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转 180 度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。分析:对给的数据进行从大到小排序,只能挨着的两个数进行交换。第二行是 N 个不同的数表示初始的车厢顺序。一个整数,最少的旋转次数。
2022-09-09 09:50:52
1515
1
原创 C++排序——Bookshelf B
为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不像演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书架的高度。书架的高度为B,并且保证 1≤B≤S
2022-09-08 17:19:23
434
原创 C++模拟与高精度——帮贡排序
现在 absi2011 和帮主等人联合决定,要清除一些死号,加进一些新号,同时还要鼓励帮贡多的人,对帮派进行一番休整。他按原来的顺序给你(所以,等级相同的,原来靠前的现在也要靠前,因为经验高低的原因,但此处为了简单点省去经验。他发现这是个很难的事情。目前帮派内共最多有一位帮主,两位副帮主,两位护法,四位长老,七位堂主,二十五名精英,帮众若干。先按照帮贡排序,分出职务,在根据职务相同的,按照等级排序,等级一样,按输入顺序排序。他的名字(长度不会超过 30),他的原来职位,他的帮贡,他的等级。
2022-09-07 16:06:38
346
原创 C++模拟与高精度——字符串展开
(4) 参数 p3:是否改为逆序:p3=1 表示维持原来顺序,p3=2 表示采用逆序输出,注意这时候仍然不包括减号两端的字符。注意:"-"号后面的应该大于前面的,如果前面是字母,后面是数字是满足字母条件的,比如s-4就满足前一个字母大于等于a,后一个字母小于等于z。的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为。在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于。减号两边的字符不变。
2022-09-06 17:37:34
412
原创 C++模拟与高精度——多项式输出
请按照如下规定的格式要求输出该多项式:多项式中自变量为 x,从左到右按照次数递减顺序给出多项式。多项式中只包含系数不为 0的项。如果多项式 nn 次项系数为正,则多项式开头不出+号,如果多项式 n次项系数为负,则多项式以-号开头。对于不是最高次的项,以+号或者-号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于 0 次的项,其系数的绝对值为 1,则无需输出 1)。
2022-09-03 16:13:09
195
原创 C++模拟与高精度——生活大爆炸版石头剪刀布
例如:如果小 A 以“石头-布-石头-剪刀-蜥蜴人-斯波克”长度为 6的周期出拳,那么他的出拳序列就是“石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-......”,而如果小 B 以“剪刀-石头-布-斯波克-蜥蜴人”长度为 5 的周期出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-......”数与数之间以一个空格分隔。第一行包含三个整数:N,NA,NB,分别表示共进行 N次猜拳、小 A 出拳的周期长度,小 B 出拳的周期长度。
2022-09-03 15:08:21
455
原创 C++模拟与高精度——魔法少女小Scarlet
以表格中的2为例子,在矩阵中的位置为(1,2),顺时针旋转变成6也就是(2,3),第1行的第2个变成倒数第1列的第2个,即第i行第j个的变成倒数第i列第j个,如果是逆时针旋转,第i行第j个变成第i列倒数第j个。接下来 m 行,每行 4 个整数 x,y,r,z,表示在这次魔法中,Scarlet 会把以第 x行第 y 列为中心的 2r+1 阶矩阵按照某种时针方向旋转,其中z=0 表示顺时针,z=1 表示逆时针。输出 n行,每行 n 个用空格隔开的数,表示最终所得的矩阵。针对矩阵旋转,如果是顺时针旋转90°。
2022-09-03 10:41:20
340
原创 C++排序——宇宙总统
题目描述地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。输入格式第一行为一个整数 n,代表竞选总统的人数。接下来有 n行,分别为第一个候选人到第 n 个候选人的票数。输出格式共两行,第一行是一个整数 m,为当上总统的人的号数。第二行是当上总统的人的选票。分析:这道题就是找出票数最大的,但是票数很大,我用的是字符串保存票数,只保留最大的,先对票数进行位数比较,位数多的指定大,在对同位
2022-05-07 16:35:51
2606
原创 C++排序——奖学金
题目描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正
2022-05-06 20:46:41
913
原创 C++排序——明明的随机数
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行,第1行为1个正整数,表示所生成的随机数的个数N第2行有N个用空格隔开的正整数,为所产生的随机数。输出格式输出也是两行,第1行为1个正整数M,表示不相同的
2022-05-06 19:50:31
1218
原创 C++排序——快排
题目描述利用快速排序算法将读入的 N个数从小到大排序后输出。快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++ 选手请不要试图使用 STL,虽然你可以使用 sort 一遍过,但是你并没有掌握快速排序算法的精髓。)输入格式第 1 行为一个正整数 N,第 2 行包含 N 个空格隔开的正整数 ai,为你需要进行排序的数,数据保证了 Ai 不超过 10^9。输出格式将给定的 N 个数从小到大输出,数之间空格隔开,行末换行且无
2022-04-26 16:55:46
1847
原创 C++排序——选举学生会
题目描述学校正在选举学生会成员,有 n(n≤999)名候选人,每名候选人编号分别从 1 到n,现在收集到了 m(m<=2000000)张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入格式输入 n和 m 以及 m 个选票上的数字。输出格式求出排序后的选票编号。分析:将选票上的数字存储到一个数组中,对数组进行排序#include<bits/stdc++.h>using namespace std;int ...
2022-04-26 16:38:09
2258
原创 C++模拟与高精度——玩具谜题
题目描述小南有一套可爱的玩具小人, 它们各有不同的职业。有一天, 这些玩具小人把小南的眼镜藏了起来。 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图:这时singer告诉小南一个谜題: “眼镜藏在我左数第3个玩具小人的右数第1个玩具小人的左数第2个玩具小人那里。 ”小南发现, 这个谜题中玩具小人的朝向非常关键, 因为朝内和朝外的玩具小人的左右方向是相反的: 面朝圈内的玩具小人, 它的左边是顺时针方向, 右边是逆时针方向; 而面向圈外的玩具小人, 它的左边是逆时针方
2022-04-21 09:55:52
483
原创 C++模拟与高精度——扫雷游戏
题目描述扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。输入格式第一行是用一个空格隔开的两个整数n和m,
2022-04-20 12:18:35
339
原创 C++模拟与高精度——乒乓球
题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中1111分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白1111分制和2121分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。题目描述华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛...
2022-04-20 11:07:58
462
原创 C++函数与结构体——哥德巴赫猜想
题目描述输入一个偶数N(N<=10000),验证4~N所有偶数是否符合哥德巴赫猜想:任一大于 2 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 10,10=3+7=5+5,则 10=5+5 是错误答案。输入格式第一行N输出格式4=2+2 6=3+3 …… N=x+y分析:使用for循环,4的等式直接输出,i从6开始到n,进行计数,因为是偶数,因此i=i+2,在使用一个for循环进行加数的判断,先对j进行素数判断,如果是,再
2022-04-19 10:14:43
3140
原创 C++函数与结构体——评等级
题目描述现有N(N≤1000) 名同学,每名同学需要设计一个结构体记录以下信息:学号(不超过 100000 的正整数)、学业成绩和素质拓展成绩(分别是 0 到 100 的整数)、综合分数(实数)。每行读入同学的姓名、学业成绩和素质拓展成绩,并且计算综合分数(分别按照 70% 和 30% 权重累加),存入结构体中。还需要在结构体中定义一个成员函数,返回该结构体对象的学业成绩和素质拓展成绩的总分。然后需要设计一个函数,其参数是一个学生结构体对象,判断该学生是否“优秀”。优秀的定义是学业和素质拓展成绩总分
2022-04-19 09:48:23
932
原创 C++函数与结构体——旗鼓相当的对手 - 加强版
题目描述现有 N(N≤1000) 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 8 个字符的字符串,没有空格)、语文、数学、英语成绩(均为不超过 150 的自然数)。如果某对学生 <i,j> 的每一科成绩的分差都不大于 5,且总分分差不大于 10,那么这对学生就是“旗鼓相当的对手”。现在我们想知道这些同学中,哪些是“旗鼓相当的对手”?请输出他们的姓名。所有人的姓名是按照字典序给出的,输出时也应该按照字典序输出所有对手组合。也就是说,这对组合的第一个名字的字典序应该小于第二
2022-04-19 09:27:08
1994
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人