数据结构
iroy33
这个作者很懒,什么都没留下…
展开
-
树状数组
集训时摸的鱼都是今天的泪。问题背景:一个序列,求相同两个字母之间不同字母的个数。问题延伸:求区间内不同数字的个数。结合《挑战》与树状数组彻底入门,算法小白都看得懂的超详细解析与线段树的关系把线段树不需要的右儿子都扔掉了BIT的结构BIT使用数组维护下图所示的部分和直观地看,最后有k个连续的0,区间长度就为k,维护的值就是包括自己往前数2^k个。1000 c[8]=a[8]...原创 2019-11-01 19:26:01 · 213 阅读 · 0 评论 -
L3-017 森森快递 (30 point(s)) 区间贪心+线段树区间更新
森森开了一家快递公司,叫森森快递。因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号。由于道路限制,第i号城市(i=0,⋯,N−2)与第(i+1)号城市中间往返的运输货物重量在同一时刻不能超过Ci公斤。公司开张后很快接到了Q张订单,其中j张订单描述了某些指定的货物要从Sj号城市运输到Tj号城市。这里我们简单地假设所有...原创 2019-03-29 20:31:03 · 1446 阅读 · 2 评论 -
L2-004 这是二叉搜索树吗? (25 point(s))
题意:所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。如果输入序列是对一棵二叉搜索树或其镜像进行前序遍历的结果,则首先在一行中输出YES,然后在下一行输出该树后序遍历的结果。数字间有 1 个空格,一行的首尾不得有多余空格。若答案是否,则输出NO。tips:1、镜...原创 2019-03-27 11:48:06 · 255 阅读 · 0 评论 -
hdu1166 敌兵布阵 单点更新
单点更新裸题#include<iostream>#include<stdlib.h>#include<stdio.h>#include<cmath>#include<algorithm>#include<string>#include<string.h>#include<set>#...原创 2019-04-09 20:04:49 · 179 阅读 · 0 评论 -
hdu 1237简单计算器
hdu 1237 简单计算器只有加减乘除的简单计算器注意只有当当前运算符的优先级大于栈顶的时候才可以入栈,等于不可以,因为运算从左到右,相同优先级先算栈里的符号还有向操作数栈压数的时候,要先压符号后压数#include<iostream>#include<cstdio>#include<stack>#include<map>...原创 2019-07-08 19:30:12 · 130 阅读 · 0 评论