树状数组(学习、题)
Probie Tao
这个作者很懒,什么都没留下…
展开
-
树——查询和修改————树状数组(模板1.5)
int n; int a[1005],c[1005]; //对应原数组和树状数组 int lowbit(int x){ return x&(-x); } void updata(int i,int k){ //在i位置加上k while(i <= n){ c[i] += k; i += lowbit(i); } } ...原创 2019-08-04 16:34:05 · 159 阅读 · 0 评论 -
POJ 2299——树状数组
/************** 思路 建立 一个树状数组 初始化 每一位 都为 1 (表示每个数都存在) 讲 序列 输入 a 结构体数组中 一个变量存数 一个存原位置 从大到小排序 然后 for 最大——最小: 查询最大的那个数 后面区间有几个数存在 就表示有几个 逆序数 然后删除最大的这个数。 ***************...原创 2019-08-04 21:04:07 · 127 阅读 · 0 评论 -
POJ 2352——树状数组
该题 的思路: 因为y坐标是递增的 然后 x递增 所以你可以你可以用 树状数组储存 x位置的个数。 每次操作 先 求 x的前缀和, (因为y是递增的)所以前缀和就是 新该星星的级别。 然后再 将该星星的 存进树状数组。 因为有x等于0的情况 所以 你要处理一下 x , 将输入的x加一。 #include<iostream> #include<cstdio>...原创 2019-08-04 23:28:54 · 129 阅读 · 0 评论 -
树——二维树状数组————POJ1195+二维树状数组(模板)
http://poj.org/problem?id=1195 #include <iostream> #include <cstdio> #include <cstring> #include<cmath> using namespace std; const int maxn = 1e3+50; long n; long c[maxn][maxn]...原创 2019-08-05 09:05:45 · 145 阅读 · 0 评论 -
hdu5542 树状数组+离散化 +dp
https://blog.csdn.net/loy_184548/article/details/50073559←推荐 /********************** 通过离散化 +树状数组 优化 ****************************/ #include<bits/stdc++.h> using namespace std; const int mod =...原创 2019-08-09 19:58:24 · 241 阅读 · 0 评论 -
CF——1189C——(前缀和+数学思维)
题目链接 /********* 根据题意 就是 sum(l..r)整除10 对于 a,b,c,d 这个数列 注:/ 为整除 sum/10 = (a+b+c+d)/10 = (a+b)/10+(c+d)/10+ ((a+b)%10+(c+d)%10)/10 ****************/ #include<bits/stdc++.h> using names...原创 2019-09-03 20:50:33 · 694 阅读 · 0 评论