随笔分类 -  线段树

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3015 题意:给定n组数,每组数有值x和值h,求n组数两两的val的总和。将所有x和所有h分别离散化(不去重)变成x'和h',val(i,j)为abs(x'i-x'j)*min(hi',hj')。 如: 阅读全文
posted @ 2019-10-29 00:10 myrtle 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题意:给n个线段,每个线段会覆盖一些点,求删最少的线段,使得每个点覆盖的线段不超过k条。 思路:按右端点排序,之后依次加入每个线段,查询线段覆盖区间内的每个点,覆盖的最大线段数量,如果不超过k,那就可以直接加入。 #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2019-10-24 19:40 myrtle 阅读(140) 评论(0) 推荐(0) 编辑
摘要:线段树自用模板 #include <iostream> using namespace std; const int MAX_N=10010; int s[MAX_N<<2]; void up(int p) { s[p]=s[p<<1]+s[p<<1|1]; } void modify(int p, 阅读全文
posted @ 2019-09-29 11:27 myrtle 阅读(455) 评论(0) 推荐(1) 编辑
摘要:题目链接:https://nanti.jisuanke.com/t/40852 题意:给定一个01串s,进行m次操作,|s|<=1e6,m<=5e5 操作有两种 l r 0,区间[l,r]升序排序 l r 1,区间[l,r]降序排序 输出m次操作后的串s 官方解析: 维护区间1的个数,区间0的个数= 阅读全文
posted @ 2019-08-12 10:50 myrtle 阅读(158) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示