Description

 

Input

 

Output

每次x=1时,每行一个整数,表示这次旅行的开心度

Sample Input

4
1 100 5 5
5
1 1 2
2 1 2
1 1 2
2 2 3
1 1 4

Sample Output

101
11
11

HINT

对于100%的数据, n ≤ 100000,m≤200000 ,data[i]非负且小于10^9

Source

SPOJ2713 gss4 数据已加强

Solution

显然是一道线段树,开根号直接暴力就可以了,对于任意一个数最多开5次就变为1,之后就不要在开根了,打一个Tag记录一下。

type
tree=record
s,q,l,r:int64;
end;
var
n,m,k,x,y,i:longint;
f:array [..] of tree;
a:array [..] of longint;
procedure build(x,l,r:longint);
begin
f[x].l:=l;f[x].r:=r;
if l=r then
begin
f[x].s:=a[l];
if (f[x].s=) or (f[x].s=)
then f[x].q:=
else f[x].q:=;
exit;
end;
build(x<<,l,(l+r) >> );
build(x<<+,(l+r) >> +,r);
f[x].s:=f[x<<].s+f[x<<+].s;
f[x].q:=f[x<<].q and f[x<<+].q;
end; function plus(x,l,r:longint):int64;
var
mid:longint;
begin
plus:=;
if (f[x].l<=l) and (f[x].r>=r) then exit(f[x].s);
mid:=(f[x].l+f[x].r)>>;
if mid>=r
then plus:=plus+plus(x<<,l,r);
if mid<l
then plus:=plus+plus(x<<+,l,r);
if (mid>=l) and (mid<r)
then begin plus:=plus(x<<,l,r)+plus(x<<+,l,r) end;
end; procedure sq(x,l,r:longint);
var
mid:longint;
begin
if f[x].q=
then exit;
if (f[x].l=f[x].r) then
begin
f[x].s:=trunc(sqrt(f[x].s));
if (f[x].s=) or (f[x].s=)
then f[x].q:=;
exit;
end;
mid:=(f[x].l+f[x].r)>>;
if mid>=r
then sq(x<<,l,r);
if mid<l
then sq(x<<+,l,r);
if (mid>=l) and (mid<r)
then begin sq(x<<,l,r);sq(x<<+,l,r) end;
f[x].q:=f[x<<].q and f[x<<+].q;
f[x].s:=f[x<<].s+f[x<<+].s;
end; begin
read(n);
for i:= to n do
begin
read(a[i]);
end;
build(,,n);
read(m);
for i:= to m do
begin
read(k,x,y);
case k of
:writeln(plus(,x,y));
:sq(,x,y);
end;
end;
end.

【bzoj3211】花神游历各国的更多相关文章

  1. BZOJ3211花神游历各国

    BZOJ3211花神游历各国 BZOJ luogu 分块 记一个all表示该块是否全部<=1,如果all不为真就暴力修改 因为一个数被开根的次数不多,即使\(10^{12}\)只要开根6次也会变 ...

  2. bzoj3211花神游历各国&&bzoj3038上帝造题的七分钟2*

    bzoj3211花神游历各国 题意: n个数的序列,m个操作,操作两种:区间开根(向下取整)和区间求和.n≤100000,m≤200000,序列中的数非负且≤109. 题解: 一个≤109的数开6次根 ...

  3. bzoj3211 花神游历各国 线段树,势能分析

    [bzoj3211]花神游历各国 2014年3月17日2,7230 Description   Input   Output 每次x=1时,每行一个整数,表示这次旅行的开心度 Sample Input ...

  4. BZOJ-3211花神游历各国 并查集+树状数组

    一开始想写线段树区间开方,简单暴力下,但觉得变成复杂度稍高,懒惰了,编了个复杂度简单的 3211: 花神游历各国 Time Limit: 5 Sec Memory Limit: 128 MB Subm ...

  5. bzoj3211花神游历各国 线段树

    3211: 花神游历各国 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 4252  Solved: 1547[Submit][Status][Discu ...

  6. BZOJ3211: 花神游历各国(线段树)

    3211: 花神游历各国 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 5692  Solved: 2114[Submit][Status][Discu ...

  7. [BZOJ3211]花神游历各国&&[BZOJ3038] 上帝造题的七分钟2 树状数组+并查集

    3211: 花神游历各国 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 4057  Solved: 1480[Submit][Status][Discu ...

  8. bzoj3211: 花神游历各国(线段树) 同codevs2492

    3211: 花神游历各国 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 3628  Solved: 1326[Submit][Status][Discu ...

  9. [BZOJ3211]:花神游历各国(小清新线段树)

    题目传送门 题目描述: 花神喜欢步行游历各国,顺便虐爆各地竞赛.花神有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花神对每个国家都有一个喜欢程度(当然花神并不一定喜欢所有国家) ...

  10. BZOJ3211 花神游历各国 并查集 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3211 题意概括 有n个数形成一个序列. m次操作. 有两种,分别是: 1. 区间开根(取整) 2. ...

随机推荐

  1. 如何将ASP.NET MVC所有参数均自动设置为默认

    今天看到CSDN上有个问题觉得有点意思:"可不可以ASP.NET MVC所有参数均自动设置为默认" public class HomeController : Controller ...

  2. jquery一些基本函数

    jquery.com1.x版本兼容ie2.x版本简化适合移动端 $('li:first') 第一个$('li:eq(2)') $('li:last') 最后一个$('li:odd') 偶数行 1 3$ ...

  3. Sql Server 按行处理表数据思路

    SqlServer的游标当超过1000行左右的时候效率极其低下. DECLARE @Company VARCHAR(12)='' SELECT TOP 1 @Company=CompanyID FRO ...

  4. 查看python api

    以下方法可以查看python 的api,包括selenium webdriver,requests等 1.cmd进入dos命令行窗口,输入python -m pydoc -p 2345   (2345 ...

  5. JavaBean,POJO,VO,DTO的区别和联系

    JavaBeans A JavaBean is a class that follows the JavaBeans conventions as defined by Sun. Wikipedia ...

  6. SE要有政治能力

    不光是SE,任何人都需要政治能力. 那么,什么是政治能力?政治能力就是让周围的人跟你一起,一条心,完成你想干的事情的能力. 我们任何人,生活也好,工作也好,学习也好,都不是一个人孤单进行的,都是通过几 ...

  7. 实现iframe 全屏显示

    componentDidMount(){var elem = document.getElementById('iframe');; var elem = document.getElementByI ...

  8. scrum.4

    1.准备看板. 形式参考图4. 2.任务认领,并把认领人标注在看板上的任务标签上. 先由个人主动领任务,PM根据具体情况进行任务的平衡. 然后每个人都着手实现自己的任务. 3.为了团队合作愉快进展顺利 ...

  9. Hcm data loader for cancel work relationship

    好好总结一下这个task.没有做好的东西:1.现有的资料和各种各样的工具没有很好的利用起来,造成了用了很多的时间去了解和自己学习.非常的不舒服的.下次要避免这样的浪费时间,学会在工作中学习.现在以及以 ...

  10. HTML DOM Event对象

    我们通常把HTML DOM Event对象叫做Event事件 事件驱动模型 事件源:(触发事件的元素)事件源对象是指event对象 其封装了与事件相关的详细信息. 当事件发生时,只能在事件函数内部访问 ...