
程序设计思维与实践
TANTA(╯‵□′)╯︵┻━┻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【模拟】猫睡觉问题
问题众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○]可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰!现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴!众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小时。原创 2020-06-05 15:12:32 · 170 阅读 · 0 评论 -
【csp-M3】
T1思路直接求相邻数不同的个数。代码#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iomanip>using namespace std;#define rep(i,s,t) for(int i=s;i<=t;i++)原创 2020-06-05 14:44:13 · 303 阅读 · 0 评论 -
【CSP-M4】
T1题解对于每一个数,循环每一位统计不同数的个数,判断是否小于k,是则答案数+1代码#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<iomanip>using namespace st原创 2020-06-05 09:46:58 · 238 阅读 · 0 评论 -
【01背包记录路径】东东开车了
题面东东开车出去泡妞(在梦中),车内提供了 n 张CD唱片,已知东东开车的时间是 n 分钟,他该如何去选择唱片去消磨这无聊的时间呢假设:CD数量不超过20张没有一张CD唱片超过 N 分钟每张唱片只能听一次唱片的播放长度为整数N 也是整数我们需要找到最能消磨时间的唱片数量,并按使用顺序输出答案(必须是听完唱片,不能有唱片没听完却到了下车时间的情况发生)本题是 Special Jud...原创 2020-05-02 18:15:42 · 197 阅读 · 0 评论 -
【多重背包】东东与 ATM
问题描述一家银行计划安装一台用于提取现金的机器。机器能够按要求的现金量发送适当的账单。机器使用正好N种不同的面额钞票,例如D_k,k = 1,2,…,N,并且对于每种面额D_k,机器都有n_k张钞票。例如,N = 3,n_1 = 10,D_1 = 100,n_2 = 4,D_2 = 50,n_3 = 5,D_3 = 10表示机器有10张面额为100的钞票、4张面额为50的钞票、5...原创 2020-05-02 18:06:12 · 161 阅读 · 0 评论 -
【T1T2】签到题集合
1题面1题解没啥好说的直接求,注意坑点是房子涨价滞后于蒜头君攒钱,感觉这是常识性问题。1代码#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#incl...原创 2020-05-02 17:58:30 · 215 阅读 · 0 评论 -
【模拟】东东转魔方
问题描述东东有一个二阶魔方,即2×2×2的一个立方体组。立方体由八个角组成。魔方的每一块都用三维坐标(h, k, l)标记,其中h, k, l∈{0,1}。六个面的每一个都有四个小面,每个小面都有一个正整数。对于每一步,东东可以选择一个特定的面,并把此面顺时针或逆时针转90度。请你判断,是否东东可以在一个步骤还原这个魔方(每个面没有异色)。Input输入的第一行包含一个整数N(N≤30...原创 2020-05-02 17:35:49 · 178 阅读 · 0 评论 -
【T1T2】签到题
Problem Statement东东有一个字符串X,该串包含偶数个字符,一半是 S 字符,一半是 T 字符东东可以对该字符串执行 1010000 次操作:如果存在 ST 是该串的子串,则删除掉最左边的 ST。即 TSTTSS⇒TTSS、SSSTTT⇒SSTT⇒ST⇒空Input(2 ≦ |X| ≦ 200,000)Output输出最终串的长度SampleSample Input...原创 2020-05-02 17:20:59 · 298 阅读 · 0 评论 -
【DP】拿数问题II
问题描述YJQ 上完第10周的程序设计思维与实践后,想到一个绝妙的主意,他对拿数问题做了一点小修改,使得这道题变成了 拿数问题 II。给一个序列,里边有 n 个数,每一步能拿走一个数,比如拿第 i 个数, Ai = x,得到相应的分数 x,但拿掉这个 Ai 后,x+1 和 x-1 (如果有 Aj = x+1 或 Aj = x-1 存在) 就会变得不可拿(但是有 Aj = x 的话可以继续拿这个...原创 2020-05-02 17:12:58 · 198 阅读 · 0 评论 -
【DP】LIS&LCS
问题描述(注:LIS为最长上升子序列,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个数...原创 2020-05-02 17:05:05 · 166 阅读 · 0 评论 -
【模拟】咕咕东的目录管理器
问题描述咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 —— 这工程量太大了,所以他定了一个小目标,从实现一个目录管理器开始。前些日子,东东的电脑终于因为过度收到宇宙射线的影响而宕机,无法写代码。他的好友TT正忙着在B站看猫片,另一位好友瑞神正忙着打守望先锋。现在只有你能帮助东东!初始时,咕咕东的硬盘是空的,命令行的当前目...原创 2020-05-02 16:10:43 · 128 阅读 · 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-05-02 15:46:50 · 153 阅读 · 0 评论 -
【模拟】炉石传说
问题描述《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:* 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 * 玩家各控制一个英雄...原创 2020-05-02 15:02:33 · 314 阅读 · 0 评论 -
【模拟】元素选择器
问题描述思路本题的关键点是元素和id的存储和查询,由于查询有两种格式的数据,且要求元素大小写不敏感,所以要设计n*2数据存储每行数据的元素和id,且存储和查询的过程中用change把元素转化成小写。由于元素查询有多级选择,在n2n^2n2的复杂度内考虑遍历所有行的元素或id,一旦等于后代选择器要求的最后一个元素,自底向上查看他的祖先是否含有选择器中的祖先序列,有则当前行元素或id满足...原创 2020-05-02 14:50:12 · 337 阅读 · 0 评论 -
【缩点】班长竞选
问题描述大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适 勤劳的 TT 收集了M条意见,想要知道最高票数,并给出一份候选人名单,即所有得票最多的同学,你能帮帮他吗?Input本题有多组数据。第一行 T 表示数据组数。每组数据开始有两个整数 N 和 M (2 <= ...原创 2020-04-17 09:45:26 · 156 阅读 · 0 评论 -
【差分约束】区间选点 II
问题描述给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点。Input输入第一行一个整数 n 表示区间的个数,接下来的 n 行,每一行两个用空格隔开的整数 a,b 表示区间的左右端点。1 <= n <= 50000, 0 <= ai <= bi <= 50000 并且 1 <= ci <=...原创 2020-04-17 09:38:28 · 142 阅读 · 0 评论 -
【数学】咕咕东的奇妙序列
题解可以观察出奇妙序列的一些数学规律,如奇妙序列的长度和末尾数nnn的关系,每一个区间[1,i][1,i][1,i]中前jjj个数的长度。故我们分成三步,第一步是求解kkk所在的[1,i][1,i][1,i]区间,之后再在这一段区间里求解具体的数字,之后直接取出对应的数字即可。先求出[1,i][1,i][1,i]的长度规律,可以发现:1<=i<=9, len=i;1...原创 2020-04-15 14:46:29 · 245 阅读 · 0 评论 -
【SPFA负边权】TT 的美梦
问题描述这一晚,TT 做了个美梦!在梦中,TT 的愿望成真了,他成为了喵星的统领!喵星上有 N 个商业城市,编号 1 ~ N,其中 1 号城市是 TT 所在的城市,即首都。喵星上共有 M 条有向道路供商业城市相互往来。但是随着喵星商业的日渐繁荣,有些道路变得非常拥挤。正在 TT 为之苦恼之时,他的魔法小猫咪提出了一个解决方案!TT 欣然接受并针对该方案颁布了一项新的政策。具体政策如下:对每...原创 2020-04-03 09:50:40 · 153 阅读 · 0 评论 -
【Dijkstra】TT 的旅行日记
问题描述众所周知,TT 有一只魔法猫。今天他在 B 站上开启了一次旅行直播,记录他与魔法猫在喵星旅游时的奇遇。 TT 从家里出发,准备乘坐猫猫快线前往喵星机场。猫猫快线分为经济线和商业线两种,它们的速度与价钱都不同。当然啦,商业线要比经济线贵,TT 平常只能坐经济线,但是今天 TT 的魔法猫变出了一张商业线车票,可以坐一站商业线。假设 TT 换乘的时间忽略不计,请你帮 TT 找到一条去喵星机场...原创 2020-04-03 09:33:52 · 168 阅读 · 0 评论 -
【Floyed求传递闭包】TT 的魔法猫
问题描述众所周知,TT 有一只魔法猫。这一天,TT 正在专心致志地玩《猫和老鼠》游戏,然而比赛还没开始,聪明的魔法猫便告诉了 TT 比赛的最终结果。TT 非常诧异,不仅诧异于他的小猫咪居然会说话,更诧异于这可爱的小不点为何有如此魔力?魔法猫告诉 TT,它其实拥有一张游戏胜负表,上面有 N 个人以及 M 个胜负关系,每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即 A 胜...原创 2020-04-03 09:18:01 · 138 阅读 · 0 评论 -
【小模拟】画图
问题描述 本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作: · 画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起见题目保证要画的每条线段都是水平或者竖直的。水平线段用字符 - 来画,竖直线段用字符 | 来画。如果一条水平线段和一条竖直线段在某个位置相交,则相交位置用字符 + 代替。 · 填充:给出填充的起始位置坐标和需要填充的字符,从起始位置开始,用...原创 2020-04-03 08:58:44 · 134 阅读 · 0 评论 -
【模拟】路径解析
问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X、F...原创 2020-04-03 08:39:35 · 347 阅读 · 0 评论 -
【最小生成树】数据中心
ExampleInput4511 2 31 3 41 4 52 3 83 4 2Output4思路题干很长,但核心问题只有一句话,就是求整个图的最小最大边。当然可以用二分答案,但是最小生成树完全可以解决。因为最小生成树的贪心策略是每次尽可能选小的边,如果有更小的边可以替换,那么它一定不会构成环,则更小的边早就被使用了。所以最小生成树中最大的边最小。代码#inc...原创 2020-03-27 18:05:25 · 118 阅读 · 0 评论 -
【最小生成树】掌握魔法の东东 I
问题描述东东在老家农村无聊,想种田。农田有 n 块,编号从 1~n。种田要灌氵众所周知东东是一个魔法师,他可以消耗一定的 MP 在一块田上施展魔法,使得黄河之水天上来。他也可以消耗一定的 MP 在两块田的渠上建立传送门,使得这块田引用那块有水的田的水。 (1<=n<=3e2)黄河之水天上来的消耗是 Wi,i 是农田编号 (1<=Wi<=1e5)建立传送门的消耗是 P...原创 2020-03-27 17:54:18 · 193 阅读 · 0 评论 -
【并查集】带好口罩
问题描述新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称“新冠肺炎”,是指2019新型冠状病毒感染导致的肺炎。如果一个感染者走入一个群体,那么这个群体需要被隔离!小A同学被确诊为新冠感染,并且没有戴口罩!!!!!!危!!!时间紧迫!!!!需要尽快找到所有和小A同学直接或者间接接触过的同学,将他们隔离,防止更大范围的扩散。众所周知,学生的交...原创 2020-03-27 17:35:54 · 189 阅读 · 1 评论 -
【单调队列】滑动窗口
题面Input输入有两行。第一行两个整数n和k分别表示数列的长度和滑动窗口的大小,1<=k<=n<=1000000。第二行有n个整数表示ZJM的数列。Output输出有两行。第一行输出滑动窗口在从左到右的每个位置时,滑动窗口中的最小值。第二行是最大值。ExamplesSample Input8 31 3 -1 -3 5 3 6 7Sample Output...原创 2020-03-27 17:04:23 · 223 阅读 · 0 评论 -
【前缀和】平衡字符串
题面一个长度为 n 的字符串 s,其中仅包含 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符。如果四种字符在字符串中出现次数均为 n/4,则其为一个平衡字符串。现可以将 s 中连续的一段子串替换成相同长度的只包含那四个字符的任意字符串,使其变为一个平衡字符串,问替换子串的最小长度?如果 s 已经平衡则输出0。Input一行字符表示给定的字符串s(length<=105且 mod ...原创 2020-03-27 16:42:58 · 289 阅读 · 0 评论 -
【差分】TT's Magic Cat
题面大致意思是有多个区间修改操作,对[l,r]内的数加上或减去c。InputOutputExamplesInput4 2-3 6 8 44 4 -23 3 1Output-3 6 9 2Input2 15 -21 2 4Output9 2Input1 201 1 -81 1 -6Output-14思路只修改不查询或者修改和查询...原创 2020-03-27 15:59:55 · 127 阅读 · 0 评论 -
【单调栈】最大矩形
问题描述给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。Input&OutputInput输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足...原创 2020-03-27 15:15:28 · 244 阅读 · 0 评论 -
【小模拟】掌握魔法の东东 II
问题描述从瑞神家打牌回来后,东东痛定思痛,决定苦练牌技,终成赌神!东东有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为a,范围区间是 0 到 A - 1)和一个花色(整数,记为b,范围区间是 0 到 B - 1。扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。“一手牌”的意思是你手里有5张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成一个牌型...原创 2020-03-27 14:15:14 · 116 阅读 · 0 评论 -
【树形DP】氪金带东
题目描述实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜的咕咕东在不久前刚刚遭受了宇宙射线的降智打击,请你帮帮他。提示: 样例输入对应这个图,从这个图中你可以看出,距离1号电脑最远的电脑是4号电脑,他们之间的距离是3。 4...原创 2020-03-26 00:22:52 · 237 阅读 · 1 评论 -
【记忆化搜索】可怕的宇宙射线
问题描述InputOutputSample思路代码#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iomanip>#...原创 2020-03-20 09:45:58 · 109 阅读 · 0 评论 -
【贪心】咕咕东想吃饭
问题描述咕咕东考试周开始了,考试周一共有n天。他不想考试周这么累,于是打算每天都吃顿好的。他决定每天都吃生煎,咕咕东每天需要买ai个生煎。但是生煎店为了刺激消费,只有两种购买方式:①在某一天一次性买两个生煎。②今天买一个生煎,同时为明天买一个生煎,店家会给一个券,第二天用券来拿。没有其余的购买方式,这两种购买方式可以用无数次,但是咕咕东是个节俭的好孩子,他训练结束就走了,不允许训练结束时手里有券...原创 2020-03-20 09:31:59 · 105 阅读 · 0 评论 -
【模拟】咕咕东的奇遇
问题描述咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。Input输入只有一行,是一个字符串。Output...原创 2020-03-20 09:21:43 · 83 阅读 · 0 评论 -
【二分答案】TT的神秘礼物
问题描述TT 是一位重度爱猫人士,每日沉溺于 B 站上的猫咪频道。有一天,TT 的好友 ZJM 决定交给 TT 一个难题,如果 TT 能够解决这个难题,ZJM 就会买一只可爱猫咪送给 TT。任务内容是,给定一个 N 个数的数组 cat[i],并用这个数组生成一个新数组 ans[i]。新数组定义为对于任意的 i, j 且 i != j,均有 ans[] = abs(cat[i] - cat[j...原创 2020-03-20 09:07:10 · 191 阅读 · 0 评论 -
【二分】四个数列
问题描述ZJM 有四个数列 A,B,C,D,每个数列都有 n 个数字。ZJM 从每个数列中各取出一个数,他想知道有多少种方案使得 4 个数的和为 0。当一个数列中有多个相同的数字的时候,把它们当做不同的数对待。请你帮帮他吧!Input第一行:n(代表数列中数字的个数,1≤n≤4000)接下来的 n 行中,第 i 行有四个数字,分别表示数列 A,B,C,D 中的第 i 个数字(数字不超过...原创 2020-03-20 08:56:12 · 227 阅读 · 0 评论 -
【贪心】DDL的恐惧
问题描述ZJM 有 n 个作业,每个作业都有自己的 DDL,如果 ZJM 没有在 DDL 前做完这个作业,那么老师会扣掉这个作业的全部平时分。所以 ZJM 想知道如何安排做作业的顺序,才能尽可能少扣一点分。请你帮帮他吧!Input输入包含T个测试用例。输入的第一行是单个整数T,为测试用例的数量。每个测试用例以一个正整数N开头(1<=N<=1000),表示作业的数量。然后两...原创 2020-03-20 08:45:04 · 97 阅读 · 0 评论 -
【贪心算法】区间覆盖
问题描述数轴上有 n (1<=n<=25000)个闭区间 [ai, bi],选择尽量少的区间覆盖一条指定线段 [1, t]( 1<=t<=1,000,000)。覆盖整点,即(1,2)+(3,4)可以覆盖(1,4)。不可能办到输出-1。Input第一行:N和T第二行至N+1行: 每一行一个闭区间。Output输出选择的区间的数目,不可能办到输出-1Examp...原创 2020-03-06 10:40:46 · 328 阅读 · 0 评论 -
【贪心算法】区间选点
问题描述数轴上有 n 个闭区间 [a_i, b_i]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。Input第一行1个整数N(N<=100)第2~N+1行,每行两个整数a,b(a,b<=100)Output一个整数,代表选点的数目ExampleInput21 54 6Output1思路贪心思想,解法是每一个点尽可能覆盖更...原创 2020-03-06 10:29:37 · 386 阅读 · 0 评论 -
【经典dfs模板题】选数问题
题目描述给你n个数,取出k个使得加起来的和为s,求所有情况。Input第一行给出输入数据组数T。对于每组数据,共有两行,第一行是n,k,s。第二行是n个数据(保证互不相同)。output每组数据输出独立一行的结果。思路经典dfs模板问题,dfs每层选取第i个数,直到选取k个数,由于本题结果是无序的,所以每一层的选择范围要求最后选数序列是递增的,故对所有数进行排序,同时dfs函数加一个...原创 2020-03-06 10:08:23 · 241 阅读 · 0 评论