题目链接:https://www.jisuanke.com/contest/3005/267806 按wi的值建立权值线段树维护值为wi出现的最后位置,对于第i个人的答案,查询线段树[wi+m,max]区间的最大位置pos,令如果pos-i-1小于等于-1则是在i之后不存在大于等于wi+m的人,否则 ...
分类:
其他好文 时间:
2019-09-07 22:50:28
阅读次数:
166
链接: https://www.acwing.com/problem/content/123/ 题意: 农夫约翰希望为他的奶牛们建立一个畜栏。 这些挑剔的畜生要求畜栏必须是正方形的,而且至少要包含C单位的三叶草,来当做它们的下午茶。 畜栏的边缘必须与X,Y轴平行。 约翰的土地里一共包含N单位的三叶草 ...
传送门 怎么主要写的都是平衡树,这种查询排名,查询第 $K$ 大的操作直接权值线段树就行了 把读入的数据离散化一波,然后开个 $map$ 维护每个人最后一次插入时在线段树上的位置,直接线段树维护就完事了 查询排名就询问大于它的节点数量,查询第 $K$ 大直接线段树上二分 就是数据格式比较恶心,细节有 ...
分类:
其他好文 时间:
2019-09-03 12:05:46
阅读次数:
97
MZOJ贴海报 .......我真的没带脑子在打 忘了pup 然后数字个数应该为 然而我是 .......... 数组大小也开小了..... 心好累......... 非要离散化版 include using namespace std; define ll long long define lso ...
分类:
其他好文 时间:
2019-09-01 22:00:36
阅读次数:
90
题目: "loj 10078. 新年好" 解析: 亲戚只有五个,可以把它们看成2,3,4,5,6号点,分别跑最短路,记录一下距离,然后DFS一下 这题非常玄学,我开了一个$12 12$的数组,没有离散化,竟然过了,开到$5050 5050$就RE,玄学 代码: cpp include using n ...
分类:
其他好文 时间:
2019-08-31 10:30:18
阅读次数:
80
给一棵 N 个点的树,每个点有一个权值,求每个点的子树中有多少个点的权值比它大。 考虑线段树合并,将权值离散化,每个点开一棵权值线段树。 求答案时直接在权值线段树上查询,线段树合并时类似于可并堆。 要注意的是线段树要动态开点,合并时别忘了 up。 内存什么的最好算一下,数组别开小了。 1 #incl ...
分类:
其他好文 时间:
2019-08-30 09:52:54
阅读次数:
96
1.获得有几个不同的点&获得点在数组中的位置(为了从1开始计数): ...
分类:
其他好文 时间:
2019-08-29 21:37:26
阅读次数:
81
(大量内容来自百度) 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如: 原数据:1,999,100000,15;处理后:1,3,4,2; 原数据:{100,200},{20,50000},{1, ...
分类:
编程语言 时间:
2019-08-28 11:03:23
阅读次数:
114
前言 杜教筛学了,顺便把min25筛也学了吧= =刚好多校也有一道题需要补。 下面推荐几篇博客,我之后写一点自己的理解就是了。 "传送门1" "传送门2" "传送门3" 这几篇写得都还是挺好的,接下来我就写下自己对min25筛的理解吧 。 正文 简介: min25筛同杜教筛类似,是用来解决一类积性函 ...
分类:
其他好文 时间:
2019-08-27 23:23:44
阅读次数:
431