程序设计课程c++
程序设计
Hhhhhhhhh毅
记录学习历程
展开
-
程序设计课程 总结
总结一下我认为遇到的比较骚的操作1.stringstream头文件 <sstream>用法一:多个字符串拼接stringstream sstream;sstream<<"asd"<<" "<<"dfgdf";用法二:当一行里面有多个字符串,且带有空格我们想把他分开用这个就特别骚比如: wo ai zhong guowo ai hhy我们要读取的话一般情况前面会有一个n,表示有多少行string str;cin>>原创 2020-06-06 12:52:51 · 815 阅读 · 0 评论 -
程序设计 week14 猫睡觉
Sample Input12 12 123:00-01:003 4 307:00-08:0011:00-11:0919:00-19:59Sample OutputYes101:07-22:13No解题思路把时间转换成分钟,好进行比较设置一个ptp结构体,记录一段开始结束的时间一开始的输入,记录在rem数组里面并且按照start的升序排列并且因为每天的表都是一样的所以要把第一个番的时间填到最末尾这样就可以前后2天联系起来然后找出合法的睡觉时间记录下来..原创 2020-06-06 11:34:52 · 229 阅读 · 0 评论 -
程序设计 元素选择器
解题思路设置一个结构体node,记录label和id还有级数封装一个tolow函数,用于把字母化成小写封装一个split函数,把输入的给拆分成node详情看代码#include<bits/stdc++.h>using namespace std;int n,m;struct node{ string label,id; int level;};node ele[105];vector<string> input; //输入的查询v...原创 2020-06-05 17:26:37 · 172 阅读 · 0 评论 -
程序设计M4
第一题错了4个,原因是因为用iostream没有取消同步,后来补题,也是很久才发现这点,我是真的没有想到会卡这点的TT数鸭子样例输入6 5123456789 9876543210 233 666 1 114514样例输出4解题思路一开始我用的是set,但是错了4个点,超时然后补题的时候,我继续用set,并且取消同步,多过了一个点我想是set太慢了,所以我用了无序的set,结果又多过了一个点但是这应该是set的极限了然后我采用数组记录,取消同步后,800ms擦边过的代码实现原创 2020-06-05 00:05:19 · 236 阅读 · 0 评论 -
week 15 哈希字符串
Sample Input[expelliarmus] the disarming charm[rictusempra] send a jet of silver light to hit the enemy[tarantallegra] control the movement of one's legs[serpensortia] shoot a snake out of the end of one's wand[lumos] light the wand[obliviate] the m.原创 2020-05-27 23:02:18 · 192 阅读 · 0 评论 -
scanf 的正则
https://www.cnblogs.com/orange1438/archive/2013/05/12/4544958.htmlscanf()正则表达式的使用[]内是匹配的字符,^表示求反集,当遇到非集合内的字符时立即终止输入输入指定范围的小写字母,遇到非法字符立即终止scanf("%[a-z]",str1);printf("%s\n",str1);输入:abc123输出:abc//输入带空格的自定范围的字符串scanf("%[a-z A-Z0-9]", str1);printf转载 2020-05-27 21:59:58 · 657 阅读 · 0 评论 -
ccf 炉石传说
问题描述试题编号: 201609-3试题名称: 炉石传说时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:* 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 * 玩原创 2020-05-22 20:33:57 · 256 阅读 · 0 评论 -
程序设计 week14 必做题
A - Q老师与石头剪刀布(必做)Input231 1 1RPS33 0 0RPSOutputYESPSRNO解题思路实时的进行猜拳比赛,尽力让Q老师赢,如果Q老师所有能赢的局都赢了,就比较是否超过了n/2次如果不超过就输出No如果超过了,就把那些输的局,用剩下能出的石头剪刀布给填满输出结果代码实现#include<iostream>#include<cstring>using namespace std;int t,n;int原创 2020-05-22 15:20:24 · 268 阅读 · 0 评论 -
week 13 程序设计 必做题
A - TT 的神秘任务1(必做)ExampleInput810 3100 48 797 28 83 105 31000000000 9OutputYES4 2 4YES55 5 5 35NONOYES1 1 1 1 1 1 1 1NOYES3 1 1YES111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111120解题思路由于题目多原创 2020-05-15 17:10:50 · 237 阅读 · 0 评论 -
程序设计week12 必做题
A - 必做题 - 1Sample Input51 3 2 3 3111 1 1 1 1 5 5 5 5 5 571 1 1 1 1 1 1Sample Output351解题思路排序后,所有相同的数都挨在一起记录当前数的个数,当个数大于(n+1)/2时输出每个数只遍历一次,复杂度为On代码实现#include<iostream>#include<algorithm>#include<cstdio>using namespac原创 2020-05-13 10:03:05 · 219 阅读 · 0 评论 -
CSP-m3 程序设计
咕咕东学英语咕咕东很聪明,但他最近不幸被来自宇宙的宇宙射线击中,遭到了降智打击,他的英语水平被归零了!这一切的始作俑者宇宙狗却毫不知情!此时咕咕东碰到了一个好心人——TT,TT在吸猫之余教咕咕东学英语。今天TT打算教咕咕东字母A和字母B,TT给了咕咕东一个只有大写A、B组成的序列,让咕咕东分辨这些字母。但是咕咕东的其他学科水平都还在,敏锐的咕咕东想出一个问题考考TT:咕咕东问TT这个字符串有多少个子串(由原字符串中位置连续的字符构成的字符串)是Delicious的。TT虽然会做这个问题,但是他吸完猫原创 2020-05-08 17:54:12 · 294 阅读 · 0 评论 -
程序设计week11 作业
A-必做题11-1蒜头君从现在开始工作,年薪 NN 万。他希望在蒜厂附近买一套 6060 平米的房子,现在价格是 200200 万。假设房子价格以每年百分之 KK 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 NN 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 NN 万,房价 200200 万)输入格式一行,包含两个正整数 N(10 \le N \le 50)N(1...原创 2020-05-02 12:19:52 · 366 阅读 · 0 评论 -
团队聚会 || 类似双指针法
题目TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。输入格式第一行一个数T(T≤100),表示数据组数。对于每组数据,第一行一个数m(2 ≤ m ≤ 20),表示TA的数量。对于每位TA,首...原创 2020-04-27 23:11:24 · 1660 阅读 · 0 评论 -
TT 的长方体 || 签到题
题目TT有一个A×B×C的长方体。这个长方体是由A×B×C个1×1×1的小正方体组成的。现在TT想给每个小正方体涂上颜色。需要满以下三点条件:每个小正方体要么涂成红色,要么涂成蓝色。所有红色的小正方体组成一个长方体。所有蓝色的小正方体组成一个长方体。现在TT想知道红色小正方体的数量和蓝色小正方体的数量的差异。你需要找到红色正方体的数量与蓝色正方体的数量差值的绝对值的最小值。即mi...原创 2020-04-27 22:46:04 · 182 阅读 · 0 评论 -
拿数问题2 || 动态规划
题目YJQ 上完第10周的程序设计思维与实践后,想到一个绝妙的主意,他对拿数问题做了一点小修改,使得这道题变成了 拿数问题 II。给一个序列,里边有 n 个数,每一步能拿走一个数,比如拿第 i 个数, Ai = x,得到相应的分数 x,但拿掉这个 Ai 后,x+1 和 x-1 (如果有 Aj = x+1 或 Aj = x-1 存在) 就会变得不可拿(但是有 Aj = x 的话可以继续拿这个 x...原创 2020-04-26 00:20:26 · 183 阅读 · 0 评论 -
LIS and LCS || 动态规划
题目东东有两个序列A和B。他想要知道序列A的LIS和序列AB的LCS的长度。注意,LIS为严格递增的,即a1<a2<…<ak(ai<=1,000,000,000)。input第一行两个数n,m(1<=n<=5,000,1<=m<=5,000)第二行n个数,表示序列A第三行m个数,表示序列Boutput输出一行数据ans1和ans2,...原创 2020-04-26 00:12:49 · 249 阅读 · 0 评论 -
Game23 || 回溯法
题目东东在玩游戏“Game23”。在一开始他有一个数字n,他的目标是把它转换成m,在每一步操作中,他可以将n乘以2或乘以3,他可以进行任意次操作。输出将n转换成m的操作次数,如果转换不了输出-1。input输入的唯一一行包括两个整数n和m(1<=n<=m<=5*10^8).output输出从n转换到m的操作次数,否则输出-1.样例Simple Input 112...原创 2020-04-25 23:57:37 · 234 阅读 · 0 评论 -
CodeForces - 1042A
题目SDUQD 旁边的滨海公园有 x 条长凳。第 i 个长凳上坐着 a_i 个人。这时候又有 y 个人将来到公园,他们将选择坐在某些公园中的长凳上,那么当这 y 个人坐下后,记k = 所有椅子上的人数的最大值,那么k可能的最大值mx和最小值mn分别是多少输入第一行包含一个整数 x (1 <= x <= 100) 表示公园中长椅的数目第二行包含一个整数 y (1 <= y ...原创 2020-04-25 23:49:42 · 236 阅读 · 0 评论 -
咕咕东学打牌 || 重载结构体<
题目最近,东东沉迷于打牌。所以他找到 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-25 23:42:20 · 134 阅读 · 0 评论 -
咕咕东的目录管理器 || 复杂模拟题 Kattis - directorymanagement
题目咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 —— 这工程量太大了,所以他定了一个小目标,从实现一个目录管理器开始。前些日子,东东的电脑终于因为过度收到宇宙射线的影响而宕机,无法写代码。他的好友TT正忙着在B站看猫片,另一位好友瑞神正忙着打守望先锋。现在只有你能帮助东东!初始时,咕咕东的硬盘是空的,命令行的当前目录为...原创 2020-04-25 23:32:29 · 221 阅读 · 0 评论 -
画图 201512-3
问题描述用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 ….………_… ././.||….|……/.… |.|…_.|.|).|.|).|.|.|.| |.|.).|…/|….<|.||.| ._|/||…||._\___/. 本题要求编程实现一个用 ASCII...原创 2020-03-20 22:06:01 · 178 阅读 · 0 评论 -
最大矩形 -- 单调栈
题目给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。input输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= hi <= 1...原创 2020-03-20 22:34:06 · 326 阅读 · 0 评论 -
区间选点二 || 差分约束
题目给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点Input输入第一行一个整数 n 表示区间的个数,接下来的 n 行,每一行两个用空格隔开的整数 a,b 表示区间的左右端点。1 <= n <= 50000, 0 <= ai <= bi <= 50000 并且 1 <= ci <= bi...原创 2020-04-16 21:39:35 · 238 阅读 · 0 评论 -
二分答案求中位数
题目TT 的神秘礼物TT 是一位重度爱猫人士,每日沉溺于 B 站上的猫咪频道。有一天,TT 的好友 ZJM 决定交给 TT 一个难题,如果 TT 能够解决这个难题,ZJM 就会买一只可爱猫咪送给 TT。任务内容是,给定一个 N 个数的数组 cat[i],并用这个数组生成一个新数组 ans[i]。新数组定义为对于任意的 i, j 且 i != j,均有 ans[] = abs(cat[i] ...原创 2020-03-18 21:40:59 · 439 阅读 · 0 评论 -
四个数列 || 二分
题目ZJM 有四个数列 A,B,C,D,每个数列都有 n 个数字。ZJM 从每个数列中各取出一个数,他想知道有多少种方案使得 4 个数的和为 0。当一个数列中有多个相同的数字的时候,把它们当做不同的数对待。请你帮帮他吧!Input第一行:n(代表数列中数字的个数) (1≤n≤4000)接下来的 n 行中,第 i 行有四个数字,分别表示数列 A,B,C,D 中的第 i 个数字(数字不超过...原创 2020-03-18 21:14:00 · 162 阅读 · 0 评论 -
滑动窗口--单调队列
题目Input输入有两行。第一行两个整数n和k分别表示数列的长度和滑动窗口的大小,1<=k<=n<=1000000。第二行有n个整数表示ZJM的数列。Output输出有两行。第一行输出滑动窗口在从左到右的每个位置时,滑动窗口中的最小值。第二行是最大值。Sample Input8 31 3 -1 -3 5 3 6 7Sample Output-1 -3 -3 -...原创 2020-03-21 11:44:20 · 188 阅读 · 0 评论 -
数据中心 c++ || 最小生成树
样例input4511 2 31 3 41 4 52 3 83 4 2output4解题思路1.题目很长,大意是求出所有生成树里面,边和最小的最大边。2.求最小的最大,我们可以使用二分答案。3.也可以先求最小生成树,然后再求最大边。代码实现#include<iostream>#include<algorithm>using names...原创 2020-04-01 13:55:41 · 207 阅读 · 0 评论 -
掌握魔法の东东 I c++ || 最小生成树
题目东东在老家农村无聊,想种田。农田有 n 块,编号从 1~n。种田要灌氵众所周知东东是一个魔法师,他可以消耗一定的 MP 在一块田上施展魔法,使得黄河之水天上来。他也可以消耗一定的 MP 在两块田的渠上建立传送门,使得这块田引用那块有水的田的水。 (1<=n<=3e2)黄河之水天上来的消耗是 Wi,i 是农田编号 (1<=Wi<=1e5)建立传送门的消耗是 Pij...原创 2020-04-01 13:45:48 · 170 阅读 · 0 评论 -
戴好口罩(并查集) c++
题目新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称“新冠肺炎”,是指2019新型冠状病毒感染导致的肺炎。如果一个感染者走入一个群体,那么这个群体需要被隔离!小A同学被确诊为新冠感染,并且没有戴口罩!!!!!!危!!!时间紧迫!!!!需要尽快找到所有和小A同学直接或者间接接触过的同学,将他们隔离,防止更大范围的扩散。众所周知,学生的交际可...原创 2020-04-01 13:31:37 · 491 阅读 · 0 评论 -
树的直径-c++
题目实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜的咕咕东在不久前刚刚遭受了宇宙射线的降智打击,请你帮帮他。提示: 样例输入对应这个图,从这个图中你可以看出,距离1号电脑最远的电脑是4号电脑,他们之间的距离是3。 4号电...原创 2020-04-01 12:58:28 · 1386 阅读 · 0 评论 -
平衡字符串 c++ || 尺取法
题目一个长度为 n 的字符串 s,其中仅包含 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符。如果四种字符在字符串中出现次数均为 n/4,则其为一个平衡字符串。现可以将 s 中连续的一段子串替换成相同长度的只包含那四个字符的任意字符串,使其变为一个平衡字符串,问替换子串的最小长度?如果 s 已经平衡则输出0。Inuput一行字符表示给定的字符串sOutnput一个整数表示答案Ex...原创 2020-03-21 11:23:51 · 539 阅读 · 0 评论 -
TT 的美梦 || SPFA
题目这一晚,TT 做了个美梦!在梦中,TT 的愿望成真了,他成为了喵星的统领!喵星上有 N 个商业城市,编号 1 ~ N,其中 1 号城市是 TT 所在的城市,即首都。喵星上共有 M 条有向道路供商业城市相互往来。但是随着喵星商业的日渐繁荣,有些道路变得非常拥挤。正在 TT 为之苦恼之时,他的魔法小猫咪提出了一个解决方案!TT 欣然接受并针对该方案颁布了一项新的政策。具体政策如下:对每一个...原创 2020-04-05 00:17:46 · 207 阅读 · 0 评论 -
TT 的旅行日记 || 迪杰斯特拉
题目众所周知,TT 有一只魔法猫。今天他在 B 站上开启了一次旅行直播,记录他与魔法猫在喵星旅游时的奇遇。 TT 从家里出发,准备乘坐猫猫快线前往喵星机场。猫猫快线分为经济线和商业线两种,它们的速度与价钱都不同。当然啦,商业线要比经济线贵,TT 平常只能坐经济线,但是今天 TT 的魔法猫变出了一张商业线车票,可以坐一站商业线。假设 TT 换乘的时间忽略不计,请你帮 TT 找到一条去喵星机场最快...原创 2020-04-04 23:57:27 · 240 阅读 · 0 评论 -
TT的魔法猫 || Floyd算法
题目众所周知,TT 有一只魔法猫。这一天,TT 正在专心致志地玩《猫和老鼠》游戏,然而比赛还没开始,聪明的魔法猫便告诉了 TT 比赛的最终结果。TT 非常诧异,不仅诧异于他的小猫咪居然会说话,更诧异于这可爱的小不点为何有如此魔力?魔法猫告诉 TT,它其实拥有一张游戏胜负表,上面有 N 个人以及 M 个胜负关系,每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即 A 胜过 ...原创 2020-04-04 23:20:54 · 201 阅读 · 0 评论 -
TT's Magic Cat -- 差分
题意TT 有一只猫 ,它从 世界地图 选了 n 个城市,用 ai 表示每个城市的资产 。猫会给出几个操作, 区间 [ l , r ] 的城市资产都加 c 。在q次操作后,输出所有城市的资产。Input第一行有两个数 n, q (1<=n,q<=2*10^5) ,n表示城市的个数,q表示操作次数。第二行包含n个数,分别代表每个城市的资产ai。(-10^6 <=ai<...原创 2020-03-20 23:01:11 · 272 阅读 · 0 评论 -
猫猫向前冲 || 拓扑排序
题目众所周知, TT 是一位重度爱猫人士,他有一只神奇的魔法猫。有一天,TT 在 B 站上观看猫猫的比赛。一共有 N 只猫猫,编号依次为1,2,3,…,N进行比赛。比赛结束后,Up 主会为所有的猫猫从前到后依次排名并发放爱吃的小鱼干。不幸的是,此时 TT 的电子设备遭到了宇宙射线的降智打击,一下子都连不上网了,自然也看不到最后的颁奖典礼。不幸中的万幸,TT 的魔法猫将每场比赛的结果都记录了下...原创 2020-04-16 21:49:29 · 165 阅读 · 0 评论 -
班长竞选 || Kosaraju算法
题意大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适 勤劳的 TT 收集了M条意见,想要知道最高票数,并给出一份候选人名单,即所有得票最多的同学,你能帮帮他吗?Input本题有多组数据。第一行 T 表示数据组数。每组数据开始有两个整数 N 和 M (2 <= n ...原创 2020-04-16 22:18:29 · 237 阅读 · 0 评论 -
CSP201604-3 路径解析
题目输入7/d2/d3/d2/d4/f1…/d4/f1/d1/./f1/d1///f1/d1/////d1/…/…/d2输出/d2/d4/f1/d2/d4/f1/d1/f1/d1/f1/d1//d2我的解法我是按照他的要求一步一步做的,但是按我的思路来写只能得80分,结果是运行错误,不知道该怎么修改了。#include<iostream>...原创 2020-04-16 22:37:42 · 176 阅读 · 0 评论 -
csp_M2 补题
HRZ的序列(set)样例输入251 2 3 4 551 2 3 4 5样例输出NONO解题思路1.我刚开始犯了个很大的错误,我以为K是我们输入的,是已知的。但是其实不是,这题错了其实也是怪我没看清楚题目就写了,写完才发现K是没给出来的。菜到安详,其他题也没时间写。。。2.这道题有个非常简单的解法,就是用set。通过分析,我们可以知道,如果有3个以上的不同的数字,例如...原创 2020-04-13 12:02:06 · 228 阅读 · 0 评论 -
宇宙射线 c++ || DFS
题目一个射线,初始方向向上。一段时间后会分裂,向该方向的左右45度分裂2条射线。宇宙射线会分裂那次,每次会前进ai个单位长度。输入描述第一行一个正整数 n (n<=30),表示分裂n次第二行包含n个正整数a1…an,分别表示在那个方向上会走多少个单位。样例输入44 2 2 3样例输出39思路我一开始用bfs写,但是失败了,后来改用dfs。dfs有8个方向,分别为 上...原创 2020-03-13 22:14:47 · 528 阅读 · 0 评论