1369 xth 砍树

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 钻石 Diamond
 
 
 
题目描述 Description

在一个凉爽的夏夜,xth 和 rabbit 来到花园里砍树。为啥米要砍树呢?是这样滴,
小菜儿的儿子窄森要出生了。Xth这个做伯伯的自然要做点什么。于是他决定带着
rabbit 去收集一些木材,给窄森做一个婴儿车……(xth 早就梦想着要天天打菜儿
他儿窄森的小 pp,到时候在婴儿车里安装一个电子遥控手臂,轻轻一按,啪啪
啪……“乌卡卡——”xth 邪恶滴笑了,“不要告诉 rabbit,她会说我缺德的……”
xth 如是说)。
花园里共有n棵树。为了花园的整体形象,rabbit 要求 xth只能在m个区域砍伐,我
们可以将这m个区域看成m个区间,树的间距相等,都是1,我们将每个区间设为
[x, y]。那么长度为k的区间中就有k棵树。树木的高度不等。现在 xth 想测量一下,
每个区间树木砍伐后所得的木材量是多少,而且每次测量后他都会砍下标号为
(x+y)/2
的那棵作为纪念。以方便他安排人手。(同一个区间的树木可以重复砍伐,我们认
为被砍过的树木高度为0)
每棵树的木材量=树的高度∗ 3.14(注意是3.14不是π)。

输入描述 Input Description

第一行,一个整数n。
第二行,共n个整数,表示每棵树的高度。
第三行,一个整数m,表示共m个区间。
以下m行,每个区间[x, y]的左右端点x, y。

输出描述 Output Description

共m行,每行一个数,表示每个区间的木材量。

结果精确到小数点后两位。

样例输入 Sample Input

5
1 2 3 4 5
2
1 4
2 4

样例输出 Sample Output

31.40
21.98

数据范围及提示 Data Size & Hint

对于30%的数据,有n ≤ 5000,m ≤ 5000;
对于100%的数据,有n ≤ 200000,m ≤ 200000;

分类标签 Tags 点此展开

 
 

AC代码:

全网最快(截止到现在)

#include<bits/stdc++.h>
using namespace std;
const int N=;
inline const int read(){
register int x=,f=;
register char ch=getchar();
while(ch>''||ch<''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int n,m,c[N],a[N];
int lowbit(int x){
return x&-x;
}
void updata(int p,int v){
for(int i=p;i<=n;i+=lowbit(i))
c[i]+=v;
}
int query(int p){
int ans=;
for(int i=p;i>=;i-=lowbit(i)) ans+=c[i];
return ans;
}
int main(){
n=read();
for(int i=;i<=n;i++) a[i]=read(),updata(i,a[i]);
m=read();
for(int i=,x,y;i<=m;i++){
x=read();y=read();
double ans=query(y)-query(x-);
printf("%.2f\n",3.14*ans);
int mid=x+y>>;
updata(mid,-a[mid]);
a[mid]=;//注意清零
}
return ;
}

1369 xth 砍树的更多相关文章

  1. codevs1369 xth 砍树(线段树)

    1369 xth 砍树  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Description 在一个凉爽的夏夜,xth 和 rabbi ...

  2. xth 砍树(codevs 1369)

    题目描述 Description 在一个凉爽的夏夜,xth 和 rabbit 来到花园里砍树.为啥米要砍树呢?是这样滴,小菜儿的儿子窄森要出生了.Xth这个做伯伯的自然要做点什么.于是他决定带着rab ...

  3. wikioi1369 xth 砍树

    题目描述 Description 在一个凉爽的夏夜,xth 和 rabbit 来到花园里砍树.为啥米要砍树呢?是这样滴, 小菜儿的儿子窄森要出生了.Xth这个做伯伯的自然要做点什么.于是他决定带着 r ...

  4. codevs 1360 xth砍树 线段树不能再水的题了

    连标记都不用打.. #include<cstdio> #include<cstring> #include<algorithm> using namespace s ...

  5. AC日记——砍树 codevs 1388

    1388 砍树  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 伐木工人米尔科需要砍倒M米长的木 ...

  6. codevs 1388 砍树

    时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题目描述 Description 伐木工人米尔科需要砍倒M米长的木材.这是一个对米尔科来说很容易的工作,因为他有一 ...

  7. {CSDN}{英雄会}{砍树、石子游戏}

    砍树 思路: 可以将题目意图转化为:给定一棵树,求其中最接近总权值一半的子树. DFS求每个节点的所有子节点的权值和,遍历每个节点,最接近总权值一半的即为答案.复杂度O(N). 石子游戏: 思路: 一 ...

  8. [Swift]LeetCode675. 为高尔夫比赛砍树 | Cut Off Trees for Golf Event

    You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...

  9. 牛客挑战赛30 小G砍树 树形dp

    小G砍树 dfs两次, dp出每个点作为最后一个点的方案数. #include<bits/stdc++.h> #define LL long long #define fi first # ...

随机推荐

  1. 关于C#中文本模板(.tt)的简单应用

    这两天做项目突遇 .tt文件,之前没有接触过,so查询学习做笔记,帮助记忆和后来者. 在项目添加中点击选择文本模板 下面贴出代码,做了简单的注释 <#@ template debug=" ...

  2. 7. 泛化(Generalization)

    什么是泛化关系?用一个例子简单的说:假设A是B和C的父类,B.C具有公共类(父类)A,说明A是B.C的一般化(概括,也称泛化),B.C是A的特殊化. 在编程上,泛化关系(Generalization) ...

  3. 也来说说C#异步委托(转)

    原文地址: http://www.cnblogs.com/lxblog/archive/2012/12/11/2813893.html 前些日子,看到园子里面有人用老王喝茶的例子讲解了一下同步和异步, ...

  4. uva167 - The Sultan's Successors

      题意:八皇后问题的扩展.8*8棋盘上每个格子都有一个整数,要求8个皇后所在格子的数字之后最大 解法一,回溯: 用vis数组记录 列,主对角(y-x), 副对角(y+x) 访问情况 #include ...

  5. python中使用list作为默认参数且调用时不给其赋值的问题

    最近在写代码时发现一个有趣的地方,当python中的函数使用list作为默认参数且调用时不给其赋值时,无法通过在函数中将其赋值为[]来达到清空此默认参数的目的.按照道理来说,函数f1中的list为局部 ...

  6. XPath具体解释

    New Document 相关读书笔记.心得文章列表 一.结点类型 XPath中有七种结点类型:元素.属性.文本.命名空间.处理指令.凝视以及文档节点(或成为根节点). 文档的根节点即是文档结点:相应 ...

  7. FindMe

    https://github.com/hongdong/FindMe_Android https://github.com/hongdong/FindMe_Server https://github. ...

  8. TOJ3650 Legal or Not

    Legal or Not   Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByte Total Submit: 41   ...

  9. Perl 引用与匿名数组

    写这篇是因为工作遇到一个需要使用列表作为hash的值的问题,这在Python中是非常简单而轻松的事,如下面这段python程序. def add_to_index(index, keyword, ur ...

  10. OSG的HUD抬头文字显示

    原文:http://blog.csdn.net/tmljs1988/article/details/7562926 可以运行 1.       HUD流程图: 完整源代码如下: /*OSG中的HUD, ...