E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
acm_树状数组
saber (线段树维护dp)
^2)100分做法:发现两种食物之间可以转移,当且仅当|pi-pj|=2*tj–pj||2*ti+pi>=2*tj+pj于是把2*ti-pi和2*ti+pi作为i的权值,按前者排序再按后者用数据结构(
树状数组
w4149
·
2020-08-15 11:37
—————练习赛—————
—————dp—————
线段树
7gOJ
BUPT Summer Training #7 for Grade 14 题解
自己在纸上推推公式,很容易就能知道为何是对的了这里用两个
树状数组
即可维护,当然增加整棵子树的操作就是预先处理dfs序,将树转化为线性,然后在
朽弈
·
2020-08-15 11:26
ACM之路
ACM
C++
算法
【HDU 5372】Segment Game(
树状数组
)
题解:对于新插入的线段,查询有多少个线段左端点大于等于该线段的左端点。再查询有多少个线段的右端点大于该线段右端点,两者之差就是答案。这里注意两个问题,一个是离散化,第二个这道题时间卡的可能比较严,线段树貌似会超时~好久没写离散化了。。。生疏了#include#include#includeusingnamespacestd;constintmaxn=1000005;intn;//---------
KinderRiven
·
2020-08-15 11:21
数据结构
HDU 5454 Excited Database【线段树】
按照叉姐的方法,可以用三个
树状数组
维护,三种情况。按照坦克工程师的方法,用容斥,将一个矩形分解成三个三角形,一个大的直角三角形减去两个小的直角三角形,一种情况,复杂度O(n(logn)2)。
SuPhoebe
·
2020-08-15 11:48
数据结构
&
hash
poj3928 Ping pong
树状数组
http://poj.org/problem?id=3928PingpongTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:2087Accepted:798DescriptionN(3#include#include#include#include#include#include#include#include#includeusingname
neko01
·
2020-08-15 11:37
树状数组
poj
poj
hdu 5869 Different GCD Subarray Query(gcd+
树状数组
)
DifferentGCDSubarrayQueryTimeLimit:6000/3000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):114AcceptedSubmission(s):29ProblemDescriptionThisisasimpleproblem.TheteachergivesBoba
saber_acher
·
2020-08-15 11:09
树状数组
ACM --
树状数组
今天总结一下
树状数组
。
丶DaHai
·
2020-08-15 11:46
算法
C++
ACM
安装饮水机(
树状数组
)
安装饮水机时间限制:1Sec内存限制:128MB题目描述为倡导城市低碳生活,市文明办计划举办马拉松比赛,为确保比赛安全,沿途设置了一些观察点。每个观察点派一个观察员驻守。由于天气比较炎热,需要在沿途安装一些饮水机,使得观察员可以去取水喝。由于观察员每移动一个单位的路程,需要耗费一个单位的体力。而每个观察员的体力有限,只能在他体力能支持的范围内去取水喝,要不他就会渴死或累死。聪明的楠楠也参与了这次比
oneplus54
·
2020-08-15 11:34
树状数组
贪心
[
ACM_
模拟] ZJUT 1155 爱乐大街的门牌号 (规律 长为n的含k个逆序数的最小字典序)...
Descriptionycc喜欢古典音乐是一个ZJUTACM集训队中大家都知道的事情。为了更方便地聆听音乐,最近ycc特意把他的家搬到了爱乐大街(德语Philharmoniker-Straße)。在爱乐大街上,依次坐落着N座跟音乐有关的建筑,比如音乐厅、歌剧院等建筑。走在爱乐大街的路上,ycc感到非常满意。过了一会儿,ycc开始对这些建筑的门牌号产生了兴趣,这N个建筑各自有唯一的门牌号,范围从1到
weixin_34014555
·
2020-08-15 08:24
2019南京ICPC网络赛A题
二维偏序,利用二维前缀和的思想,一个矩阵(x1,y1,x2,y2)可以由(0,0,x2,y2)+(0,0,x1-1,x2-1)-(0,0,x1-1,y2)-(0,0,x2,y1-1)得出,所以按x轴排序,用
树状数组
记录
EDGiboy
·
2020-08-14 15:54
分治
Aragorn's Story 树链剖分+线段树 && 树链剖分+
树状数组
Aragorn'sStory来源:http://www.fjutacm.com/Problem.jsp?pid=2710来源:http://acm.hdu.edu.cn/showproblem.php?pid=3966这题就是一个模板题,模板调过了就可以过#pragmacomment(linker,"/STACK:102400000,102400000")#include#include#incl
dingshen9942
·
2020-08-14 10:33
bzoj4785: [Zjoi2017]
树状数组
传送门老司机应该能发现他求的是后缀和吧。然后就变成了判断a[l-1]==a[r]的概率。区间覆盖的二维线段树水过。#include#include#include#include#include#include#defineN100005#definelllonglong#definemo998244353#definemerge(a,b)((a*b+(1-a+mo)*(1-b+mo))%mo)u
zhouyuyang233
·
2020-08-14 08:56
数据结构
辣鸡八中
Leetcode---数组中的逆序对---
树状数组
+ 离散化
面试题51.数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例1:输入:[7,5,6,4]输出:5限制:0tree;intlen;public:BIT(intn):len(n),tree(n+1,0){}staticintlowbit(intx){returnx&-x;}intquery(intx){int
Ashenkkk
·
2020-08-14 08:02
Leetcode
树状数组
离散化
leetcode
数组中的逆序对
树状数组
离散化
翻转对 (LeetCode 493)
来源:LeetCode知识点:排序、二分查找、分治、
树状数组
、线段树思路:官方题解归并排序,每次算左边和右边比满足条件的翻转对classSolution{publicintreversePairs(int
_CoCoNutNut_
·
2020-08-14 08:25
算法刷题
计算右侧小于当前元素的个数(
树状数组
)
[5,2,6,1]输出:[2,1,1,0]解释:5的右侧有2个更小的元素(2和1).2的右侧仅有1个更小的元素(1).6的右侧有1个更小的元素(1).1的右侧有0个更小的元素.链接:这道题是我用来练习
树状数组
的题目发现了一些自己
镇长1998
·
2020-08-14 08:47
Leetcode
BZOJ-3155-Preprefix sum(线段树/
树状数组
)
DescriptionInput第一行给出两个整数N,M。分别表示序列长度和操作个数接下来一行有N个数,即给定的序列a1,a2,....an接下来M行,每行对应一个操作,格式见题目描述Output对于每个询问操作,输出一行,表示所询问的SSi的值。SampleInput5312345Query5Modify32Query5SampleOutput3532HINT12#definelllonglon
weixin_34150224
·
2020-08-14 08:48
Ping pong(
树状数组
求序列中比某个位置上的数小的数字个数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2492PingpongTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4961AcceptedSubmission(s):1811ProblemDescriptionN(3
weixin_30894389
·
2020-08-14 08:59
差分+
树状数组
【p4868】Preprefix sum
Description前缀和(prefixsum)\(S_i=\sum_{k=1}^ia_i\)。前前缀和(preprefixsum)则把\(S_i\)作为原序列再进行前缀和。记再次求得前缀和第i个是\(SS_i\)给一个长度n的序列\(a_1,a_2,\cdots,a_n\)有两种操作:Modifyix:把\(a_i\)改成\(x\);Queryi:查询\(SS_i\)Input第一行给出两个整
weixin_30791095
·
2020-08-14 08:56
树状数组
:解决比某个数小的数的出现次数
1//输入一串n个数字,然后进行m次询问2//每次询问中询问一个在上述数字串出现过的一个数,问比这个数字小的数字有几个3//出现的重复的数字当作一个数字处理4//n#include#include#include#includeusingnamespacestd;inta[1000001];intc[1000002];intlowbit(intx){returnx&(-x);}intsum(int
weixin_30492047
·
2020-08-14 08:43
[HDOJ5542]The Battle of Chibi(DP,
树状数组
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5542题意:n个数中找m个数,使得从左到右读是上升的子序列。问一共有多少种。dp(i,j)表示取到第i个位置,长为j并且最后一个数为a(i)的方案总数。更新就比较容易了,dp(i,j)=∑(k=1->j-1)dp(i-1,k),初始化dp(i,1)=1。1#include2usingnamespaces
Claire_ljy
·
2020-08-14 08:11
BZOJ5321 JXOI2017加法(二分答案+贪心+堆+
树状数组
)
二分答案后得到每个位置需要被加的次数。考虑贪心。从左到右考虑每个位置,将以该位置为左端点的区间按右端点从大到小加进堆。看该位置还需要被加多少次,如果不需要加了就不管,否则取堆顶区间将其选择,BIT实现区间覆盖。#include#include#include#include#include#include#include#includeusingnamespacestd;#definelllong
weixin_30404405
·
2020-08-14 08:10
[BZOJ 3155] Preprefix sum
Solution:我们发现要维护的序列的每一项都有$i$项要维护,我们要将每一项转化为只有1项要维护才能$log(n)$维护(否则每对一个值更新要更新$n$个值)于是我们将每一项拆为两个前缀和相减,开两个
树状数组
weixin_30287169
·
2020-08-14 08:05
【NOIP2017】【UOJ334】【LOJ2319】列队
【题目链接】UOJ334LOJ2319【前置技能】动态开节点线段树【题解】本题好像有什么
树状数组
就能做的解法,但我只会线段树和Splay的大力乱搞,毕竟思考起来比较直观一点。
步六孤明琪
·
2020-08-14 07:39
【类型】做题记录
【内容】线段树
HDOJ5542-The Battle of Chibi【详细解释
树状数组
优化dp】
TheBattleofChibiTimeLimit:6000/4000MS(Java/Others)MemoryLimit:65535/65535K(Java/Others)TotalSubmission(s):3091AcceptedSubmission(s):1117ProblemDescriptionCaoCaomadeupabigarmyandwasgoingtoinvadethewhol
pxlsdz
·
2020-08-14 07:28
DP——数据结构优化DP
数据结构--树状数组
【ZJOI2017】
树状数组
题解
题目大意有一个错误的
树状数组
,它的修改往前走,询问往后走(find(0)的时候返回0)。
rzO_KQP_Orz
·
2020-08-14 07:55
算法_概率与期望
算法_线段树
【LOJ2251】「ZJOI2017」
树状数组
【题目链接】点击打开链接【思路要点】考虑Add(x)Add(x)Add(x)何时会对Find(y)Find(y)Find(y)产生影响。不难发现,当且仅当x≥yx\geqyx≥y,Add(x)Add(x)Add(x)会对Find(y)Find(y)Find(y)产生影响。因此Find(y)Find(y)Find(y)实际上维护了数组的后缀和。对于询问[l,r][l,r][l,r],若l≠1l\ne
cz_xuyixuan
·
2020-08-14 07:26
【OJ】LOJ
【类型】做题记录
【数据结构】树套树
【数据结构】树状数组
【数据结构】线段树
【算法】概率与期望
[ZJOI2017]
树状数组
看了可怜的代码,你发现他把
树状数组
求前缀写成了求后缀。因为本题所有的答案都在mod2意义下,所以当可怜求区间和(l,r)的时候,只是原来的r变成了l-1。
UnicornXi
·
2020-08-14 07:54
数据结构
[ZJOI2017]
树状数组
题目描述:雾题目分析:那么对于每个询问,如果l!=1,那么我们查询的其实是[l−1,r−1]这段区间。而[l−1,r−1]与[l,r]仅有l−1和r这两个元素有区别。所以我们每次询问就是问l−1和r的修改次数在模2意义下是否相等。那么我们可以把每个询问看成(l−1,r)这个点,那么这就是个二维选点问题了,我们用树套树来维护。外层的树维护第一维坐标,内层的树维护第二维坐标。我们维护的值就是这个点的两
HT008_123
·
2020-08-14 07:01
题目分析
二维线段树
树套树
NOIP主要考查范围
基本数据结构栈队列数组优先队列中级数据结构堆(大根堆,小根堆)并查集和带权并查集哈希表高级数据结构(可选学)
树状数组
线段树各种其他树字符串和相关内容1.KMP2.各种操作函数图论(重点)最小生成树最短路次短路
2000xcm
·
2020-08-14 07:00
图论+数论
利用
树状数组
(对数组左侧比数组小的点的个数进行维护)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5775题意:T组数组,长度为n的数组,n个元素属于[1,n]不重复,即是1-n全排列中的一种。对其进行冒泡排序,问在冒泡排序的过程中从1-n的数字所到达的最右边的点减去最左边的点的距离分析:每个数字i都有一个初始位置,和一个结束位置,按数字i不方便,仍按照数组a[i]。a[i]中i+1表示a[i]这一数字
我爱AI_AI爱我
·
2020-08-14 07:08
树状数组
数据结构
「
树状数组
」第 4 节: 相关例题
样例输入:[1,2,3,4,5,6,0]输出:6分析:这道题最经典的思路是使用分治法计算,不过使用
树状数组
语义更清晰一些。Python代码:classSolut
liweiwei1419
·
2020-08-14 07:27
力扣
9.2日记
今天上午先是研究了一下div1c,发现是个线段树套
树状数组
。学习了一波姿势。下午补了一下16大连站的B,C,E,KB是一个用位操作优化的字符串匹配,感觉就是暴力除以bitset优化的常数。
luotuoqingshan
·
2020-08-14 07:55
总结
概率+树套树——UOJ#291/Luogu3688 [ZJOI2017]
树状数组
就是这张图啦(Ps:orzSW_Wind)(注意到可怜手上拿着的倒着的“
树状数组
”了吗接下来开始了无限的懵逼。。。
jzq233jzq
·
2020-08-14 07:18
线段树/树状数组
主席树/树套树
经理的烦恼(
树状数组
+ 素数)
经理的烦恼Source:HCPC2005SpringTimelimit:2secMemorylimit:32MSubmitted:2567,Accepted:605Jerry是一家公司销售部门的经理。这家公司有很多连锁店,编号为1,2,3,...Jerry每天必须关注每家连锁店的商品数量及其变化,一项很乏味的工作。在连锁店比较少的时候,Jerry喜欢计算编号在[i,j]区间内的连锁店中商品数量为素
iteye_6881
·
2020-08-14 07:05
HOJ
java
LOJ147 dfs序4 题解(dfs序+
树状数组
+树上差分)
题目:LOJ147.题目大意:给定一棵nnn个点的树,要求支持以下操作:1.格式1 a x1\,a\,x1ax,表示将点aaa的点权增加xxx.2.格式2 a x2\,a\,x2ax,表示将点aaa的子树增加xxx.3.格式3 a b3\,a\,b3ab,表示查询链(a,b)(a
hezlik
·
2020-08-14 06:56
线段树——从入门到入土
简介众所周知啊,与它齐名的还有个
树状数组
,那是一个简单亿倍的东西,问题不大。线段树、是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。时间复杂度为O(logN)。
华恋~韵
·
2020-08-14 06:22
求任意区间里比x小的数的个数(
树状数组
)
题目变形:http://codeforces.com/contest/811/problem/B题意:对任意区间排序,问你第x个位置上的数的位置是否发生变化在得知n^2能过这个题我的内心是崩溃的.........#include#include#include#includeusingnamespacestd;constintmaxn=30005;intaa[maxn],bb[maxn];intC
信仰..
·
2020-08-14 06:13
树状数组
树状数组
学习笔记
定义
树状数组
(BinaryIndexedTree(B.I.T),FenwickTree)是一个查询和修改复杂度都为log(n)的数据结构。
cqbz_ChenJiage
·
2020-08-14 06:28
数据结构
树状数组
模板类
ACM_
最短路讲解
###Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图G=(V,E)中,假设每条边E
知足--常乐
·
2020-08-14 06:46
ACM总结与模板
ACM_最短路
LeetCode493翻转对(
树状数组
+离散化)
题目链接:Leetcode493思路:同求逆序数一样的更新查询,关键在于离散化部分,我们要得到原序列与2倍序列所对应的位置,并且为了最后能够常数时间查到原序列对应位置的2倍序列的数值的位置,用个哈希函数id%nid\%nid%n表示同位置的对应的位置,设一个rnk1表示原序列位置,rnk2表示2倍序列的位置,题就解决了。关于离散化那个用二分处理的可能不好操作,用结构体排序会快点Code:class
小胡同的诗
·
2020-08-14 06:44
思维
树状数组
LeetCode
漫画:什么是
树状数组
?
由PeterM.Fenwick提出的
树状数组
BIT结构就是一个优秀的数据结构,BIT全称BinaryIndexedTrees结构,而不是所说的比特奥。
ZenjaminFranklin
·
2020-08-14 06:02
算法
数据结构
java
编程语言
svg
HDU 5542 ccpc
树状数组
优化dp +离散化
给出长度为n的序列,问这个序列中有多少个长度为m的单调递增子序列。dp[i][j],表示到第i个数字,长度为j的单调递增子序列的个数。需要注意的是取第j个数字思路:通过枚举第i个数字来找出第i个数字前面存在的小于他的dp[k][i-1]的数量(i,j的位置不要颠倒了)超时算法:#include#definemod1000000007usingnamespacestd;intdp[1010][101
HAI__嗨I起来
·
2020-08-14 06:31
-----动规------
BZOJ3155/LNSYOJ96 preprefix【
树状数组
x2】【做题报告】
这道题是
树状数组
+数学题,然而我数学并不好题目描述对于一个长度为nn的序列a1,a2,a3……ana1,a2,a3……an,其前缀和(PrefixSum)SiSi为前ii个元素的和,即∑k=1iai∑k
bangzuan5029
·
2020-08-14 06:58
【BZOJ4785】[Zjoi2017]
树状数组
树套树(二维线段树)
【BZOJ4785】[Zjoi2017]
树状数组
Description漆黑的晚上,九条可怜躺在床上辗转反侧。难以入眠的她想起了若干年前她的一次悲惨的OI比赛经历。那是一道基础的
树状数组
题。
aodanchui1057
·
2020-08-14 06:17
BZOJ 2141 排队 分块+
树状数组
题目大意:给定一个序列,m次交换两个数,求初始逆序对数及每次交换后的逆序对数首先离散化,分块,对于每块建立一个
树状数组
,保存这个块中的所有元素然后对于每个询问(x,y)(xa[x]++ansa[i]a[
PoPoQQQ
·
2020-08-14 06:05
BZOJ
树状数组
分块
HDOJ5542-The Battle of Chibi【
树状数组
,dp】
正题题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5542题目大意求序列A有多少个长度为M的递增子序列。解题思路用fi,jfi,j表示长度为i,以AjAj结尾的序列的个数。然后显然得出动态转移方程通过上一次从任意一个地方转移,动态转移方程:fi,j=∑k#include#include#defineN2010#definelowbit(x)x&-x#
ssl_wyc
·
2020-08-14 06:57
dp
数据结构
树状数组
hdu
dp
数组中的逆序对(数组离散化,
树状数组
)
此代码中数组离散化部分是普遍使用的,无论是否有重复。而求逆序对部分是针对不重复元素的。题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007输入描述: 题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size0){sum+=C[x
God_Mood
·
2020-08-14 06:04
Java
洛谷2889 [USACO07NOV]挤奶的时间Milking Time(DP)(
树状数组
)
题解DP+
树状数组
设f[i]表示在第i小时结束挤奶时收获的最大奶量。有如下DP方程可以用
树状数组
解决这个问
逐梦起航-带梦飞翔
·
2020-08-14 06:47
树状数组
刷题之路
动态规划DP
hdu5542
树状数组
优化dp
南阳比赛的题目,队友一发AC,我也来试试题意很容易想到n^3的动态规划,dp[i][j]表示到i位置取j长度的种类,这样dp[i][j]=sum(dp[k][j-1],iffa[k]#include#include#include#include#include#include#defineN1005#defineMOD1000000007usingnamespacestd;inta[N],dp[
zzucaicai
·
2020-08-14 06:44
hdu
【贪心+堆+
树状数组
】JXOI2017[加法]题解
题目概述有一个序列{an}和m个区间,你可以选k个区间,选择区间[l,r]可以使a中的[l,r]都加上A,找出一个方案使得a中最小值最大。解题报告由于是求最小值的最大值,所以我们想到二分答案mid,这样我们就知道序列中每个数还需要加多少次才能≥mid,设第i个数的次数为ti[i]。那么接下来我们要做的就是验证是否能用≤k个线段覆盖掉ti数组,这个可以用贪心解决:从左往右枚举i,对于i我们需要ti[
ZigZagK
·
2020-08-14 06:44
堆
树状数组
一般贪心
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他