题意:每次从1到i 1中选择最少的数减为0,确保1到i的前缀和小于m,我们离散化,从小到大排序,按照输入顺序每遍历一个就插入到树状数组在排序过后的位置,二分位置确保树状数组的前缀和刚好小于/等于m a[i](当前i必选),因为从小到大排序确保了现有的小的尽量多选,大的都删掉。 include def ...
分类:
编程语言 时间:
2019-07-29 20:16:49
阅读次数:
124
概念 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 举例 模板题链接:区间和 代码如下: 推荐习题:赶牛入圈(POJ3179) ...
分类:
编程语言 时间:
2019-07-24 22:28:45
阅读次数:
128
题面 Bzoj2809 解析 按照贪心策略我们想选尽量多的人,所以就会选费用少的人,那么对于每个节点可以建一棵值域线段树,父亲的线段树由他的所有儿子的线段树合并再单点修改而来,这样就可以快速查询有多少个数满足要求, 线段树上维护人数以及费用和, 考虑到值域有1e9, 而人数只有1e5,我们考虑离散化 ...
(c) hdu1394 如在阅读本文时遇到不懂的部分,请在评论区询问,或跳转 线段树总介绍 线段树求逆序对数比较少见啊(归并排序多快啊...但是本文是讲解线段树写法...),何况这题还加了点别的玩意儿... 1. 本来这种题目要离散化的,可是体中保证了数列0~n-1. 2. 每次把首位放到最末,显然 ...
分类:
其他好文 时间:
2019-07-22 20:02:17
阅读次数:
132
题目含义 每一行给出两个点,代表一个矩形的左下角端点和右上角端点 要你求出这些矩形覆盖坐标轴的整个面积 题目分析 用平行x轴的扫描线扫描整个图形,得到很多长宽不同的矩形,求出面积再相加 将每个矩形的面积记作 len(x)*len(y) 每个len(x)我们通过加减每个点的x左右坐标,通过线段树求su ...
分类:
其他好文 时间:
2019-07-22 16:39:56
阅读次数:
97
数据离散化 定义:离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 使用STL离散化步骤: 1、排序 2、去重 3、索引 代码如下: ...
分类:
其他好文 时间:
2019-07-20 14:33:22
阅读次数:
113
在特征工程之特征选择中,我们讲到了特征选择的一些要点。本篇我们继续讨论特征工程,不过会重点关注于特征表达部分,即如果对某一个特征的具体表现形式做处理。主要包括缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化处理几个方面。# 一、缺失值处理 特征有缺失值... ...
分类:
其他好文 时间:
2019-07-19 19:01:22
阅读次数:
88
首先显然应该把数组离散化,然后发现是个带修莫队裸题,但是求mex比较讨厌,怎么办?其实可以这样求:记录每个数出现的次数,以及出现次数的出现次数。至于求mex,直接暴力扫最小的出现次数的出现次数为0的正整数,就一句话,这样看似会超时,实际上是O(√n)的复杂度。为什么?假设存在出现1,2,...,x的 ...
分类:
系统相关 时间:
2019-07-13 09:15:32
阅读次数:
147
题意:棋盘上有n个棋子 每个棋子都有收益 现在给定1e5条线 有横着的 竖着的 规定只能在线的一侧选最多ki个棋子 问最大收益 题解:写自闭的一道题 很容易想到是网络流 但是建图有点难 第一道最大费用流 居然是边权取反 跑最小费用最大流! 先离散化坐标 然后可以用点代替一条横线 一条竖线 如果x,y ...
分类:
其他好文 时间:
2019-07-11 20:47:22
阅读次数:
162
如果数组元素较大,需要离散化。 cpp include include include include include include include include include include include define ALL(x) (x).begin(), (x).end() defin ...
分类:
编程语言 时间:
2019-07-10 22:48:33
阅读次数:
104