题目描述 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;

#include<cstring>
#include<iostream>
#include<cstdio>
#define lson l,m,now*2
#define rson m+1,r,now*2+1
#define lch now*2
#define rch now*2+1
#define m (l+r)/2
#define M 200010
using namespace std;
int sum[M*],n,p;
int read()
{
char c=getchar();int num=,flag=;
while(c<''||c>''){if(c=='-')flag=-;c=getchar();}
while(c>=''&&c<=''){num=num*+c-'';c=getchar();}
return num*flag;
}
void push_up(int now)
{
sum[now]=sum[lch]+sum[rch];
}
void build(int l,int r,int now)
{
if(l==r)
{
sum[now]=read();
return;
}
build(lson);
build(rson);
push_up(now);
}
int query(int x,int y,int l,int r,int now)
{
if(l>=x&&r<=y)return sum[now];
int ans=;
if(x<=m)ans+=query(x,y,lson);
if(y>m)ans+=query(x,y,rson);
return ans;
}
void change(int pos,int l,int r,int now)
{
if(l==r)
{
sum[now]=;
return;
}
if(pos<=m)change(pos,lson);
else change(pos,rson);
push_up(now);
}
int main()
{
n=read();
build(,n,);
p=read();
for(int i=;i<=p;i++)
{
int x=read(),y=read();
double ans=(double)query(x,y,,n,)*3.14;
printf("%.2lf\n",ans);
change((x+y)/,,n,);
}
return ;
}

xth 砍树(codevs 1369)的更多相关文章

  1. 1369 xth 砍树

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

  2. codevs1369 xth 砍树(线段树)

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

  3. wikioi1369 xth 砍树

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

  4. AC日记——砍树 codevs 1388

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

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

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

  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. iOS9 开发新特性 Spotlight使用

    1.Spotloight是什么? Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotl ...

  2. codevs 3070 寻找somebody4(水题日常)

     时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold   题目描述 Description 有一天.....sb不见了,有个人要去找他..他发现sb在一个杨辉三角里.. ...

  3. core下的routelink

    core mvc中 routelink返回和 framework mvc中返回的不一样,core中返回 IHtmlContent, 而 fw 中返回 MvcHtmlString 在写分页方法中用到了r ...

  4. 包含绑定变量的sql进行调优需注意一点

    拿1个sql举个例子,我只贴出了where后面部分 实际环境中有init_date 和direct_no的组合索引IDX_DATE_NO 上诉标红处,:b3=0 和:b3<>0这两种情况o ...

  5. G7或变G6+1?特朗普七国峰会箱友军开炮

    今日导读 G7 峰会刚召开完毕,德国总理默克尔发的一张照片就迅速火遍全球.照片中她身体前倾,像是在质问特朗普,而后者则双手交叉胸前,我自岿然不动,这张火药味十足的照片不禁让人脑补当时剑拔弩张的气氛.到 ...

  6. ES6 第三章 变量的解构赋值 具体参照http://es6.ruanyifeng.com

    1.基本用法 let [a, b, c] = [1, 2, 3];左右两边解构格式要保持一致. 2.默认值 let [x, y = 'b'] = ['a']; // x='a', y='b' let ...

  7. HTTP初步了解

    HTTP协议简介 HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的.(暂不介绍HTTP2) 协议 协议规定了通信双方必须遵循的数据传输格式,这样 ...

  8. My Friends

    HMQ's blog RMY's blog Shq's blog wjyyy‘s blog

  9. CF550 DIV3

    A - Diverse Strings CodeForces - 1144A A string is called diverse if it contains consecutive (adjace ...

  10. poj2065 SETI

    题目描述: 多组数据,每次给出一个模数$p$和一个表示答案的字符串, 相当于给出一个方程组:$$a_1*1^{1}+a_2*1^{2}+……+a_n*1^{n}=f_1$$ $$a_1*2^{1}+a ...