线段树
文章平均质量分 63
Cymbals
Public void effect()
展开
-
广外oj 亚丝娜和桐人的战斗(线段树or树状数组)
最近市面出现了一款全新的游戏,Absolute Counter Online,简称ACO。Asuna跟她的男票Kirito也都跑去玩这个了。ACO有一个特殊的战斗模式,就是完全反击模式,在这个模式里,Boss跟小怪会来进攻Kirito他们的领地,在他们领地的前面,有N个魔法阵,这些魔法阵排成一条横线,从左往右第i个魔法阵有初始魔力M[i],这些魔法阵会不停消耗魔力攻击接近领地的敌人,并且它们要进入...原创 2018-04-14 20:50:47 · 286 阅读 · 0 评论 -
做两道sam+线段树合并的题
mark。进度1/2#include <bits/stdc++.h>using namespace std;typedef pair<int, int> pii;typedef long long ll;const int maxn = 6e5 + 5;int n, q;string s, pp;pii cmp(pii a, pii b) { ...原创 2019-05-06 15:02:07 · 395 阅读 · 2 评论 -
Educational Codeforces Round 56 G - Multidimensional Queries(线段树维护曼哈顿距离)
题目:https://codeforces.com/contest/1093/problem/G题目是区间最大两点间曼哈顿距离,在线,空间是k维的,但是k最大只有5。因为k比较小,所以可以用曼哈顿距离的经典做法,用二进制来枚举。呃,32颗线段树。ac代码:#include<bits/stdc++.h>using namespace std;const int maxn ...原创 2018-12-16 21:43:02 · 268 阅读 · 0 评论 -
NEERC C. Cloud Computing(线段树)
题目:http://codeforces.com/contest/1070/problem/C很有意思的题…在1到n天里,每天需求k块cpu,在m种有时间限制的供应方案里挑选,尽量满足需求的前提下花费最小。显然,对于每一天,都需要求出一个最优解。而最优解的求得,容易想到是一个简单的贪心,优先选择便宜的,直到满足需求。但是这里要求得每天的结果,并不是一次排序可以搞定的,那么维护这种序列需要动...原创 2018-10-23 11:49:08 · 404 阅读 · 0 评论 -
HYSBZ - 2243 染色(树剖+区间修改线段树)
给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节点的初始颜色下面 行每行包含两个...原创 2018-10-03 16:49:46 · 217 阅读 · 0 评论 -
SPOJ - QTREE Query on a tree(边权树剖)
You are given a tree (an acyclic undirected connected graph) with N nodes, and edges numbered 1, 2, 3…N-1.We will ask you to perfrom some instructions of the following form:CHANGE i ti : change the ...原创 2018-10-02 22:11:38 · 195 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 G.Lpl and Energy-saving Lamps(线段树)
题目太长不贴。题目大意:每个月买入m盏节能灯,从头检查n个房间,如果手头的节能灯可以把当前房间的老灯全换掉,就全换掉,否则存着,等够了再换。m个查询,给出月份,问该月换完了多少个房间,换了之后剩下几盏节能灯。典型教训题,如此简单如此裸的一道线段树我们好几个人看了半天居然没一个人反应过来…… 我决定周四的网络赛先把题全看一遍再说……不需要把答案push到树顶,只要维护“整个区间内有没有...原创 2018-09-03 20:34:51 · 265 阅读 · 0 评论 -
2018徐州网络赛-菜鸡补题
I.Characters with Hash 签到题。消掉前缀零,特判一下差小于10的情况和全0的情况即可。ac代码:#include<bits/stdc++.h>using namespace std;char p, s[1000005];int main() { int t, n; scanf("%d", &t); while(t...原创 2018-09-11 18:14:18 · 321 阅读 · 0 评论 -
POJ - 2777 Count Color(线段树 + 状压)
There is a very long board with length L centimeter, L is a positive integer, so we can evenly divide the board into L segments, and they are labeled by 1, 2, … L from left to right, each is 1 centime...原创 2018-08-02 16:58:00 · 303 阅读 · 0 评论 -
zoj 1610 Count the Colors(线段树:更新之后拍扁)
Painting some colored segments on a line, some previously painted segments may be covered by some the subsequent ones. Your task is counting the segments of different colors you can see at last.Inp...原创 2018-04-28 16:49:52 · 202 阅读 · 0 评论 -
HDU-4027 Can you answer these queries?(那些年我们踩过的坑)
A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our secret weapon to eliminate the battleships. Each of the battleships can be marked a value of end...原创 2018-05-02 21:59:04 · 231 阅读 · 0 评论 -
hdu 3974 Task assign(哈希暴力 or dfs时间戳+线段树)
There is a company that has N employees(numbered from 1 to N),every employee in the company has a immediate boss (except for the leader of whole company).If you are the immediate boss of someone,that ...原创 2018-04-10 16:20:44 · 420 阅读 · 0 评论 -
Codeforces 877E Danil and a Part-time Job(dfs序+线段树)
Danil decided to earn some money, so he had found a part-time job. The interview have went well, so now he is a light switcher.Danil works in a rooted tree (undirected connected acyclic graph) with ...原创 2018-04-15 20:10:25 · 246 阅读 · 0 评论 -
Codeforces1817-D. Subarray Sorting(关于排序的结论)
题面:https://codeforc.es/contest/1187/problem/D给出a、b两个数组,问对a进行部分区间排序操作(可无限次进行),能否得到b数组。这题被hack炸了,愣是搞出173个测试样例。题解给出了一个有趣的结论:一个数可以往前移动的个数是前面所有数都比他大的区间有多长。有了这个结论之后我们就可以对b数组每次都贪心的取a数组最左边的ai = bj的位置,然后检查a...原创 2019-07-03 13:46:23 · 354 阅读 · 0 评论