
线段树
星辰浩宇
路在脚下
展开
-
计蒜客 公告板
问题描述 蒜厂有一个 h×w 的矩形公告板,其中 h 是高度,w 是宽度。 现在有若干张 1×Wi 的公告, Wi 是宽度,公告只能横着放,即高度为 1 的边垂直于水平面,且不能互相有重叠,每张公告都要求尽可能的放在最上面的合法的位置上。 若可以放置,输出每块可放置的位置的行号;若不存在,输出 −1。行号由上至下分别为 1,2,…,h。 输入格式 第一行三个整数 h,w,n (1≤h,w...原创 2019-04-10 21:16:12 · 256 阅读 · 2 评论 -
线段树 区间更新
void up(int p) { if (!p) return; s[p] = s[p * 2] + s[p * 2 + 1]; } void down(int p, int l, int r) { if (col[p]) { int mid = (l + r) / 2; s[p * 2] = col[p] * (mid - l ...原创 2019-04-10 21:48:16 · 101 阅读 · 0 评论 -
线段树
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 [1] 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为...原创 2019-04-10 18:39:25 · 107 阅读 · 0 评论 -
计蒜客 斑点蛇
斑点蛇# 有一种神奇斑点蛇,蛇如其名,全身都是斑点,斑点数量可以任意改变。 有一天,蒜头君十分的无聊,开始数蛇上的斑点。假设这条蛇的长度是Ncm,蒜头君已经数完开始时蛇身的第icm上有ai个斑点。 现在蒜头君想知道这条斑点蛇的任意区间的蛇身上一共有多少个斑点。这好像是一个很容易的事情,但是这条蛇好像是和蒜头君过不去,总是刻意的改变蛇身上的斑点数量。 于是,蒜头君受不了了,加上蒜头君有密集型恐惧症...原创 2019-04-10 18:42:53 · 184 阅读 · 0 评论 -
计蒜客 最甜的苹果
问题描述 蒜头君有很多苹果,每个苹果都有对应的甜度值。 蒜头君现在想快速知道从第 i 个苹果到第 j 个苹果中,最甜的甜度值是多少。 因为存放时间久了,有的苹果会变甜,有的苹果会因为腐烂而变得不甜,所以蒜头君有时候还需要修改第 i个苹果的甜度值。 输入格式 第一行输入两个正整数 N,M 接下来N个整数代表这N个的初始值 接下来M行,第一个字母为U,改第i个的甜度值为j。为U,查询i到j...原创 2019-04-10 19:34:30 · 234 阅读 · 0 评论 -
敌兵布阵 HDU - 1166
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,所...原创 2019-05-21 20:33:22 · 164 阅读 · 0 评论 -
I Hate It HDU - 1754
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5...原创 2019-05-21 21:08:35 · 92 阅读 · 0 评论 -
A Simple Problem with Integers
You haveNintegers,A1,A2, ... ,AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for the ...原创 2019-05-21 22:37:17 · 115 阅读 · 0 评论