摘要: 简易版第k大(权值线段树) 比较简单的权值线段树模板题,主要用来学一下动态开点 一般权值线段树模板AC_Code 1 include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1 阅读全文
posted @ 2020-02-20 17:55 swsyya 阅读(407) 评论(2) 推荐(0) 编辑
摘要: 题意:有一个长度为m的计数数组a,初始均为0,并给定前n个操作x表示让a[x]加1. 现在还有一些操作,一个操作是在a[1~m]中找一个a[p]值最小的位置p(有多个则取最小的满足条件的p)使得a[p]加1,现在有q个询问,问第k次操作时的p. 首先考虑把前n次操作后的a数组按照a[i]的值从小到大 阅读全文
posted @ 2020-02-20 11:25 swsyya 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Petya and Array 题意:给你n个数,问有多少个区间的和的值小于t 分析:区间和问题,常常用到前缀和来进行预处理,所以先预处理出前缀和数组sum sum[i]代表前i个数的和,那么sum[i]的贡献就是, 当i<k<=n时,存在多少个k,使sum[k]<t+sum[i],也就是求在[i+ 阅读全文
posted @ 2020-02-20 11:05 swsyya 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题意:Pavel 将要举行一个聚会,他想确切地邀请k个人参加。他有n个朋友,并且他已经决定按什么顺序打电话和邀请他们,每个朋友会回复他两个值 l 和 r,代表如果Pavel准备邀请的人数在[ l, r ] 之间他就会参加。Pavel一旦集合了所需的人数,就会立刻开启聚会,不会给其余的朋友打电话。询问 阅读全文
posted @ 2020-02-20 10:56 swsyya 阅读(154) 评论(0) 推荐(0) 编辑
摘要: AC_Code 1 //权值线段树: 2 //区间的值是这段值域里的个数的线段树 3 //叶子结点的值 是这个数在序列里出现的次数 4 //能够比较容易实现平衡树的一系列操作 5 //权值线段树就是把线段树的每个点权权值线段树就是把线段树的每个点权,赋予一定的含义,比如数字出现的次数,数值前缀出现的 阅读全文
posted @ 2020-02-20 10:41 swsyya 阅读(200) 评论(0) 推荐(0) 编辑
摘要: AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1e5+5; 5 const int inf=0x3f3f3f3f; 6 #define rep( 阅读全文
posted @ 2020-02-20 10:19 swsyya 阅读(237) 评论(0) 推荐(0) 编辑

回到顶部