数据结构
Youkiup
这个作者很懒,什么都没留下…
展开
-
3.6 完全平方数(upper_bound&lower_bound)
第6节 完全平方数多次查询[l,r]范围内的完全平方数个数定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出一个数表示答案示例1输入51 31 42 44 41 1000000000输出121131622备注:n <= 1000000<= l <= r <= 1000000000#include <bits/stdc++.h>原创 2021-10-16 10:57:59 · 107 阅读 · 0 评论 -
牛客2.1 Laptop
第2节 LaptopFST是一名可怜的小朋友,他很强,但是经常fst,所以rating一直低迷。但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。输入描述:第一行一个正整数n,表示笔记本的数量。接下来n行,每行两个正整数Mi,Si表示这款笔记本的原创 2021-08-16 22:48:09 · 105 阅读 · 0 评论 -
牛客2.4简单的数据结构(双端队列)
第4节 简单的数据结构栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题。该数据结构形如长条形。一开始该容器为空,有以下七种操作。1 a从前面插入元素a2 从前面删除一个元素3 a从后面插入一个元素4 从后面删除一个元素5 将整个容器头尾翻转6 输出个数和所有元素7 对所有元素进行从小到大排序输入描述:只有一组数据,第一行n≤50000,m≤200000, a≤100000 代表最大数据数目和操作次数。接下来每一行一个操作如上描述。保证所有操作合法(不会在容器为空时删除元素)原创 2021-08-17 01:09:06 · 124 阅读 · 0 评论 -
牛客2.5栈和排序
第5节 栈和排序给你一个1->n的排列和一个栈,入栈顺序给定你要在不打乱入栈顺序的情况下,对数组进行从大到小排序当无法完全排序时,请输出字典序最大的出栈序列输入描述:第一行一个数n第二行n个数,表示入栈的顺序,用空格隔开,结尾无空格输出描述:输出一行n个数表示答案,用空格隔开,结尾无空格示例1输入52 1 5 3 4输出5 4 3 1 2说明2入栈;1入栈;5入栈;5出栈;3入栈;4入栈;4出栈;3出栈;1出栈;2出栈思路:从全局找出第i个数后面的最大值,如果第i个原创 2021-08-17 01:53:09 · 242 阅读 · 0 评论 -
牛客2.7 全排列 next_permutation
第7节 老子的全排列呢老李见和尚赢了自己的酒,但是自己还舍不得,所以就耍起了赖皮,对和尚说,光武不行,再来点文的,你给我说出来1-8的全排序,我就让你喝,这次绝不耍你,你能帮帮和尚么?输入描述:无输出描述:1~8的全排列,按照全排列的顺序输出,每行结尾无空格。示例1输入No_Input输出Full arrangement of 1~8备注:1~3的全排列 :1 2 31 3 22 1 32 3 13 1 23 2 1P:next_permutation(begin原创 2021-08-17 02:20:53 · 301 阅读 · 0 评论 -
牛客2.10 小C的记事本(栈)
第10节 小C的记事本小C最近学会了java小程序的开发,他很开心,于是想做一个简单的记事本程序练练手。他希望他的记事本包含以下功能:1、append(str),向记事本插入字符串 str(英文字符)2、delete(k),删除记事本最后k个字符(保证不为空串)3、print(k),输出记事本第k个字符(保证不为空串)4、undo(),撤销最近的1(或者)操作,使记事本回到1(或者2)操作之前的状态可怜的小C琢磨了半天还是做不来,聪明的你能解决小C的问题吗?输入描述:多组输入第一行输入一原创 2021-08-17 14:19:33 · 153 阅读 · 0 评论 -
牛客 2.14 指纹锁(set)
第14节 指纹锁HA实验有一套非常严密的安全保障体系,在HA实验基地的大门,有一个指纹锁。该指纹锁的加密算法会把一个指纹转化为一个不超过1e7的数字,两个指纹数值之差越小,就说明两个指纹越相似,当两个指纹的数值差≤k时,这两个指纹的持有者会被系统判定为同一个人。现在有3种操作,共m个,操作1:add x,表示为指纹锁录入一个指纹,该指纹对应的数字为x,如果系统内有一个与x相差≤k的指纹,则系统会忽略这次添加操作操作2:del x,表示删除指纹锁中的指纹x,若指纹锁中多个与x相差≤k的指纹,则全部删原创 2021-08-22 11:31:35 · 450 阅读 · 0 评论 -
牛客 2.15 新建 Microsoft Office Word 文档 set相关操作
第15节 新建 Microsoft Office Word 文档CSL正在学习《计算机办公自动化》文件的建立与删除。CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office Word 文档.doc"的文件,再新建一个,则名为"新建 Microsoft Office Word 文档(2).doc",再新建,便是"新建 Microsoft Office Word 文档(3).doc"。不断新建,编号不断递增。倘若他已经新建了三个文档,然后删除了"新建 Microsoft原创 2021-08-22 11:32:58 · 200 阅读 · 0 评论 -
牛客 2.16 区区区间间间(单调栈)
给出长度为n的序列a,其中第i个元素为,定义区间(l,r)的价值为请你计算出输入描述:第一行输入数据组数T对于每组数据,第一行为一个整数n,表示序列长度接下来一行有n个数,表示序列内的元素输出描述:对于每组数据,输出一个整数表示答案示例1输入334 2 351 8 4 3 9202 8 15 1 10 5 19 19 3 5 6 6 2 8 2 12 16 3 8 17输出5572712说明对于一组测试数据的解释:区间[1, 2]的贡献为:4 - 2 = 2区原创 2021-09-29 00:04:06 · 154 阅读 · 0 评论 -
第20节 Sliding Window(deque双端队列)
第20节 Sliding WindowAn array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves rightwards原创 2021-09-30 10:44:38 · 97 阅读 · 0 评论 -
第25节 吐泡泡(栈)
第25节 吐泡泡1234小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o"。两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。(是的你没看错,小气泡和大气泡不会产生任何变化的,原因我也不知道。)例如:ooOOoooO经过一段时间以后会变成oO。输入描述:数据有多组,处理到文件结束。每组输入包含一行仅有’O’与’o’组成的字符串。输出描述:每组输出仅包含一行,输出一行字符串代表小鱼儿吐出的泡泡经过融合以后所剩余的泡泡。示例1输入ooOOoooO原创 2021-09-30 23:29:02 · 176 阅读 · 0 评论