不是啊。。不是说双栈嘛,,怎么是个**题啊。

链接:

 http://120.78.128.11/Problem.jsp?pid=3260 
 
从左到右扫一遍,把相交的区间扔到一起算,那么就变成了一个前缀后缀积的问题。。
感觉还是挺有思维难度的?(也可能是我今天降智)
写起来还是很好写的,1A了。
 #include <bits/stdc++.h>
using namespace std;
inline int read() {
int X=,w=; char c=getchar();
while (c<''||c>'') { if (c=='-') w=-; c=getchar(); }
while (c>=''&&c<='') X=(X<<)+(X<<)+c-'',c=getchar();
return X*w;
}
typedef long long ll;
ll pre[],las[];
int n,p,c[],q,a[],b[],ans[];
int main(){
n=read();p=read();
for(int i=;i<=n;i++)c[i]=read();
q=read();
for(int i=;i<=q;i++)a[i]=read(),b[i]=read();
for(int l=,r;l<=q;l=r+){
r=l;
while (a[r]<=b[l]&&r<=q)r++;
r--;
//[l,r]是分成一段
pre[] = c[b[l]];
for(int i=;b[l]-i>=a[l];i++){//左边
pre[i] = pre[i-]*c[b[l]-i]%p;
}
las[]=;
for(int i=;b[l]+i<=b[r];i++){//右边
las[i]=las[i-]*c[b[l]+i]%p;
}
for(int i=l;i<=r;i++){//统计答案
ans[i]=pre[b[l]-a[i]]*las[b[i]-b[l]]%p;
}
}
for(int i=;i<=q;i++){
printf("%d\n",ans[i]);
}
}

FJUT3260的更多相关文章

随机推荐

  1. JAVA IO练习

     停车场有进场和出场的功能1. 进场时:采用键盘录入的方式,录入汽车的品牌.颜色.车牌号. 把品牌.颜色.车牌号,以及进场时间写入car.txt文件中. 2. 出场时:键盘录入车牌号,去文件中查找该车 ...

  2. Angular7

    1.绑定html 在ts里面自定义一个html变量 html = '<a> 这是html变量 </a> '; 在html打印出来 直接打印:{{html}} <br /& ...

  3. 330 div+css Experience

    今天学习的div,感觉对编辑html更为方便快捷,但还是需要多练,多熟悉一下思路和逻辑方式 越来越感觉,代码不是重要的,重要的是方向和思路,am的float clearfloat 及属性,还有over ...

  4. WebService - [Debug] javax.xml.ws.WebServiceException: Undefined port type

    背景: 使用JDK来开发java web service (Create a SOAP-based RPC style web service endpoint by using JAX-WS). 具 ...

  5. 可持久化并(xian)查(duan)集(shu)

    随便地点开了这道可持久化并查集,发现了真相...这和并查集有 PI 关系哦.除了find_father(而且还不能路径压缩),全都是线段树0.0 题目链接: luogu.org 题目没什么描述,就是三 ...

  6. C++设计模式——备忘录模式

    备忘录模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对备忘录模式是这样说的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢 ...

  7. wireshark如何抓取localhost包

    1.首先安装NPCAP 下载地址:https://nmap.org/download.html 安装时,记得勾上最后一个选项:wincap模式 安装完成后,一定要重启系统 2.安装wireshark ...

  8. 【原创】数据库基础之Mysql(1)常用命令

    1 创建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 比如 create user 'test_user'@'%' identi ...

  9. django中sqlite迁移mysql

    sqlite数据迁移 1 数据备份 django中打开terminalpython manage.py dumpdata authorization > authorization_data.j ...

  10. 《剑指offer》字符串的排列

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结: