博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷3932】浮游大陆的68号岛
阅读量:4610 次
发布时间:2019-06-09

本文共 1745 字,大约阅读时间需要 5 分钟。

 

题目:

浮游大陆的68号岛,位于浮游大陆的边境地带。平时很少有人造访。

岛上被浓厚的森林覆盖。

妖精仓库里生活着黄金妖精们,她们过着快乐,却随时准备着迎接死亡的生活。

换用更高尚的说法,是随时准备着为这个无药可救的世界献身。

然而孩子们的生活却总是无忧无虑的,幼体的黄金妖精们过着天真烂漫的生活,自然也无暇考虑什么拯救世界之类的重任。

有一天小妖精们又在做游戏。这个游戏是这样的。

妖精仓库的储物点可以看做在一个数轴上。每一个储物点会有一些东西,同时他们之间存在距离。

每次他们会选出一个小妖精,然后剩下的人找到区间[l,r]储物点的所有东西,清点完毕之后问她,把这个区间内所有储物点的东西运到另外一个仓库的代价是多少?

比如储物点ix个东西,要运到储物点j,代价为

                                              x*dist(i,j)

dist就是仓库间的距离。

 

当然啦,由于小妖精们不会算很大的数字,因此您的答案需要对19260817取模。

输入格式:

第一行两个数表示n,m

第二行n-1个数,第i个数表示第i个储物点与第i+1个储物点的距离

第三行n个数,表示每个储物点的东西个数

之后m行每行三个数 x l r

表示查询要把区间[l,r]储物点的物品全部运到储物点x的花费

输出格式:

对于每个询问输出一个数表示答案

 

 

本题两个坑点:1.前缀和的时候要每步取模

2.减法取模是:(a-b)%p=(a%p-b%p+p)%p

总体思路很简单,把求和式拆开,发现能预处理,再通过前缀和相减维护区间和就可以了

1 #include
2 #define maxn 200005 3 #define mod 19260817 4 using namespace std; 5 typedef unsigned long long ll; 6 template
7 inline void read(T &x) { 8 char ch; while((ch = getchar()), (ch < '0' || ch > '9')); 9 x = ch - '0'; while((ch = getchar()), (ch >= '0' && ch <= '9')) x = x * 10 + (ch - '0');10 }11 ll p[maxn],w[maxn],wp[maxn],dw[maxn],dwp[maxn];12 inline ll qw(int l,int r){13 return (dw[r]%mod-dw[l-1]%mod+mod)%mod;14 }15 inline ll qwp(int l,int r){16 return (dwp[r]%mod-dwp[l-1]%mod+mod)%mod;17 }18 int main(){19 register int n,m,i,j,x,l,r;20 register ll ans1=0,ans2=0,ans=0;21 read(n),read(m);22 for(i=2;i<=n;++i) read(p[i]),p[i]=(p[i]%mod+p[i-1])%mod;23 for(i=1;i<=n;++i) read(w[i]),wp[i]=w[i]*p[i];24 for(i=1;i<=n;++i) ans1=(ans1+w[i])%mod,ans2=(ans2+wp[i])%mod,dw[i]=ans1,dwp[i]=ans2;25 for(i=0;i
l&&x
=r){ans=(qw(l,r)*p[x]%mod-qwp(l,r)+mod)%mod,printf("%lld\n",ans);continue;}30 }31 return 0;32 }
 

转载于:https://www.cnblogs.com/lovely-lazy-tag-zly/p/7838987.html

你可能感兴趣的文章
python列表求和的几种等效电路
查看>>
Luogu P3393 逃离僵尸岛
查看>>
Flatten Binary Tree to Linked List
查看>>
Edit Distance
查看>>
软件工程第一次作业补充
查看>>
N76E003---输入捕获
查看>>
poj 1094 Sorting It All Out(拓扑排序)
查看>>
acdream B - 郭式树 (水题 卡cin,cout, 卡LL)
查看>>
BMP图像格式
查看>>
python的匿名函数lambda解释及用法
查看>>
c#遍历Dictionary使用KeyValuePair
查看>>
defineProperties属性的运用==数据绑定
查看>>
关于 IOS 发布的点点滴滴记录(一)
查看>>
《EMCAScript6入门》读书笔记——14.Promise对象
查看>>
CSS——水平/垂直居中
查看>>
Eclipse连接mysql数据库jdbc下载(图文)
查看>>
Python中Selenium的使用方法
查看>>
三月23日测试Fiddler
查看>>
20171013_数据库新环境后期操作
查看>>
poj 1654 && poj 1675
查看>>