关闭
当前搜索:

主席树(区间查询第k小数+单点修改)HDU2665

主席树 【引入】 学习推荐博客(内有带修改的博文链接):https://www.cnblogs.com/Empress/p/4652449.html 主席树可以干什么? 主席树可以求一个序列某区间段的第k小数。(时间复杂度O(m*logn)m是询问次数。); 学习主席树之前必须掌握线段树,主席树是建立在线段树的基础上的。 【算法】 线段树可以维护区间和、最值。这里我们用的是维护和,维...
阅读(20) 评论(0)

莫队算法(单点修改)bzoj2120数颜色

上一篇莫队算法(仅查询):http://blog.csdn.net/winter2121/article/details/79051952 【个人理解】 带单点修改的莫队算法,需要多维护一个变量---时间。给每次修改操作标记先后时间T,当询问到区间[l,r]时,就把时间点调整到那个区间查询所处的时刻T。 分块排序时,将T作为最不优先的判定。即在初级莫队算法的基础上,排序时多考虑一个时间T。 ...
阅读(31) 评论(0)

初学莫队算法 bzoj2038 小z的袜子

http://www.lydsy.com/JudgeOnline/problem.php?id=2038 【莫队算法讲解推荐】https://www.cnblogs.com/Paul-Guderian/p/6933799.html 【莫队算法个人理解】 对于一般不带修改的区间问题,离线查询的算法。(有事可以处理带修改的问题,还不会) 给出n个数的序列,有m次查询,查询区间[l,r]...
阅读(30) 评论(0)

哈夫曼树编码与译码

这是数据结构课程综合设计的一道题目,要求实现哈夫曼编码与译码。 题目三 哈夫曼编码/译码器      根据给定的一组电文,设计该电文的哈夫曼编码。 基本要求:    (1)初始化(Initialization):从终端读入字符集,大小n,随机产生包含n个字符的字符集存入文件中,然后统计每个字符出现的次数作为各字符的权值,以此建立哈夫曼树;      (2)编码(Coding):根据...
阅读(55) 评论(0)

表达式求值运算(逆波兰式)

逆波兰式:中缀表达式,后缀表达式等内容可百度查看。运算表达式  2+3*(1+2)-6/3开两个栈,一个存数字,一个存符号。当 遇到这种情况1:需要先计算后面的内容,再回来计算前面的运算让符号进栈暂时保存。还有一种情况2:遇到左括号时,只能进栈等待右括号的到来。右括号到来时,运算整个括号内的内容。其他情况,都可直接计算。【代码】#include using namespace std; void ...
阅读(204) 评论(0)

Codeforces#399 B. Code For 1 二叉树中序遍历的规律

B. Code For 1 time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Jon fought bravely to rescue the wildlings who were attacked by the white-walkers at Hardhome. On his arrival, Sam tells him that he wan...
阅读(323) 评论(0)

内部排序之 归并排序

归并排序本文仅个人学习所得与理解 时间复杂度O(n*logn)(稳定的排序算法) 基本思路 对于序列 a[] = {6, 9,10, 8, 1, 19, 4}; 1、每两个相邻元素一组,排序 2、每4个一组,将第一步排好的相邻的两组有序区间 合并为一个有序区间 3、以此类推。 合并方法: 如序列6 9 3 10,左半个区间有序,有半个区间有序,合并后就是3 6 9 10 代...
阅读(135) 评论(0)

内部排序之 快速排序

快速排序 本文整理我对快速排序的学习与理解。 时间复杂度好的情况下O(n*logn)最坏的情况下O(n*n) 对于一组序列 a[] = {6, 9,10, 8, 1, 19,  4}; 1、选择第一个元素作为分界值temp,比temp大的数往右移,比temp小的数往左移,分为两类 2、把temp移到中间,其左右两个区间看做新的待排序的序列,重复第1步。 这是...
阅读(207) 评论(0)

内部排序之 堆排序

