![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
XiaoAnnOVO
这个作者很懒,什么都没留下…
展开
-
虚函数与纯虚函数
1、纯虚函数声明如下: virtual void funtion1()=0;纯虚函数一定没有定义,纯虚函数用来规范派生类的行为,即接口。包含纯虚函数的类是抽象类,抽象类不能定义实例,但可以声明指向实现该抽象类的具体类的指针或引用。2、虚函数声明如下:virtual ReturnTypeFunctionName(Parameter);虚函数必须实现,如果不实现,编译器将报错,错误提示为: error LNK****:unresolved external symbol “public: vir..原创 2021-11-01 11:51:27 · 1334 阅读 · 0 评论 -
Leetcode——快速排序
题目描述:给你一个整数数组 nums,请你将该数组升序排列。个人思路:我们先来说一下快速排序的基本思想。先从数组中找一个基准数让其他比它大的元素移动到数列一边,比他小的元素移动到数列另一边,从而把数组拆解成两个部分。再对左右区间重复第二步,直到各区间只有一个数。这里特别注意随机数的生成,如果是普通快排是超时的,我猜测是因为测试样例中有卡O(n^2),因为我用冒泡的结果与普通快排的结果差不多,所以要用到随机快排。随即快排与普通快排,代码体现出来就是加了两行代码...原创 2021-09-13 09:56:28 · 1265 阅读 · 0 评论 -
CSP-201809-3 -元素选择器
题目描述:Input:Output:Sample:个人思路:首先是存储结构的设计,因为题目中要求有标签(label)和属性(id)两种数据,所以结构体设计如下:struct node{ string label, id;};其次,因为题目中使用缩进的大小来确定上下级也就是父子关系,所以对于每一行数据,也需要记录其缩进的大小:struct node{ string label, id; int cnt;};在此之前,需要了解 ...原创 2020-07-09 19:42:45 · 191 阅读 · 0 评论 -
CSP-M3-C-咕咕东学英语
*个人思路:因为要求的是满足条件的子串的个数,无非就是两种算法:a.通过某种约束,直接求出满足条件的子串;b.所有子串减去不满足条件的子串。显然,第二种方法更加简单,因为要判断一个字符是Delicious要远比判断其不是困难。因为字符串中只有A、B两种字符,所以在判断时,只需要判断一端的两个字符是否是相反的,如果不同那么说明包括这两个字符的子串均不符合要求,从总数中减去。正反向两次遍历,得到最后的结果。代码块:#include <iostream>using .原创 2020-07-02 17:44:11 · 154 阅读 · 0 评论 -
Week10—CSP模拟—团队聚会
题目描述:TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。Input:第一行一个数T(T≤100),表示数据组数。对于每组数据,第一行一个数m(2 ≤ m ≤ 20),表示TA的数量。对于每位TA,首先是一个数n(0≤ n≤100),表示该TA的任务数。接下来n行,表示各个任务的信息,格...原创 2020-07-02 17:17:05 · 195 阅读 · 0 评论 -
CSP-M4-宇宙狗的危机
题目描述:个人思路:首先明确这是一个区间DP问题,因为所有的数据都是有序的转移条件为: if (l[k][i] && r[k][j]) { dp[i][j] = 1; if (g[j + 1][k]) l[j + 1][i] = 1; if (g[i - 1][k]) ...原创 2020-06-24 09:40:57 · 207 阅读 · 0 评论 -
Week14-C-Q老师的考验
题目描述:Q老师 对数列有一种非同一般的热爱,尤其是优美的斐波那契数列。这一天,Q老师 为了增强大家对于斐波那契数列的理解,决定在斐波那契的基础上创建一个新的数列 f(x) 来考一考大家。数列 f(x) 定义如下:当 x < 10 时,f(x) = x;当 x ≥ 10 时,f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10),ai 只能为 0 或 1。Q老师 将给定 a0~a9,以及两个正整数 k m,询...原创 2020-06-24 09:20:13 · 138 阅读 · 0 评论 -
Week15-A-ZJM与霍格沃兹
题目描述:ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题题库格式:[魔咒] 对应功能背完题库后,ZJM 开始刷题,现共有 N 道题,每道题给出一个字符串,可能是 [魔咒],也可能是对应功能ZJM 需要识别这个题目给出的是 [魔咒] 还是对应功能,并写出转换的结果,如果在魔咒词典里找不到,输出 “what?”Input:首先列出魔咒词典中不超过100000条不同的咒语,每条格式为:[魔咒] 对应功能其中“魔咒”和“对应功能”分别为长度不超过20和80的字符...原创 2020-06-08 20:47:00 · 157 阅读 · 0 评论 -
模拟题——猫睡觉看剧
题目描述:众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○]可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰!现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴!众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B...原创 2020-05-29 13:02:47 · 284 阅读 · 1 评论 -
Week11—A、B、C、D
A、题目描述:蒜头君从现在开始工作,年薪 NN 万。他希望在蒜厂附近买一套 6060 平米的房子,现在价格是 200200 万。假设房子价格以每年百分之 KK 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 NN 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 NN 万,房价 200200 万)输入格式:一行,包含两个正整数 N(10 \le N \le 50)N...原创 2020-05-08 15:58:30 · 362 阅读 · 0 评论 -
Week10—C—拿数问题Ⅱ(动态规划)
题目描述:YJQ 上完第10周的程序设计思维与实践后,想到一个绝妙的主意,他对拿数问题做了一点小修改,使得这道题变成了 拿数问题 II。给一个序列,里边有 n 个数,每一步能拿走一个数,比如拿第 i 个数, Ai = x,得到相应的分数 x,但拿掉这个 Ai 后,x+1 和 x-1 (如果有 Aj = x+1 或 Aj = x-1 存在) 就会变得不可拿(但是有 Aj = x 的话可以继...原创 2020-04-28 20:35:40 · 158 阅读 · 0 评论 -
Week10—B—LIS & LCS(动态规划)
题目描述:东东有两个序列A和B。他想要知道序列A的LIS和序列AB的LCS的长度。注意,LIS为严格递增的,即a1<a2<…<ak(ai<=1,000,000,000)。个人思路:LIS(最长上升子序列):状态:定义fi表示以Ai结尾的最长上升序列的方程初始化:f1 = 1转换方程:fi = max{ fj | (j < i) &...原创 2020-04-28 20:12:49 · 158 阅读 · 0 评论 -
Week10—A—签到题
题目描述:东东在玩游戏“Game23”。在一开始他有一个数字n,他的目标是把它转换成m,在每一步操作中,他可以将n乘以2或乘以3,他可以进行任意次操作。输出将n转换成m的操作次数,如果转换不了输出-1。Input:输入的唯一一行包括两个整数n和m(1<=n<=m<=5*10^8).Output:输出从n转换到m的操作次数,否则输出-1.sampl...原创 2020-04-28 19:54:33 · 156 阅读 · 0 评论 -
Week9—A—咕咕东的目录管理器
题目描述:Input:输入文件包含多组测试数据,第一行输入一个整数表示测试数据的组数 T (T <= 20);每组测试数据的第一行输入一个整数表示该组测试数据的命令总数 Q (Q <= 1e5);每组测试数据的 2 ~ Q+1 行为具体的操作 (MKDIR、RM 操作总数不超过 5000);面对数据范围你要思考的是他们代表的 “命令” 执行的最大可接受复杂度,...原创 2020-04-22 21:19:59 · 247 阅读 · 0 评论 -
Week9—B—东东学打牌(繁杂的程序。。)
题目描述:最近,东东沉迷于打牌。所以他找到 HRZ、ZJM 等人和他一起打牌。由于人数众多,东东稍微修改了亿下游戏规则:所有扑克牌只按数字来算大小,忽略花色。每张扑克牌的大小由一个值表示。A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K 分别指代 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13。每个玩家抽得 5 张扑克牌...原创 2020-04-17 18:02:26 · 344 阅读 · 1 评论 -
Week9—C—签到题,,
题目描述:SDUQD 旁边的滨海公园有 x 条长凳。第 i 个长凳上坐着 a_i 个人。这时候又有 y 个人将来到公园,他们将选择坐在某些公园中的长凳上,那么当这 y 个人坐下后,记k = 所有椅子上的人数的最大值,那么k可能的最大值mx和最小值mn分别是多少。(椅子容量无穷大)Input:第一行包含一个整数 x (1 <= x <= 100) 表示公园中长椅的数...原创 2020-04-17 17:40:09 · 131 阅读 · 0 评论 -
Week8—C—班长竞选(强连通子图 SCC)
题目描述:大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适 勤劳的 TT 收集了M条意见,想要知道最高票数,并给出一份候选人名单,即所有得票最多的同学,你能帮帮他吗?Input:本题有多组数据。第一行 T 表示数据组数。每组数据开始有两个整数 N 和 M ...原创 2020-04-16 09:13:44 · 270 阅读 · 0 评论 -
Week8—B—猫猫向前冲(拓扑排序、按字典序)
题目描述:众所周知, TT 是一位重度爱猫人士,他有一只神奇的魔法猫。有一天,TT 在 B 站上观看猫猫的比赛。一共有 N 只猫猫,编号依次为1,2,3,…,N进行比赛。比赛结束后,Up 主会为所有的猫猫从前到后依次排名并发放爱吃的小鱼干。不幸的是,此时 TT 的电子设备遭到了宇宙射线的降智打击,一下子都连不上网了,自然也看不到最后的颁奖典礼。不幸中的万幸,TT 的魔法猫将每场比赛的结...原创 2020-04-16 08:40:20 · 396 阅读 · 0 评论 -
Week8—A—区间选点(差分求解)
题目描述:给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点使用差分约束系统的解法解决这道题(前面用贪心解决过)Input:输入第一行一个整数 n 表示区间的个数,接下来的 n 行,每一行两个用空格隔开的整数 a,b 表示区间的左右端点。1 <= n <= 50000, 0 <= ai <=...原创 2020-04-16 08:24:09 · 181 阅读 · 0 评论 -
Week11-CSP-20160903-炉石传说
题目描述:《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。玩家各控制一个英雄,...原创 2020-04-15 21:10:27 · 224 阅读 · 0 评论 -
CSP-M2-补题-C-咕咕东的奇妙序列
题目:个人思路:读了好多遍题才明白了是怎么回事。。。将数字当成字符来求解第k个字符。eg: 数字 100意思是长度为3的字符串100。在更深入了解之后,我越发觉得这是一道数学题。。通过写数列的变化我们不难看出: 假设 n 代表第 n 组数据: 1、n <= 9时,其是一个公差d = 1的等差数列 2、10 <= n <= 99时,公差d = 2...原创 2020-04-14 20:08:32 · 240 阅读 · 1 评论 -
CSP-M2-补题-B-HRZ学英语
题目:个人思路:不要问为啥,读完这个题之后啥也没想到,就是想到了ASCII码。。之后就沿着这个思路硬磕出来了。。因为要用到字符的ASCII码,我想到了两种方法,第一种就是(int)强制转换,第二种就是利用map;不过,因为这26个字母都是连续的,所以我选了int转换来用。怎么用呢,初始化大小为27的数组num为0,用来保存当前已有某个字符的数量,为啥是27呢,因...原创 2020-04-14 16:40:37 · 146 阅读 · 0 评论 -
CSP-M2-补题-A-HRZ的序列
**题目:个人思路:首先,在读完题目以后。先思考的问题是什么样的序列存在k,什么样的不存在k。想了一会后,我发现,当序列中相异的数字个数cnt大于3时,那么肯定不存在k(可以证明)所以当cnt大于三时,直接输出NO;当cnt小于等于三的情况: 1、cnt == 3,如果存在k满足条件,那么必定有:最小的数+最大的数 = 2*中间的数;如果不满足条件,说明不存在...原创 2020-04-14 16:07:45 · 163 阅读 · 0 评论 -
Week7—C—TT 的美梦(SPFA)
题目描述:这一晚,TT 做了个美梦!在梦中,TT 的愿望成真了,他成为了喵星的统领!喵星上有 N 个商业城市,编号 1 ~ N,其中 1 号城市是 TT 所在的城市,即首都。喵星上共有 M 条有向道路供商业城市相互往来。但是随着喵星商业的日渐繁荣,有些道路变得非常拥挤。正在 TT 为之苦恼之时,他的魔法小猫咪提出了一个解决方案!TT 欣然接受并针对该方案颁布了一项新的政策。具体政策如...原创 2020-04-08 10:17:58 · 165 阅读 · 0 评论 -
Week7—B—TT 的旅行日记
题目描述:众所周知,TT 有一只魔法猫。今天他在 B 站上开启了一次旅行直播,记录他与魔法猫在喵星旅游时的奇遇。 TT 从家里出发,准备乘坐猫猫快线前往喵星机场。猫猫快线分为经济线和商业线两种,它们的速度与价钱都不同。当然啦,商业线要比经济线贵,TT 平常只能坐经济线,但是今天 TT 的魔法猫变出了一张商业线车票,可以坐一站商业线。假设 TT 换乘的时间忽略不计,请你帮 TT 找到一条去...原创 2020-04-08 09:12:41 · 138 阅读 · 0 评论 -
Week7—A—TT 的魔法猫
题目描述:众所周知,TT 有一只魔法猫。这一天,TT 正在专心致志地玩《猫和老鼠》游戏,然而比赛还没开始,聪明的魔法猫便告诉了 TT 比赛的最终结果。TT 非常诧异,不仅诧异于他的小猫咪居然会说话,更诧异于这可爱的小不点为何有如此魔力?魔法猫告诉 TT,它其实拥有一张游戏胜负表,上面有 N 个人以及 M 个胜负关系,每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即...原创 2020-04-05 22:12:11 · 131 阅读 · 0 评论 -
Week7 - CSP 201604-3-路径解析
题目描述:在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X...原创 2020-04-03 13:54:55 · 184 阅读 · 0 评论 -
Week6—限时大模拟—掌握魔法の东东 II
题目描述:从瑞神家打牌回来后,东东痛定思痛,决定苦练牌技,终成赌神!东东有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为a,范围区间是 0 到 A - 1)和一个花色(整数,记为b,范围区间是 0 到 B - 1。扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。“一手牌”的意思是你手里有5张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成...原创 2020-04-02 14:44:52 · 139 阅读 · 0 评论 -
Week6—D—数据中心
题目描述:CSP-201812-4sample input: 4 5 1 1 2 3 1 3 4 1 4 5 2 3 8 3 4 2sample ouput: 4个人思路:利用并查集、优先队列构建最小生成树,只是在构建最小生成树的时候,更新ans = max(ans , w);w是每一步更新边的边权。比较神奇,刚开始只是想试试,但是没想到居然...原创 2020-04-01 20:43:51 · 181 阅读 · 0 评论 -
Week6—C—掌握魔法的东东
题目描述:东东在老家农村无聊,想种田。农田有 n 块,编号从 1~n。种田要灌氵众所周知东东是一个魔法师,他可以消耗一定的 MP 在一块田上施展魔法,使得黄河之水天上来。他也可以消耗一定的 MP 在两块田的渠上建立传送门,使得这块田引用那块有水的田的水。 (1<=n<=3e2)黄河之水天上来的消耗是 Wi,i 是农田编号 (1<=Wi<=1e5)建立传送门的消...原创 2020-04-01 20:27:01 · 134 阅读 · 0 评论 -
Week6—B—带好口罩
题目描述:新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称“新冠肺炎”,是指2019新型冠状病毒感染导致的肺炎。如果一个感染者走入一个群体,那么这个群体需要被隔离!小A同学被确诊为新冠感染,并且没有戴口罩!!!!!!危!!!时间紧迫!!!!需要尽快找到所有和小A同学直接或者间接接触过的同学,将他们隔离,防止更大范围的扩散。众所周知,...原创 2020-04-01 20:07:04 · 209 阅读 · 0 评论 -
Week6—A—氪金带东
题目描述:实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜的咕咕东在不久前刚刚遭受了宇宙射线的降智打击,请你帮帮他。提示: 样例输入对应这个图,从这个图中你可以看出,距离1号电脑最远的电脑是4号电脑,他们之间的距离是...原创 2020-04-01 19:33:51 · 106 阅读 · 0 评论 -
Week5—D—滑动窗口(单调队列)
题目描述:ZJM 有一个长度为 n 的数列和一个大小为 k 的窗口, 窗口可以在数列上来回移动. 现在 ZJM 想知道在窗口从左往右滑的时候,每次窗口内数的最大值和最小值分别是多少. 例如:数列是 [1 3 -1 -3 5 3 6 7], 其中 k 等于 3。Input:输入有两行。第一行两个整数n和k分别表示数列的长度和滑动窗口的大小,1<=k<=n<=...原创 2020-03-24 20:58:04 · 142 阅读 · 0 评论 -
Week5—C—平衡字符串
题目描述:一个长度为 n 的字符串 s,其中仅包含 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符。如果四种字符在字符串中出现次数均为 n/4,则其为一个平衡字符串。现可以将 s 中连续的一段子串替换成相同长度的只包含那四个字符的任意字符串,使其变为一个平衡字符串,问替换子串的最小长度?如果 s 已经平衡则输出0。Input:一行字符表示给定的字符串sOutput:一...原创 2020-03-24 20:15:21 · 333 阅读 · 0 评论 -
Week5—B— TT's Magic Cat(前缀和与差分)
题目描述:长度为n的数组,一共q次操作,1<=n,q<=1e5;每次操作给出L,R,c,表示区间[L, R]中各个数均加上c,求q次操作结束后,数组中各个元素值。Input:第一行有两个值,n,q;第二行包含n个值,表示数组中的每个值;接下来q行,每行有 L R c三个值,表示一次操作。sample input: 4 2 -3 6 8 4 4 4 -2...原创 2020-03-24 17:32:58 · 157 阅读 · 0 评论 -
Week5—A—最大矩形(单调栈)
题目描述:给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。Input:输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 ...原创 2020-03-24 15:19:59 · 192 阅读 · 0 评论 -
csp补题—C—可怕的宇宙射线
题目描述:众所周知,瑞神已经达到了CS本科生的天花板,但殊不知天外有天,人外有苟。在浩瀚的宇宙中,存在着一种叫做苟狗的生物,这种生物天 生就能达到人类研究生的知识水平,并且天生擅长CSP,甚至有全国第一的水平!但最可怕的是,它可以发出宇宙射线!宇宙射线可以摧毁人的智商,进行降智打击!宇宙射线会在无限的二维平面上传播(可以看做一个二维网格图),初始方向默认向上。宇宙射线会在发射出一段距离后...原创 2020-03-21 10:39:43 · 253 阅读 · 0 评论 -
CSP补题—A—咕咕东的奇遇—B—咕咕东想吃饭
一、A-咕咕东的奇遇题目描述:咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。假装此处有示意图。。。输入格式:输入只有一行字符串。...原创 2020-03-20 23:05:14 · 173 阅读 · 0 评论 -
CSP 201512-3—画图
题目描述:用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作:画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起见题目保证要画的每条线段都是水平或者竖直的。水平线段用字符 - 来画,竖直线段用字符...原创 2020-03-20 21:37:37 · 293 阅读 · 0 评论 -
Week4—C—TT的神秘礼物
题目描述:TT 是一位重度爱猫人士,每日沉溺于 B 站上的猫咪频道。有一天,TT 的好友 ZJM 决定交给 TT 一个难题,如果 TT 能够解决这个难题,ZJM 就会买一只可爱猫咪送给 TT。任务内容是,给定一个 N 个数的数组 cat[i],并用这个数组生成一个新数组 ans[i]。新数组定义为对于任意的 i, j 且 i != j,均有 ans[] = abs(cat[i] - cat...原创 2020-03-20 20:52:16 · 136 阅读 · 0 评论