数据结构
iroy33
这个作者很懒,什么都没留下…
展开
-
树状数组
集训时摸的鱼都是今天的泪。 问题背景:一个序列,求相同两个字母之间不同字母的个数。 问题延伸:求区间内不同数字的个数。 结合《挑战》与树状数组彻底入门,算法小白都看得懂的超详细解析 与线段树的关系 把线段树不需要的右儿子都扔掉了 BIT的结构 BIT使用数组维护下图所示的部分和 直观地看,最后有k个连续的0,区间长度就为k,维护的值就是包括自己往前数2^k个。 1000 c[8]=a[8]...原创 2019-11-01 19:26:01 · 186 阅读 · 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 · 1306 阅读 · 1 评论 -
L2-004 这是二叉搜索树吗? (25 point(s))
题意:所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。 给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。 如果输入序列是对一棵二叉搜索树或其镜像进行前序遍历的结果,则首先在一行中输出YES,然后在下一行输出该树后序遍历的结果。数字间有 1 个空格,一行的首尾不得有多余空格。若答案是否,则输出NO。 tips: 1、镜...原创 2019-03-27 11:48:06 · 234 阅读 · 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 · 161 阅读 · 0 评论 -
hdu 1237简单计算器
hdu 1237 简单计算器 只有加减乘除的简单计算器 注意只有当当前运算符的优先级大于栈顶的时候才可以入栈,等于不可以,因为运算从左到右,相同优先级先算栈里的符号 还有向操作数栈压数的时候,要先压符号后压数 #include<iostream> #include<cstdio> #include<stack> #include<map> ...原创 2019-07-08 19:30:12 · 111 阅读 · 0 评论