线段树水题

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std; #define LL(x) (x<<1)
#define RR(x) ((x<<1)|1)
long long num[4*50000];
int
update(int L,int R,int pos,int k,int mark)
{
if(
L==pos&&R==pos)
{

num[mark]=k;
return
0;
}
int
mid=(L+R)/2;
if(
pos<=mid)
{

update(L,mid,pos,k,LL(mark));
}
else
{

update(mid+1,R,pos,k,RR(mark));
}

num[mark]=(num[LL(mark)]%1000000007)*(num[RR(mark)]%1000000007)%1000000007;
return
0;
}
long long
find(int L,int R,int left,int right,int mark)
{
long long
sum=1;
if(
L==left&&R==right)
{

sum=num[mark];
return
sum;
}
int
mid=(L+R)/2;
if(
right<=mid)
{

sum=find(L,mid,left,right,LL(mark));
}
else if(
left>mid)
{

sum=find(mid+1,R,left,right,RR(mark));
}
else
{

sum=(find(L,mid,left,mid,LL(mark))%1000000007)*(find(mid+1,R,mid+1,right,RR(mark))%1000000007)%1000000007;
}
return
sum;
}
int main()
{
int
n,m,T,i,j,a,b,c;
scanf("%d",&T);
while(
T--)
{

scanf("%d",&n);
for(
i=1;i<=4*n;i++)
num[i]=1;
for(
i=1;i<=n;i++)
{

scanf("%d",&a);
update(1,n,i,a,1);
}

scanf("%d",&m);
for(
i=1;i<=m;i++)
{

scanf("%d%d%d",&c,&a,&b);
if(
c==0)
{

printf("%lld\n",find(1,n,a,b,1));
}
else
{

update(1,n,a,b,1);
}
}
}
return
0;
}

最新文章

  1. [转]Fiddler抓取Android真机上的HTTPS包
  2. C语言中使用系统自带的快排函数
  3. redis 原子增一的妙用
  4. hibernate(十)双向关联关系的CRUD
  5. 掌握 Ajax,第 1 部分: Ajax 入门简介
  6. 【转载】使用SQL Server维护计划实现数据库定时自动备份
  7. UIImageView旋转任意角度
  8. httpd配置Gzip压缩
  9. shiro能做什么,做j2ee时候要考虑什么
  10. windows服务,安装、启动、停止,配置,一个批处理文件搞定
  11. Andoid源码 BUG修改集合--不断更新
  12. WPF画N角芒星,正N角星
  13. Performing Post-Build Event之类的编译错误
  14. MVC 5 + EF6 完整教程16 -- 控制器详解
  15. php 压缩函数gzencode gzdeflate gzcompress
  16. 第 1 章 JS变量、作用域
  17. odoo系统中name_search和name_get用法
  18. HDFS shell操作及HDFS Java API编程
  19. .net core2 mvc项目中,加入RazorPages页面
  20. Hadoop日记Day14---MapReduce源代码回顾总结

热门文章

  1. golang 初体验
  2. AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)
  3. B - Guess a number!
  4. C - Pocket Book(set)
  5. Hadoop MapReduce编程 API入门系列之wordcount版本4(八)
  6. CI中的文件上传
  7. hdu2236 无题II 最大匹配 + 二分搜索
  8. Winform开发 如何为dataGridView 添加CheckBox列,并获取选中行
  9. SQL 字段类型详解
  10. Centos7下git服务器及gogs部署