F. Raging Thunder 先感叹一句,这个题目真变态,我写了五六个小时。。。。。而且还是在知道怎么写的情况下。。。 题目大意: 给你一个字符串,这个字符串只包含 \(>\) 和 \(<\) ,其中 \(>\) 表示该位置的球会向右滚一格, \(<\) 表示该位置的球会向左滚一格,如果最左边 ...
分类:
其他好文 时间:
2020-07-10 20:46:11
阅读次数:
46
/* 离线读入所有值后离散化 题意要求的是,sum{ ai*2^(i-1)*aj*2^(n-j) } 分析这个式子,考虑进行分治 区间[l,r]的 sum{ ai*2^(i-l)*aj*2^(r-j) } 可以将式子分成 ai*2^(i-l) 和 aj*2^(r-j)两部分看, 线段树维护四个值,s ...
分类:
其他好文 时间:
2020-05-03 18:47:51
阅读次数:
60
题意: [1,N]区间内开始为空,有两种操作1) 1 a 找到长度为a的区间,并且尽量开头靠左,返回最左的位置并check in. 2) 2 a b 将[a,b-1]区间check out. 思路: 线段树-区间合并,对于每个节点记录三个值.1).lsum表示该节点区间从左边开始的空的区间长度2). ...
分类:
其他好文 时间:
2020-03-04 20:56:01
阅读次数:
64
感觉自己的解法又是歪的 代码写的很乱。。要先找出一开始有多少段,然后计算删掉每条线段的贡献,求个最大值就可以 删每条线段的贡献可以用线段树区间合并来做 ps:正解其实很简单。。扫描一下就可以了 /* 先把所有线段覆盖到线段树上 然后对每一个线段[L,R],查询区间[L,R]有多少值>1的段即可 */ ...
分类:
其他好文 时间:
2020-02-07 18:48:09
阅读次数:
68
题意: 给定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
https://codeforc.es/contest/1217/problem/E 建立10棵数位线段树维护区间最小值和次小值,建议用struct建树方便进行区间合并 ...
分类:
其他好文 时间:
2019-09-08 22:49:34
阅读次数:
201
hdu 1540 Tunnel Warfare 如在阅读本文时遇到不懂的部分,请在评论区询问,或跳转 线段树总介绍 推荐先阅读 (线段树) (h) poj3667 (区间合并) 以获得线段树区间合并的一些知识 本题与上题(poj3667)基本相同,但要注意询问部分要求的是包含x的0区间长度 quer ...
分类:
其他好文 时间:
2019-07-23 00:37:18
阅读次数:
147
F - Sequence operation lxhgww got a sequence contains n characters which are all '0's or '1's. We have five operations here: Change operations: 0 a b ...
分类:
其他好文 时间:
2019-05-04 21:21:41
阅读次数:
165
During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast areas of north China Plain. Generally speaking, vil ...
分类:
其他好文 时间:
2019-05-02 18:49:56
阅读次数:
119
poj3667 #include<cstdio> #include<algorithm> #define lid id << 1 #define rid id << 1 | 1 using namespace std; const int mx = 50010; struct tree{ int l ...
分类:
其他好文 时间:
2019-02-02 23:15:11
阅读次数:
265