
数据结构
ACkook
这个作者很懒,什么都没留下…
展开
-
n个最小和(优先队列)
给出两个包含 n 个整数的数组A,B。分别在A,B 中任意出一个数并且相加,可以得到 n^2 个和。求这些和中最小的 n 个。输入格式输入第一行一个整数 n(1≤n≤50000)。接下来一行输入数组 A,用空格隔开。接下来一行输入数组B,用空格隔开。1≤Ai,Bi≤10^9输出格式从小到大输出最小的n 个和,用空格隔开。样例输入41 3原创 2018-01-10 10:15:29 · 1218 阅读 · 0 评论 -
括号匹配问题(并给出括号的位置)
在纸上写了一个串,只包含'('和')'。一个'('能唯一匹配一个')',但是一个匹配的'('必须出现在')'之前。请判断蒜头君写的字符串能否括号完全匹配,如果能,输出配对的括号的位置(匹配的括号不可以交叉,只能嵌套)。输入格式一行输入一个字符串只含有'('和')',输入的字符串长度不大于 50000。输出格式如果输入括号不能匹配,输出一行"No",否则输出一行"Yes",接下里原创 2018-01-08 21:55:03 · 8268 阅读 · 0 评论 -
堆积木
有 n 块积木,编号分别为 1 到 n。一开始,把第 i 块积木放在位置 i。进行 m 次操作,每次操作,把位置 b 上的积木整体移动到位置 a 上面。比如 1 位置的积木是 1,2 位置的积木是 2,那么把位置 2 的积木移动到位置 1 后,位置 1 上的积木从下到上依次为 1,2。输入格式第一行输入 2 个整数 n,m(1≤n≤10000,0≤m≤10000)。接下来 m 行,每行原创 2018-01-08 14:31:14 · 1161 阅读 · 0 评论 -
网页跳转stack模拟
蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下:打开页面:在地址栏中输入网址,并跳转到网址对应的页面;回退:返回到上一次访问的页面;前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后所在页面的网址。输入格式第一行输入一个整数 n原创 2018-01-09 16:03:44 · 525 阅读 · 0 评论 -
并查集朋友圈的范围
解题说明: 这里并不能初始化每个人的根节点,怎么办?用集合set记录已经初始化的,来一个人,你有没有之前朋友记录,没有—>先初始化根节点自己,朋友圈范围dis[]=1.之前有->查找朋友根节点,根节点不相同,合并集合,并把其中一个集合根节点范围dis[]改为加上另一个集合的dis[]之后的和.至此完成。代码#include#include#include#include#includ原创 2018-01-10 21:09:26 · 217 阅读 · 0 评论