#include <iostream> #include <vector> #include <algorithm> using namespace std; typedef pair<int, int> PII; void merge(vector<PII> &segs) { vector<PII... ...
题意: 给定n个整数。 你有两种操作: U A B:用B替换第A个数。(编号从0开始) Q A B:输出[a,b]中最长连续严格递增子序列(LCIS)的长度。 第一行有一个整数T,表示数据组数。 每组数据以两个整数n,m(0 <n,m <= 100000)开始。 下一行有n个整数(0 <= val ...
分类:
其他好文 时间:
2019-10-16 21:45:23
阅读次数:
78
ODT,即珂朵莉树,又称老司机树(Old Driver Tree)。 它是一个十分暴力的数据结构,可以用于各种乱搞,也非常的实用。 当然,这全要基于一个基本条件:数据随机。 主要思想 ODTODT的主要思想就是把一个元素完全相同的区间合并成一个节点,然后用set维护(我也不知道为什么称其为“树”)。 ...
分类:
其他好文 时间:
2019-10-05 16:11:14
阅读次数:
88
https://codeforc.es/contest/1217/problem/E 建立10棵数位线段树维护区间最小值和次小值,建议用struct建树方便进行区间合并 ...
分类:
其他好文 时间:
2019-09-08 22:49:34
阅读次数:
201
高速公路题解 我们看一看题,就知道概率是是区间内所有线段的权值和/线段个数。 那么,我们需要动态维护区间的数据结构, 很容易想到线段树, 考虑,如何将两个区间合并: 注:以下线段树上的每个点的$sum$在代码中为$sum2$,仅为方便理解。 不妨设每个区间$[l,r]$内的所有线段权值和为$w$,$ ...
分类:
其他好文 时间:
2019-08-24 20:26:16
阅读次数:
83
Tunnel Warfare HDU 1540 区间合并+最大最小值 题意 D x是破坏这个点,Q x是表示查询以x所在的最长的连续的点的个数,R是恢复上一次破坏的点。 题解思路 "参考的大佬博客" 这里巧妙使用了最大值最小值来进行区间的查找。上一行是大佬的详细题解,真的很妙啊。 代码实现 cpp ...
分类:
其他好文 时间:
2019-08-23 22:22:09
阅读次数:
100
线段树单点修改 + 区间合并 注意pushup ...
分类:
其他好文 时间:
2019-08-02 18:07:20
阅读次数:
69
# SCOI2016萌萌哒题解 [题目链接](https://www.luogu.org/problem/P3295) ### 思路 这个题目大概就是给你一些限制,使区间相等,那么一个很巧妙的思路就是将区间限制转化为两个店在一个并查集里 我们要求的是只有一位的并查集的个数,答案为$9*10^{t-1 ...
分类:
其他好文 时间:
2019-07-31 11:19:11
阅读次数:
115
hdu 1540 Tunnel Warfare 如在阅读本文时遇到不懂的部分,请在评论区询问,或跳转 线段树总介绍 推荐先阅读 (线段树) (h) poj3667 (区间合并) 以获得线段树区间合并的一些知识 本题与上题(poj3667)基本相同,但要注意询问部分要求的是包含x的0区间长度 quer ...
分类:
其他好文 时间:
2019-07-23 00:37:18
阅读次数:
147
poj3667 Hotel 如在阅读本文时遇到不懂的部分,请在评论区询问,或跳转 线段树总介绍 【题目大意】 有一个旅馆,有N个房间排成一排,现在有两种操作,第一是有X个顾客要入住连续的X个房间, 要求输出最小的左端点的位置,不能满足就输出0,第二是将以L开始,长度为X的连续房间清空。 【输入文件】 ...
分类:
其他好文 时间:
2019-07-22 23:59:36
阅读次数:
219