算法学习专栏
>力争使本栏成为中文网最适于学习的算法专栏,欢迎提出建议!
>随时可能转移平台
>目前处于第一步
>撰写过程分三步:
1. 收集 将各种资料收集进来,没有逻辑
2. 整理 为专栏添加二级目录,整理逻辑
3. 成栏 专栏内容稳定且适于学习
trialley
C/C++、linux、系统底层与架构
展开
-
算法-程序设计课程week16-CSP-M4
文章目录原创 2020-06-11 19:26:41 · 168 阅读 · 0 评论 -
算法-程序设计课week14-实验
文章目录A - 猫睡觉问题题目样例思路心得代码A - 猫睡觉问题题目众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○]可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰!现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴!众所周原创 2020-06-11 14:17:02 · 111 阅读 · 0 评论 -
算法-程序设计课week12-CSP-M3
文章目录消消乐大师——Q老师题目描述输入输出样例范围思路心得代码咕咕东学英语题目描述输入输出样例提示范围思路心得代码消消乐大师——Q老师题目描述Q老师是个很老实的老师,最近在积极准备考研。Q老师平时只喜欢用Linux系统,所以Q老师的电脑上没什么娱乐的游戏,所以Q老师平时除了玩Linux上的赛车游戏SuperTuxKart之外,就是喜欢消消乐了。游戏在一个包含有n行m列的棋盘上进行,棋盘...原创 2020-06-11 13:11:53 · 201 阅读 · 0 评论 -
算法-程序设计课程week14-元素选择器
文章目录题目样例思路心得代码题目样例思路模拟题,跟文件目录那个题目类似。复杂度稍微小一点点,不过也不简单,需要考虑的细节很多。获取元素结构 根据空格获得层级 获得标识符 获得ID 保存元素进行匹配 匹配类型选择 匹配id选择心得我尝试了存储成树和用模拟栈的方法来存储,最后发现还是用模拟栈的方法存储写起来比较快树:每个元素只出现一次,通过指针进行连接栈:每个元素都保存自己从根部来的路径,这样利于搜索匹配。速度慢一些,但数据量比较小,因此无需担心超时。代原创 2020-06-11 11:26:48 · 116 阅读 · 0 评论 -
算法-程序设计课程week10-炉石传说
题目试题编号: 201609-3试题名称: 炉石传说时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:* 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 * 玩家各原创 2020-06-11 09:22:44 · 375 阅读 · 0 评论 -
算法-程序设计课week10 限时大模拟
题目描述TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。输入格式第一行一个数T(T≤100),表示数据组数。对于每组数据,第一行一个数m(2 ≤ m ≤ 20),表示TA的数量。对于每...原创 2020-05-04 09:09:48 · 213 阅读 · 0 评论 -
算法-程序设计课week9-作业
查多改少用缓存遍历比较复杂面向对象nb!读题设计整体框架设计原创 2020-05-03 18:13:59 · 247 阅读 · 0 评论 -
算法-程序设计课week10-作业
题目东东在玩游戏“Game23”。在一开始他有一个数字n,他的目标是把它转换成m,在每一步操作中,他可以将n乘以2或乘以3,他可以进行任意次操作。输出将n转换成m的操作次数,如果转换不了输出-1。Input输入的唯一一行包括两个整数n和m(1<=n<=m<=5*10^8).Output输出从n转换到m的操作次数,否则输出-1.Simple Input 1...原创 2020-04-28 11:06:50 · 260 阅读 · 0 评论 -
算法-程序设计课week8-CSP-路径解析
问题在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X、FreeBS...原创 2020-04-17 15:22:53 · 198 阅读 · 0 评论 -
算法-程序设计课week8-作业-C - 班长竞选
文章目录题目思路心得代码题目大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适 勤劳的 TT 收集了M条意见,想要知道最高票数,并给出一份候选人名单,即所有得票最多的同学,你能帮帮他吗?Input本题有多组数据。第一行 T 表示数据组数。每组数据开始有两个整数 N...原创 2020-04-17 14:38:53 · 330 阅读 · 0 评论 -
算法-程序设计课week8-模拟-C - 咕咕东的奇妙序列
文章目录题目思路心得代码题目有一个序列11212312341234512345612345671234567812345678912345678910······特点为由若干部分组成 每一部分si为1~i所有数字给出q(q<=500)次查询 每次查询给出一个数字ki(ki<=1018) 请给出序列中第ki个数字例如 第1项是1,第3项是2,第20项是 5,第38项是2,第5...原创 2020-04-17 14:17:01 · 167 阅读 · 0 评论 -
算法-程序设计课week6-限时大模拟 - 掌握魔法の东东 II Gym - 270437J
从瑞神家打牌回来后,东东痛定思痛,决定苦练牌技,终成赌神!东东有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为a,范围区间是 0 到 A - 1)和一个花色(整数,记为b,范围区间是 0 到 B - 1。扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。“一手牌”的意思是你手里有5张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成一个牌型。 我们...原创 2020-04-17 13:21:40 · 136 阅读 · 0 评论 -
算法-程序设计课week8-作业-B - 猫猫向前冲
文章目录题目思路心得代码题目众所周知, TT 是一位重度爱猫人士,他有一只神奇的魔法猫。有一天,TT 在 B 站上观看猫猫的比赛。一共有 N 只猫猫,编号依次为1,2,3,…,N进行比赛。比赛结束后,Up 主会为所有的猫猫从前到后依次排名并发放爱吃的小鱼干。不幸的是,此时 TT 的电子设备遭到了宇宙射线的降智打击,一下子都连不上网了,自然也看不到最后的颁奖典礼。不幸中的万幸,TT 的魔法...原创 2020-04-17 11:22:19 · 255 阅读 · 0 评论 -
算法-程序设计课week8-作业-A - 区间选点 II
文章目录题目思路心得代码题目给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点使用差分约束系统的解法解决这道题使用差分约束系统的解法解决这道题使用差分约束系统的解法解决这道题使用差分约束系统的解法解决这道题使用差分约束系统的解法解决这道题Input输入第一行一个整数 n 表示区间的个数,接下来的 n 行,每一行两...原创 2020-04-17 10:55:04 · 148 阅读 · 0 评论 -
算法-程序设计课week8-模拟-B - HRZ 学英语
文章目录题目思路心得代码题目瑞神今年大三了,他在寒假学会了英文的26个字母,所以他很兴奋!于是他让他的朋友TT考考他,TT想到了一个考瑞神的好问题:给定一个字符串,从里面寻找 连续的26个大写字母 并输出!但是转念一想,这样太便宜瑞神了,所以他加大了难度:现在给定一个字符串,字符串中包括26个大写字母和特殊字符’?’,特殊字符’?'可以代表任何一个大写字母。现在TT问你是否存在一个 位...原创 2020-04-12 15:20:34 · 139 阅读 · 0 评论 -
算法-程序设计课week8-模拟-A - HRZ 的序列
题意:题目描述相较于咕咕东,瑞神是个起早贪黑的好孩子,今天早上瑞神起得很早,刷B站时看到了一个序列 ,他对这个序列产生了浓厚的兴趣,他好奇是否存在一个k数 ,使得一些数加上k ,一些数减去 k,一些数不 变,使得整个序列中所有的数相等,其中对于序列中的每个位置上的数字,至多只能执行一次加运算或 减运算或是对该位置不进行任何操作。由于瑞神只会刷B站,所以他把这个问题交给了你!输入格式输...原创 2020-04-10 16:57:48 · 93 阅读 · 0 评论 -
算法-程序设计课week7-作业-C - TT 的美梦
文章目录题目原理思路代码心得题目这一晚,TT 做了个美梦!在梦中,TT 的愿望成真了,他成为了喵星的统领!喵星上有 N 个商业城市,编号 1 ~ N,其中 1 号城市是 TT 所在的城市,即首都。喵星上共有 M 条有向道路供商业城市相互往来。但是随着喵星商业的日渐繁荣,有些道路变得非常拥挤。正在 TT 为之苦恼之时,他的魔法小猫咪提出了一个解决方案!TT 欣然接受并针对该方案颁布了一项新...原创 2020-04-17 14:06:14 · 131 阅读 · 0 评论 -
算法-程序设计课week7-作业-B - TT 的旅行日记
文章目录题目思路代码心得题目众所周知,TT 有一只魔法猫。今天他在 B 站上开启了一次旅行直播,记录他与魔法猫在喵星旅游时的奇遇。 TT 从家里出发,准备乘坐猫猫快线前往喵星机场。猫猫快线分为经济线和商业线两种,它们的速度与价钱都不同。当然啦,商业线要比经济线贵,TT 平常只能坐经济线,但是今天 TT 的魔法猫变出了一张商业线车票,可以坐一站商业线。假设 TT 换乘的时间忽略不计,请你帮 ...原创 2020-04-17 13:48:15 · 213 阅读 · 0 评论 -
算法-程序设计课week7-作业-A - TT 的魔法猫
众所周知,TT 有一只魔法猫。这一天,TT 正在专心致志地玩《猫和老鼠》游戏,然而比赛还没开始,聪明的魔法猫便告诉了 TT 比赛的最终结果。TT 非常诧异,不仅诧异于他的小猫咪居然会说话,更诧异于这可爱的小不点为何有如此魔力?魔法猫告诉 TT,它其实拥有一张游戏胜负表,上面有 N 个人以及 M 个胜负关系,每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即 A 胜过 B,...原创 2020-04-08 10:10:56 · 127 阅读 · 0 评论 -
算法-程序设计课week6-作业-D - 数据中心
ExampleInput4511 2 31 3 41 4 52 3 83 4 2Output4思路最小生成树的问题,要获得每个最小生成树的最长边,用kruskal算法比较合适。这道题解法同样很有意思,求最长边最小的情况,我们只要从最小边开始构建生成树,那么最后一条加入生成树的边就一定是最大边。收获都是最小生成树的问题,不同算法却有不同用处,比如这次的kru...原创 2020-04-01 18:10:39 · 166 阅读 · 0 评论 -
算法-程序设计课week6-作业-C - 掌握魔法の东东 I
东东在老家农村无聊,想种田。农田有 n 块,编号从 1~n。种田要灌氵众所周知东东是一个魔法师,他可以消耗一定的 MP 在一块田上施展魔法,使得黄河之水天上来。他也可以消耗一定的 MP 在两块田的渠上建立传送门,使得这块田引用那块有水的田的水。 (1<=n<=3e2)黄河之水天上来的消耗是 Wi,i 是农田编号 (1<=Wi<=1e5)建立传送门的消耗是 Pij,i...原创 2020-04-01 16:47:58 · 276 阅读 · 0 评论 -
算法-程序设计课week6-作业-B - 戴好口罩!
新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称“新冠肺炎”,是指2019新型冠状病毒感染导致的肺炎。如果一个感染者走入一个群体,那么这个群体需要被隔离!小A同学被确诊为新冠感染,并且没有戴口罩!!!!!!危!!!时间紧迫!!!!需要尽快找到所有和小A同学直接或者间接接触过的同学,将他们隔离,防止更大范围的扩散。众所周知,学生的交际可能是...原创 2020-04-01 15:58:27 · 200 阅读 · 0 评论 -
算法-程序设计课week6-作业-A - 氪金带东
A - 氪金带东实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜的咕咕东在不久前刚刚遭受了宇宙射线的降智打击,请你帮帮他。提示: 样例输入对应这个图,从这个图中你可以看出,距离1号电脑最远的电脑是4号电脑,他们之间的距离...原创 2020-04-01 15:21:00 · 195 阅读 · 0 评论 -
算法-程序设计课-第 1 个[月模拟题]:201512-3 画图
试题编号: 201512-3试题名称: 画图时间限制: 1.0s内存限制: 256.0MB问题描述:用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 ..____.____..____..____...___.. ./.___/.___||.._.\|.._.\./._.\....原创 2020-03-27 10:39:42 · 171 阅读 · 0 评论 -
算法-程序设计课week5-作业
A - 最大矩形给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。Input输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= h...原创 2020-03-24 23:59:04 · 950 阅读 · 0 评论 -
算法-程序设计课week4-二分与贪心-作业
A - DDL 的恐惧ZJM 有 n 个作业,每个作业都有自己的 DDL,如果 ZJM 没有在 DDL 前做完这个作业,那么老师会扣掉这个作业的全部平时分。所以 ZJM 想知道如何安排做作业的顺序,才能尽可能少扣一点分。请你帮帮他吧!Input输入包含T个测试用例。输入的第一行是单个整数T,为测试用例的数量。每个测试用例以一个正整数N开头(1<=N<=1000),表示作业...原创 2020-03-16 01:10:35 · 381 阅读 · 0 评论 -
课堂笔记-数据结构课设week4
大量数据问题最热门10个查询串找出TopK两文件共同url查找两个文件中共同的url给A,B两个文件,各存放50亿条URL,每条URL占用64个字节,内存限制为4G,找出A,B中相同的URL。本题目题解参考博客:两个50亿url文件找出共同的url的个人思考解法@建安七子布隆过滤器第一种方法是用布隆过滤器,利用布隆过滤器的特性来获得相同URL,但这种方法有个问题,布隆过...原创 2020-03-15 18:06:32 · 94 阅读 · 0 评论 -
算法-程序设计课week4---模拟题
题目A - 咕咕东的奇遇咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。Inputzeus1Output181思路与心得这道题挺简...原创 2020-03-15 17:37:53 · 170 阅读 · 0 评论 -
算法-程序设计课week2---作业B - Pour Water POJ - 1606
B - Pour Water POJ - 1606倒水问题 “fill A” 表示倒满A杯,"empty A"表示倒空A杯,“pour A B” 表示把A的水倒到B杯并且把B杯倒满或A倒空。Input输入包含多组数据。每组数据输入 A, B, C 数据范围 0 < A <= B 、C <= B <=1000 、A和B互质。Output你的程序的输出将由一...原创 2020-03-08 20:16:05 · 187 阅读 · 0 评论 -
算法-程序设计课week2---作业A - Maze POJ - 3984
A - Maze POJ - 3984东东有一张地图,想通过地图找到妹纸。地图显示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹纸,这两个位置保证为0。既然已经知道了地图,那么东东找到妹纸就不难了,请你编一个程序,写出东东找到妹纸的最短路线。Input输入是一个5 × 5的二维数组,仅由0、1两数字组成,表示法阵地图。Output输出若干行,表示从左上角到右下角的最短...原创 2020-03-08 20:09:38 · 116 阅读 · 0 评论 -
算法-程序设计课week3---C - 区间覆盖(不支持C++11)
描述数轴上有 n (1<=n<=25000)个闭区间 [ai, bi],选择尽量少的区间覆盖一条指定线段 [1, t]( 1<=t<=1,000,000)。覆盖整点,即(1,2)+(3,4)可以覆盖(1,4)。不可能办到输出-1输入第一行:N和T第二行至N+1行: 每一行一个闭区间。输出选择的区间的数目,不可能办到输出-1样例输入3 101...原创 2020-03-08 19:08:05 · 129 阅读 · 0 评论 -
算法-程序设计课week3---B - 区间选点(编译器选GNU G++)POJ1328
B - 区间选点(编译器选GNU G++)POJ1328数轴上有 n 个闭区间 [a_i, b_i]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)Input第一行1个整数N(N<=100)第2~N+1行,每行两个整数a,b(a,b<=100)Output一个整数,代表选点的数目ExamplesInput21 54 6O...原创 2020-03-08 18:38:59 · 140 阅读 · 0 评论 -
算法-程序设计课week3---A - 选数问题
A - 选数问题Given n positive numbers, ZJM can select exactly K of them that sums to S. Now ZJM wonders how many ways to get it!InputThe first line, an integer T<=100, indicates the number of test...原创 2020-03-08 18:18:19 · 128 阅读 · 0 评论 -
算法-程序设计课week2---C:POJ - 1786
牌局由四个人构成,围成一圈。我们称四个方向为北 东 南 西。对应的英文是North,East,South,West。游戏一共由一副扑克,也就是52张构成。开始,我们指定一位发牌员(东南西北中的一个,用英文首字母标识)开始发牌,发牌顺序为顺时针,发牌员第一个不发自己,而是发他的下一个人(顺时针的下一个人)。这样,每个人都会拿到13张牌。现在我们定义牌的顺序,首先,花色是(梅花)<(方片)&...原创 2020-02-29 16:16:48 · 248 阅读 · 0 评论 -
算法-程序设计课week2---B:HDU - 2093
程序设计思维作业和实验使用的实时评测系统,具有及时获得成绩排名的特点,那它的功能是怎么实现的呢?我们千辛万苦怼完了不忍直视的程序并提交以后,评测系统要么返回AC,要么是返回各种其他的错误,不论是怎样的错法,它总会给你记上一笔,表明你曾经在这儿被坑过,而当你历经千辛终将它AC之后,它便会和你算笔总账,表明这题共错误提交了几次。在岁月的长河中,你通过的题数虽然越来越多,但通过每题时你所共花去的时...原创 2020-02-29 16:09:58 · 227 阅读 · 0 评论 -
算法-程序设计课week2---A:Gym-270437A
化学很神奇,以下是烷烃基。假设如上图,这个烷烃基有6个原子和5个化学键,6个原子分别标号1~6,然后用一对数字 a,b 表示原子a和原子b间有一个化学键。这样通过5行a,b可以描述一个烷烃基你的任务是甄别烷烃基的类别。原子没有编号方法,比如1 22 33 44 55 6和1 32 32 44 55 6是同一种,本质上就是一条链,编号其实是没有关系的,可以在纸上画画就...原创 2020-02-29 16:03:39 · 166 阅读 · 0 评论 -
算法-程序设计课week1---1-IO
本着 “代码即注释,注释即文档” 的写作思路,本文将尽量把代码和注释都写得简洁易懂。这是《程序设计思维与实践》课程第一周试验的IO部分。这部分包含了算法题目中输入输出的大部分情况,掌握这些也就基本掌握了输入输出的思路。另外关于stdio与iostream效率与简便性之争,我之前也在纠结,但一番实验做下来,我觉得stdio就是神器,还要啥自行车啊:-)。A - IO1计算a+bI...原创 2020-02-23 09:00:05 · 265 阅读 · 0 评论