随笔分类 -  数据结构

摘要:题目链接: https://vjudge.net/problem/POJ-1509 题目大意: 给你一个循环串,然后找到一个位置,使得从这个位置开始的整个串字典序最小。 解题思路: 最小表示法模板 注意模板返回的下标是从0开始,答案要求从1开始 阅读全文
posted @ 2018-04-24 22:00 _努力努力再努力x 阅读(150) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-3349 题目大意: 每个雪花都有六个分支,用六个整数代表,这六个整数是从任意一个分支开始,朝顺时针或逆时针方向遍历得到的。输入多个雪花,判断是否有形状一致的雪花存在。 比如输入的是1 2 3 4 5 6, 则2 3 4 5 阅读全文
posted @ 2018-04-24 21:30 _努力努力再努力x 阅读(191) 评论(0) 推荐(0)
摘要:有一个字符串,这个字符串的首尾是连在一起的,要求寻找一个位置,以该位置为起点的字符串的字典序在所有的字符串中中最小。 【暴力算法】: O(n)的时间枚举起始位置,O(n)的时间比对字符串的字典序,总的时间复杂度是O(n*n)。 【线性算法】: 初始时,让i=0,j=1,k=0,其中i,j,k表示的是 阅读全文
posted @ 2018-04-24 21:30 _努力努力再努力x 阅读(164) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目大意 : 在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y0),x0<=x 且y0<=y。如果左下位置有a个星星,就表示这个星星属于level x 按照y递增 阅读全文
posted @ 2018-04-24 12:25 _努力努力再努力x 阅读(231) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-3080 题目大意: 找最长的公共字串(长度>=3),长度相同就找字典序最小的 解题思路: 枚举第一个串的所以子串,处理出其他串的所有子串,然后set查找,更新ans 阅读全文
posted @ 2018-04-24 00:23 _努力努力再努力x 阅读(143) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1556 题目大意: Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球 阅读全文
posted @ 2018-04-24 00:18 _努力努力再努力x 阅读(166) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1166 题目大意: 维护动态的区间和,单点更新,就是模板题 阅读全文
posted @ 2018-04-24 00:15 _努力努力再努力x 阅读(129) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/SPOJ-MATSUM 题目大意: 二维数组,两种操作 SET 将某点设置成x SUM 求某个区域之和 解题思路: 这里用二维树状数组 SUM可以直接求出来 这里将某点设置成x,和树状数组不同,树状数组是讲某点加上一个值,但是可以另外 阅读全文
posted @ 2018-04-24 00:10 _努力努力再努力x 阅读(202) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-2299 题目大意: 本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序。 两个数(a, b)的排列,若满足a > b,则称之为一个逆序对。 n < 500,000 0 ≤ a[i] ≤ 阅读全文
posted @ 2018-04-23 23:59 _努力努力再努力x 阅读(363) 评论(0) 推荐(0)
摘要:二维的树状数组和一维的类似,分为单点更新区间查询和区间更新单点查询两种 1、单点更新,区间查询 add(int x, int y, int d):tree[x][y] += d; sum(int x, int y):返回(1,1)到(x, y)之和 注意: 修改某一点的值,num[x][y] += 阅读全文
posted @ 2018-04-23 23:18 _努力努力再努力x 阅读(256) 评论(0) 推荐(0)
摘要:附上学习PPT:传送门 概念 树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。 阅读全文
posted @ 2018-04-23 11:17 _努力努力再努力x 阅读(332) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-1936 题目大意: 给两个字符串,判断是s1是不是s2的子序列 思路: 水 阅读全文
posted @ 2018-04-23 00:11 _努力努力再努力x 阅读(121) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-1035 题目大意: 输入一部字典,输入若干单词 1、 若某个单词能在字典中找到,则输出corret 2、 若某个单词能通过 变换 或 删除 或 添加一个字符后,在字典中找得到,则输出这些单词,输出顺序根据 输入的那部字典的字 阅读全文
posted @ 2018-04-23 00:03 _努力努力再努力x 阅读(127) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1198 题目大意: 有如上图11种土地块,块中的绿色线条为土地块中修好的水渠,现在一片土地由上述的各种土地块组成,需要浇水,问需要打多少口井。 例如下面这个土地块 ADC FJKIHEthen the 阅读全文
posted @ 2018-04-21 16:38 _努力努力再努力x 阅读(380) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1232 题目大意: 中文题 解题思路: 直接并查集,判断有多少不同的根节点,答案就是根节点的数目-1,因为还需要建的道路就是根节点之间两两连接即可 阅读全文
posted @ 2018-04-21 10:25 _努力努力再努力x 阅读(128) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1856 题目大意: 一个并查集 计算每个集合的元素 找出元素最多的那个集合,输出元素的个数 解题思路: 输入n=0时也应该输出1 可以用set储存每个元素,Map更新每个元素的根节点的权值 还可以用带权 阅读全文
posted @ 2018-04-21 10:11 _努力努力再努力x 阅读(174) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1325 题目大意: 给出n条有向边,判断是不是一棵树。 解题思路: 和hdu-1272类似,是它的进阶版本,不同之处是本题为有向边。 有向边的话,只能用并查集的方法,因为是有向边,不能确定根节点的位置( 阅读全文
posted @ 2018-04-21 09:43 _努力努力再努力x 阅读(212) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 题目大意: Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认 阅读全文
posted @ 2018-04-21 09:32 _努力努力再努力x 阅读(270) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1213 题目大意: 今天是Ignatius的生日,他邀请了许多朋友。现在是吃晚饭的时间,Ignatius想知道他至少需要准备多少桌。必须注意的是,并非所有的朋友都相互认识对方,有的人不愿意和陌生人坐在一 阅读全文
posted @ 2018-04-21 09:23 _努力努力再努力x 阅读(172) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-3190 题目大意: 有N头奶牛,每头奶牛都会在[1,1000000]的时间区间内的子区间进行挤奶。挤奶的时候奶牛一定要单独放在一个牛棚中。一头奶牛的结束时间与另一头奶牛的开始时间重合的时候2头奶牛不能放在同一个牛棚中,例A牛 阅读全文
posted @ 2018-04-14 19:36 _努力努力再努力x 阅读(218) 评论(0) 推荐(0)