
树状数组
懒
IDSY QAQ
日常三问:我被机残了吗?我密码被盗了吗?我的号还在吗?
展开
-
拥挤的甜蜜小屋
0.题意简述多组询问,每个询问求 card({a[i]∣i∈[l,r]})card (\{a[i] | i \in [l, r]\})card({a[i]∣i∈[l,r]})。1.前言妙啊第一眼看过去,马上想到莫队,正想嘲讽出题人,结果一看数据范围 n,q≤106n, q \leq 10^6n,q≤106,马上就傻眼了。2.莫队时间复杂度起飞了,只得换种算法。由于 ta 是与权值挂钩,所以我们自然想到从权值入手(权值线段树),如果遇到两个相同元素怎么办?选下标靠前的还是下标靠后的?如果我们的询原创 2021-06-13 21:02:26 · 134 阅读 · 0 评论 -
放假回家题解
题目我们很快就能想到贪心的思想:选行李轻的同学。可是用暴力会T(优先队列也是),所以我们想到用树状数组:将行李轻的同学放在前面(没有改变顺序),再通过二分来判断最多选多少个同学实现过程:(建议结合代码)设当前要处理的同学是第i位(原顺序),排序(行李重量轻的排在前面)后再第j位,行李重量为w;则:选择的其他同学的行李重量和 <= m - w;1.二分,找出最后一个前面同学行李重量和小于m - w的位置,记作last2.通过树状数组求出last前有多少位同学3.在树状数组的j位加入一个w原创 2020-08-04 13:56:21 · 289 阅读 · 0 评论 -
二维树状数组 3:区间修改,区间查询(咕一会)
a[i][j] = p[1][1] + p[1][2] + p[1][3] + ... + p[1][j] + p[2][1] + p[2][2] + p[2][3] + ... + p[2][j] + p[3][1] + p[3][2] + p[3][3] + ... + p[3][j] + ... p[i][1] + p[i][2] + p[i][3] + ... + p[i][j] + su原创 2020-07-27 19:34:03 · 309 阅读 · 0 评论 -
树状数组Day1题解(3/7)+小结
1.模板具体见my blog二维二维树状数组 1:单点修改,区间查询原创 2020-07-26 21:00:54 · 147 阅读 · 0 评论 -
校门外的树(qian)(等待施工)
题目原创 2020-07-27 19:01:57 · 145 阅读 · 0 评论