上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 40 下一页
摘要: 传送门:https://vjudge.net/contest/370208#problem/E 题意 n个点m条边的有向图,最多删除m/2条边,要求删边后的有向图没有环,求删边的个数和删第几条边。 思路 设u<v的边集为A,u>v为B,我们删去A和B中小的那个边集就行,为什么呢?我们来看环的形成比如 阅读全文
posted @ 2020-04-28 11:23 艾尔夏尔-Layton 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题意 有n个人编号从0到n-1,有m个小组,输入m行,每行一个k代表本组人数,后面k个数字为本组人员编号。0号人是感染者,通过组能和0号人接触的人都会被感染,求总感染人数。 思路 把每组人都用并查集合并起来,然后从0到n-1看每个人的老大是否和0号人的老大相同,相同证明在一颗树里面,即题意的接触,a 阅读全文
posted @ 2020-04-24 10:28 艾尔夏尔-Layton 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 组员与分工 数据库构思:郭嘉鸿 游戏机制的构思:黄啸宇 代码:黄嘉骏 E-R图 数据的插入 角色: insert into 角色 values('12345','54321','潘森'); insert into 角色 values('00000','001122','伊泽瑞尔'); 角色属性: i 阅读全文
posted @ 2020-04-21 23:31 艾尔夏尔-Layton 阅读(496) 评论(0) 推荐(1) 编辑
摘要: 题意 给你一串长为n的序列,给你一个整数k代表窗口的长度为k,从序列左端到右端,你需要找到每个连续的长度为k的区间的最小值和最大值 思路 如果暴力来做,遍历n次k个数,那就是n方的复杂度;如果维护一个线段树那就是nlogn,每个数只被插入一次和删除一次。 我们可以维护两个单调队列,单调递增队列用于计 阅读全文
posted @ 2020-04-17 21:55 艾尔夏尔-Layton 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 简述 单调队列顾名思义就是具有单调性的队列,分为单调递减队列和单调递增队列两种,单调队列是特别的队列,它可以在队尾入队,队头出队,还可以在队尾出队。 思路详解 以单调递增队列为例,当有一元素设为x要入队时,比较x和队尾元素的大小,若x大于队尾,则直接入队,否则队尾元素出队,直到x大于队尾元素。 代码 阅读全文
posted @ 2020-04-17 21:49 艾尔夏尔-Layton 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意 给你n头牛的高度,每头牛朝向右方,只能看见小于自己高度的牛,当有一头牛的高度大于等于自己时包括这头牛之后的牛也看不见。求所以牛能看见牛数量的总和。 思路 问题可以转化为每头牛被看到的牛的数量的总和,我们可以维护一个单调递增栈,当一个元素x即将入栈时,栈内元素个数就是在左边比他高的牛的数量,且这 阅读全文
posted @ 2020-04-14 20:57 艾尔夏尔-Layton 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 简述 单调栈指栈内元素具有单调性的一种栈结构,该结构和普通的栈类似是后进先出,但栈内元素严格单调(相等也不行)。 思想实现 我们用递增栈(指栈顶到栈底为递增)作为例子,设当前元素为x,栈顶为top,当x<top时,直接进栈,不影响栈的单调性。当x>=top时,让栈不断出栈元素直到满足x<top。 代 阅读全文
posted @ 2020-04-14 20:51 艾尔夏尔-Layton 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://vjudge.net/contest/361562#problem/C 题意 多组样例,给你一个串s和串t还有一个空串x,要求往x里添加s的子序列,使x变为t,求添加次数。 思路 使用序列自动机狗仔串s的nxt数组,把整个t串进行匹配,当失配的时候,把前面已经匹配成功的部分当 阅读全文
posted @ 2020-04-13 11:49 艾尔夏尔-Layton 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 简述 序列自动机是一个能快速判断一个串t是否为另一个串s的子序列的算法。对于串s构造序列自动机,本质上就是预处理出一个nxt[][]数组,nxt[i][j]代表从第i个位置开始,字符j出现的第一个位置的下一个位置。 代码详解 构造 复杂度O(lens) 对于nxt数组的构造本质上就是一个dp的过程, 阅读全文
posted @ 2020-04-12 11:03 艾尔夏尔-Layton 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 简述 权值线段树是线段树的一种,可以实现平衡树的基本操作,权值线段树的节点维护的是这个区间的数的出现次数,例如区间序列为1 2 2 3 3 3,那么该节点的值为6。权值线段是可以在logn的时间内求出全局的k小值,某数在全局的rank,一个数的前驱或者后继。因为是线段树的一种所以思想也是二分,其本质 阅读全文
posted @ 2020-04-07 21:07 艾尔夏尔-Layton 阅读(1012) 评论(0) 推荐(1) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 40 下一页