随笔分类 -  Algo__数据结构

线段树 并查集 树状数组
摘要:题意:给两个字符串,问包含这两个字符串的最小的字符串的长度 kmp返回匹配串长度 阅读全文
posted @ 2017-06-01 22:04 kimsimple 阅读(262) 评论(0) 推荐(0)
摘要:题意: 给你两个字符串,输出他们合并之后的字符串,合并的时候把A的后缀和B的前缀重叠合(或者把A的前缀和B的后缀重合)。要求合并后的串既包含A右包含B, 且使得合并后的字符串尽量短,其次是使得合并后的字符串字典序尽量小. 分析: 首先A和B合并他们一定是首尾重叠相连,要求合并后字典序最小,所以当合并 阅读全文
posted @ 2017-06-01 18:25 kimsimple 阅读(146) 评论(0) 推荐(0)
摘要:岳父与小明:农夫约翰有N头牛排成一列,他从第A头牛到第B头牛里挑出最高的那头取名叫岳父,最矮的那头取名叫小明。求岳父与小明的身高差? 即 给出初始化的区间值,m次查询 每次查询区间[a,b]的最大值-最小值 题目大意: 给出初始化的区间值,m次查询 每次查询区间[a,b]的最大值-最小值 解题思路: 阅读全文
posted @ 2017-05-31 10:03 kimsimple 阅读(173) 评论(0) 推荐(0)
摘要:map巧过 经典字典树(前缀树) 第一个字典树(G++内存超限),第二个map(红黑树),对于此类问题,字典树效率优势明显 hihoCoder1014 阅读全文
posted @ 2017-05-30 12:21 kimsimple 阅读(183) 评论(0) 推荐(0)
摘要:知前序遍历与中序遍历 求后序遍历 阅读全文
posted @ 2017-05-25 17:27 kimsimple 阅读(207) 评论(0) 推荐(0)
摘要:滚动数组的作用在于优化空间,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。 一个简单的例子: 斐波那契数列: 滚动数组实际是 阅读全文
posted @ 2017-05-21 09:01 kimsimple 阅读(4280) 评论(0) 推荐(2)
摘要:输入n,紧接n行,每行a,b n个气球,a,b表示从第a到第b个气球涂一次色,输出每个球最终的涂几次色 暴力超时,优化数据结构 1.树状数组 2.线段树 3.奇技淫巧 从此题discuss中看到 每个气球有两属性 作为起点的次数st 作为终点的次数ed 一共享变量sum_st记录到当前点的所有作为染 阅读全文
posted @ 2017-05-16 22:31 kimsimple 阅读(432) 评论(0) 推荐(0)
摘要:逆序数:在一个排列中,如果一对数的前后位置与大小顺序相反, 即前面的数大于后面的数,那么它们就称为一个逆序。 一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。 { 设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同。 如果存 阅读全文
posted @ 2017-04-30 08:08 kimsimple 阅读(5359) 评论(0) 推荐(1)
摘要:感谢http://www.cnblogs.com/xudong-bupt/p/3484080.html 树状数组(BIT)是能够完成下述操作的数据结构: 给定一初始值全为零的数列a1,a2a,a3...,an 1.给定i,计算a1+a2+...+ai 2.给定i和x,执行ai+=x BIT的结构: 阅读全文
posted @ 2017-04-30 07:58 kimsimple 阅读(201) 评论(0) 推荐(0)
摘要:HDU1541 题意: 如图,等级为0的点有1,等级为1得点有4,2 等级为2的点有3,等级为3的点有5 即即左下角的点的个数 现给你一些点(x,y),输入顺序按y升序,y相等时按x升序排列 请分别输出等级0 n-1的点的个数 分析: 暴力超时TEL,用g++提交也超时 再分析 只统计之前小于等于x 阅读全文
posted @ 2017-04-18 17:37 kimsimple 阅读(176) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 69207 Accepted: 20462 Description 动物王国中有三类动物A,B,C,这 阅读全文
posted @ 2017-04-03 23:25 kimsimple 阅读(679) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1878 欧拉回路 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s 阅读全文
posted @ 2017-03-20 23:32 kimsimple 阅读(180) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1272 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( 阅读全文
posted @ 2017-03-20 20:01 kimsimple 阅读(206) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s 阅读全文
posted @ 2017-03-20 17:08 kimsimple 阅读(154) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2553 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input 共有 阅读全文
posted @ 2017-03-11 11:55 kimsimple 阅读(211) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Sample Input 6 8 6 8 Sample Output Case 1: 1 4 3 2 5 6 1 6 5 2 3 4 Case 2: 1 2 3 8 5 6 7 4 1 2 5 8 3 4 阅读全文
posted @ 2017-03-11 11:24 kimsimple 阅读(199) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1241 题意:求几个油田 阅读全文
posted @ 2017-03-11 10:43 kimsimple 阅读(148) 评论(0) 推荐(0)
摘要:L3-003. 社交集群 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 时间限制 1000 ms 时间限制 1000 ms 内存限制 65536 kB 内存限制 65536 kB 代码长度限制 8000 B 代码长度限制 8 阅读全文
posted @ 2017-03-11 09:05 kimsimple 阅读(1506) 评论(0) 推荐(0)
摘要:L2-004. 这是二叉搜索树吗? 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 65536 kB 代码长度限制 8000 B 代码长度限制 阅读全文
posted @ 2017-03-09 21:33 kimsimple 阅读(2969) 评论(0) 推荐(1)
摘要:/// Binary Search Tree - Implemenation in C++ /// Simple program to create a BST of integers and search an element in it #include #include "cstdio" #include "queue" using namespace std; ///Defi... 阅读全文
posted @ 2017-03-09 16:49 kimsimple 阅读(220) 评论(0) 推荐(0)