堆排序本文整理我对堆排序的学习与理解。 时间复杂度O(n*logn),空间复杂度O(1); 二叉树存储方式: 其排序依据是选择排序,通过二叉树优化选择方案,获得log的时间复杂度。 对给定的序列a,建立二叉树,a[1]为根节点,每个节点的孩子为a[i* 2]和a[i*2+1]。 如图: 这是一棵完全二叉树,以10个元素为例。 堆二叉树 以大顶堆为例 1、用根节点来维护这棵二叉树的的最...
阅读(338) 评论(0)

UVa12096集合栈计算机(集合操作)

Background from Wikipedia: “Set theory is a branch of mathematics created principally by the German mathematician Georg Cantor at the end of the 19th century. Initially controversial, set theory has come to play the role of a foundational theory in modern ...
阅读(258) 评论(0)

福建第六届省赛 H 贪心 哈夫曼思想

ZB loves playing StarCraft and he likes Zerg most! One day, when ZB was playing SC2, he came up with an idea: He wants to change the queen's ability, the queen's new ability is to choose a worker at any time, and turn it into an egg, after K units of tim...
阅读(423) 评论(0)

洛谷P3031 [USACO11NOV](中位数,树状数组)

题目描述 Farmer John has lined up his N (1 <= N <= 100,000) cows in a row to measure their heights; cow i has height H_i (1 <= H_i <= 1,000,000,000) nanometers--FJ believes in precise measurements! He wants to take a picture of some contiguous subsequence of ...
阅读(339) 评论(0)

树上两点最近公共祖先LCA的倍增算法 poj1986

Distance Queries Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 14755 Accepted: 5187 Case Time Limit: 1000MS Description Farmer John's cows refused to run in his marathon since he chose a path much too long for their leisurely lifestyle. He ...
阅读(481) 评论(0)

ICPC2017网络赛(北京)Minimum(线段树or树状数组区间最值维护)

描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. Output Minx,y∈[l,r] {ax∙ay}. 2. Let ax=y. 输入 The first line is an integer T, indicating the number of test cases. (1≤T≤10). For each test case: The fi...
阅读(280) 评论(0)

bzoj 1012 [JSOI2008]最大数maxnumber(ST表最值查询——RMQ算法)

1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 11110 Solved: 4859 [Submit][Status][Discuss] Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加 上t,其中t是最近一...
阅读(474) 评论(0)

RMQ算法的学习(区间最值问题)NYOJ 119 士兵杀敌(三)

士兵杀敌(三) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。 所以,南将军经常问军师小工第i号士兵到第j号士兵中,杀敌数最高的人与杀敌数最低的人之间军功差值是多少。 现在,请你写一个程序,帮小工回答南将军每次的询问吧。 注意,南将军可能询问很多次。...
阅读(407) 评论(0)

ICPC2017网络赛(青岛)1003 HDU 6208 字符串匹配KMP

The Dominator of Strings Time Limit: 3000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 381 Accepted Submission(s): 97 Problem Description Here you have a set of strings. A dominator is a string of the set d...
阅读(744) 评论(0)

AC自动机 HDU2222 Keywords Search

AC自动机 Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 67751 Accepted Submission(s): 22807 Problem Description In the modern time, Search engine came into the life of everybod...
阅读(463) 评论(0)

树状数组的应用(区间修改+区间查询)

树状数组之————区间修改+区间查询 树状数组的工作是 对一组数据进行快速修改查询操作 最基本的功能是 单点修改+区间查询。 然后厉害的是 区间修改+单点查询(用数组del[i]表示原数组a[i]-a[i-1]的值) 更厉害的来了。。。 区间修改+区间查询 用数组del[i]记录原数组a[i]与前一项和,即del[i]=a[i]-a[i-1]...
阅读(362) 评论(0)

HDU 5542 The Battle of Chibi(树状数组+dp)

The Battle of Chibi Time Limit: 6000/4000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 1749 Accepted Submission(s): 621 Problem Description Cao Cao made up a big army and was going to invade the whole South China....
阅读(459) 评论(0)
29条 共2页1 2 下一页 尾页
    个人资料
    • 访问:94266次
    • 积分:2812
    • 等级:
    • 排名:第14737名
    • 原创:185篇
    • 转载:9篇
    • 译文:0篇
    • 评论:33条
    博客专栏
    最新评论