- 博客(5)
- 收藏
- 关注
原创 整体二分(部分)
#整体二分 首先确定一个决策区间solve(l, r, L, R)表示编号在LR的操作的数的权值和询问的答案在lr这个区间,每次将答案二分,把LR里的修改操作按被修改数的权值<=mid和>mid分成左右两边,如果<=mid,就把它下标所在位置在bit里+1,把LR里的查询操作按bit上查询区间里的sum>=k和<k分成左右两边,如果<k,那么k就要减去bit上查...
2019-10-16 19:08:59 107
原创 HDU 1754----I Hate It
Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<...
2019-08-22 10:15:14 156
转载 树状数组
一维的树状数组 **sum=∑i=1n∑j=1ia[j]=∑i=1na[i]∗(n−i+1)=∑i=1na[i]∗(n+1)−a[i]∗i** 所以只要用一个数组 **b[i]=a[i]∗i** #include<iostream> #include<cstdio> using namespace std; #define N 500010 #define lo...
2019-08-22 09:48:52 62
原创 UVALive 8241-----Box
#include<cstdio> #include<iostream> #include<cstring> #include<string> #include<sstream> #include<algorithm> #include<math.h> #include<queue> #include&l...
2019-08-22 09:36:05 71
原创 线段树
线段树的构建: 我们将每一个节点封装到Node类中。 { int start;//区间的左端点 int end;//区间的右端点 int data;//该节点的值 int mark = 0;//延迟更新的标记 public Node(int start,int end)//构造方法中传入左端点和右端点 { this.start = s...
2019-08-22 08:54:48 62
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人