算法和数据结构
MissXy_
一定要记着,在不久的将来,你所有的付出都会有所回报的!
展开
-
ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)
0.头文件#define _CRT_SBCURE_NO_DEPRECATE#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn =转载 2017-10-11 16:47:30 · 698 阅读 · 0 评论 -
[编程题]会话列表
[编程题]会话列表 小云正在参与开发一个即时聊天工具,他负责其中的会话列表部分。 会话列表为显示为一个从上到下的多行控件,其中每一行表示一个会话,每一个会话都可以以一个唯一正整数id表示。 当用户在一个会话中发送或接收信息时,如果该会话已经在会话列表中,则会从原来的位置移到列表的最上方;如果没有在会话列表中,则在会话列表最上方插入该会话。 小云在现在要做的工作是测试,他会先把会...原创 2019-09-02 17:43:19 · 584 阅读 · 0 评论 -
[编程题]一封奇怪的信
[编程题]一封奇怪的信 现在你需要用一台奇怪的打字机书写一封书信。信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个字母的宽度均会事先约定。例如字符宽度约定为[1,2,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],那么就代表'a'到'd'...原创 2019-09-02 20:30:14 · 658 阅读 · 0 评论 -
[编程题]糖果谜题
[编程题]糖果谜题 小明是幼儿园的一名老师。某天幼儿园园长给小朋友们每人发一颗糖果,小朋友们拿到后发现有一些同学拿到的糖果颜色和自己相同,有一些同学糖果颜色和自己不同。 假定每个小朋友只知道有多少同学和自己拿到了相同颜色的糖果。 上课后,有一部分小朋友兴奋的把这一结果告诉小明老师,并让小明老师猜一猜,最少有多少同学拿到了糖果。 例如有三个小朋友告诉小明老师这一结果如下: ...原创 2019-09-02 21:31:14 · 1464 阅读 · 0 评论 -
[编程题]字符迷阵
[编程题]字符迷阵 注意:本题允许使用C/C++/Java/python进行解答,其他编程语言提交均视作无效处理。 字符迷阵是一种经典的智力游戏。玩家需要在给定的矩形的字符迷阵中寻找特定的单词。 在这题的规则中,单词是如下规定的: 1. 在字符迷阵中选取一个字符作为单词的开头; 2. 选取右方、下方、或右下45度方向作为单词的延伸方向; 3. 以开头的...原创 2019-09-03 19:27:42 · 454 阅读 · 0 评论 -
[编程题]香槟塔
[编程题]香槟塔节日到啦,牛牛和妞妞邀请了好多客人来家里做客。 他们摆出了一座高高的香槟塔,牛牛负责听妞妞指挥,往香槟塔里倒香槟。 香槟塔有个很优雅的视觉效果就是如果这一层的香槟满了,就会从边缘处往下一层流去。 妞妞会发出两种指令,指令一是往第x层塔内倒体积为v的香槟,指令二是询问第k层塔香槟的体积为多少。 告诉你香槟塔每层香槟塔的初始容量,你能帮牛牛快速回答妞妞的询问吗? 输入描述...原创 2019-09-03 21:23:48 · 672 阅读 · 0 评论 -
[编程题]丰收
[编程题]丰收又到了丰收的季节,恰逢小易去牛牛的果园里游玩。 牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。 牛牛觉得这个问题太简单,所以希望你来替他回答。输入描述:第一行一个数n(1 <= n <= 105)。第二行n个数ai(1 <= ai&nb...原创 2019-09-04 13:59:15 · 392 阅读 · 0 评论 -
[编程题]表达式求值
[编程题]表达式求值 今天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如: 12341+2*3=71*(2+3)=51*2*3=6(1+2)*3=9 现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加"+", "*", "(", ")"符号,能够获得的最大值。 输入描述:一行三个数a,b,c (1 &l...原创 2019-09-04 15:00:20 · 1228 阅读 · 0 评论 -
[编程题]瞌睡
[编程题]瞌睡小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着,你可以叫醒他一次,这会使得他在接下来的k分钟内保持清醒。你需要选择一种方案最大化小易这堂课听到的知识点分值。输入描述:第一行 n, k (1 <= n, k &...原创 2019-09-04 16:11:56 · 351 阅读 · 0 评论 -
[编程题]最佳配对
[编程题]最佳配对给定两个长度为N的整型数组A和B。如果Ai==Bj则认为(i,j)为最佳配对。所有的最佳配对在满足以下条件的情况下组成最佳配对集合:A和B中的各个元素最多在集合中出现一次。例如,A =「5, 10, 11,12, 14」,B = 「8, 9 ,11, 11, 5」,配对集合为「(0,4),(2,2),(2,3)」,因为在集合A中索引2出现了两次,所以上面的配对集合不是最佳配对...原创 2019-09-04 20:53:17 · 974 阅读 · 0 评论 -
[编程题]回文数索引
[编程题]回文数索引给定一个仅由小写字母组成的字符串。现在请找出一个位置,删掉那个字母之后,字符串变成回文。请放心总会有一个合法的解。如果给定的字符串已经是一个回文串,那么输出-1。输入描述:第一行包含T,测试数据的组数。后面跟有T行,每行包含一个字符串。输出描述:如果可以删去一个字母使它变成回文串,则输出任意一个满足条件的删去字母的位置(下标从0开始)。例如:bcc我们可以删掉...原创 2019-09-04 20:58:23 · 514 阅读 · 0 评论 -
[编程题]城市修建
[编程题]城市修建 有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形) 输入描述:第一行为N,表示民居数目(2≤N≤1000)输出描述:城市所需最小面积输入例子1:20 02 2输出例子1:4输入例子2:20 00 3输出例子2:9代码#include<b...原创 2019-09-04 23:59:58 · 867 阅读 · 0 评论 -
[编程题]圈地运动
[编程题]圈地运动 圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形~ 小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来。小红想挑战一下小明,所以给小明设置了一些障碍。障碍分别是: 1.如果小明要买第i块木棍的话,他就必须把前i-1块木棍都买下来。 2.买了的木棍都必须用在圈地运动中。 那么请问小明最少买多少根木棍,才能使得木棍围成的图形是个...原创 2019-09-05 00:36:41 · 783 阅读 · 0 评论 -
[编程题]字符串编码
[编程题]字符串编码给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。输入描述:每个测试输入包含1个测试用例每个测试用例输入只有一行字符串,字符串只包括大写英文字母,长度不超过10000。输出描述:输出编码后的字符串输入例子1:AAAABCCDAA输出例子1:4A1B2C1D2A...原创 2019-09-05 21:27:13 · 771 阅读 · 0 评论 -
[编程题]时钟
[编程题]时钟 注意:本题允许使用C/C++/Java/python进行解答,其他编程语言提交均视作无效处理。 小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘01’…‘23’],分的范围为[‘00’,‘01’…‘59’],秒的范围为[‘00’,‘01’…‘59’]。 ...原创 2019-09-02 16:53:54 · 1134 阅读 · 0 评论 -
[编程题]俄罗斯方块
[编程题]俄罗斯方块小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。 荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。 有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得...原创 2019-09-01 00:02:00 · 524 阅读 · 0 评论 -
[牛客网]纸牌游戏
[编程题]纸牌游戏 牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌, 第i张纸牌上写着数字ai。 牛牛和羊羊轮流抽牌, 牛牛先抽, 每次抽牌他们可以从纸牌堆中任意选择一张抽出, 直到纸牌被抽完。 他们的得分等于他们抽到的纸牌数字总和。 现在假设牛牛和羊羊都采用最优策略, 请你计算出游戏结束后牛牛得分减去羊羊得分等于多少。 输入描述:输入包括两行。第一行包括一个正整数n(1 <...原创 2019-08-07 11:59:58 · 1031 阅读 · 0 评论 -
KMP 算法(1):如何理解 KMP
前言:发现一篇风格和内容我都很喜欢的博客,分享给大家:https://61mon.com/index.php/archives/183/KMP 算法(1):如何理解 KMPKMP 算法(2):其细微之处一:背景展开目录给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题。Knuth-Morris-Pratt 算法转载 2017-11-14 21:50:40 · 307 阅读 · 0 评论 -
十大编程算法助程序员走上高手之路
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2017-11-15 16:13:32 · 245 阅读 · 0 评论 -
常用的算法技巧
常用的算法技巧文章目录常用的算法技巧1.巧用数组下标2. 巧用取余3. 巧用双指针4. 巧用移位运算。5. 设置哨兵位6. 与递归有关的一些优化总结一下1.巧用数组下标数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候,如果字母a遍历到,则arr[a]就可以...转载 2018-11-02 20:33:24 · 306 阅读 · 0 评论 -
PAT 刷题一些技巧总结(C/C++)
PAT 刷题一些技巧总结(C/C++)文章目录PAT 刷题一些技巧总结(C/C++)1. 输入格式1.1 输入样例11.2 输入样例21.3 输入样例32 输出问题3 数字统计问题未完待续……作为一名弱鸡,本人技术较菜,木怪。1. 输入格式1.1 输入样例1例如,输入3名同学的成绩,第一行为几名同学,后面为成绩。3455433可以使用这样的代码:cin&amp;amp;amp;gt;&amp;amp;amp;gt; ...原创 2019-01-16 21:04:10 · 3311 阅读 · 2 评论 -
牛客网 --- [编程题]回文解码
[编程题]回文解码 现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的,你可以从样例中得到更多信息。 输入描述:每组测试用例仅包含一组数据,每组数据第一行为原字符串...原创 2019-02-26 08:55:01 · 388 阅读 · 0 评论 -
一张图搞懂递归
一张图搞懂递归关于递归,自己在纸上推了半天能绕半天,终于看到一张足以清晰的图了。膜拜!!!Recursion例1,计算n!n!= 1 * 2 * 3 * ... * n代码:int Factorial(n){ if (n <= 1) return 1; return n * Factorial(n-1);}DuangDuangDuang 重点来啦~例2,计...原创 2019-04-23 20:16:19 · 3015 阅读 · 0 评论 -
[牛客网] 万万没想到之聪明的编辑
[编程题] 万万没想到之聪明的编辑我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字...原创 2019-06-20 10:19:33 · 1773 阅读 · 0 评论 -
[牛客网]万万没想到之抓捕孔连顺
[编程题]万万没想到之抓捕孔连顺我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!……万万没想到...原创 2019-06-20 15:56:02 · 4203 阅读 · 4 评论 -
[牛客网] 特征提取
[编程题] 特征提取 小明是一名算法工程师,同时也是一名铲屎官。某天,他突发奇想,想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vector<x, y>。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。 ...原创 2019-06-21 09:57:28 · 1171 阅读 · 3 评论 -
[牛客网] 找零
[编程题] 找零Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为的商品,请问最少他会收到多少硬币?输入描述:一行,包含一个数N。输出描述:一行,包含一个数,表示最少收到的硬币数。输入例子1:200输出例子1:17例子说明1:花200,需要找零824块,找12个64元硬币,3个16...原创 2019-06-21 17:13:50 · 667 阅读 · 0 评论 -
[牛客网]翻转数列
[编程题]翻转数列小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算...原创 2019-08-07 11:28:23 · 411 阅读 · 0 评论 -
[编程题]最大和
[编程题]最大和在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值输入描述:每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D :3 <= N <= 1001 <= D <= N接下来有N行,每行N个数字d:0 <= d <= 100输出描述:输出一个整数,表示找到的和的最大...原创 2019-09-06 01:01:16 · 386 阅读 · 0 评论