hdu 3074 Multiply game(模板级线段树)
来源:互联网 发布:精通 d3.js pdf 编辑:程序博客网 时间:2024/06/06 01:12
离机房关门还有十分钟,这点时间能干些什么?故作沉思地仰望星空,重新捋一下一天的学习进度,或者,砍掉一棵模板级线段树。
纯模板,就是把单点更新,区间求和改为单点更新,区间求积。
1A。
#include<stdio.h>#include<string.h>#define M 1000000007#define N 50005struct node{ int x,y; __int64 sum;}a[N*3];void CreatTree(int t,int x,int y){ a[t].x=x; a[t].y=y; a[t].sum=0; if(x==y) return ; int temp=t*2; int mid=(x+y)/2; CreatTree(temp,x,mid); CreatTree(temp+1,mid+1,y); return ;}void InsertTree(int t,int x,int k){ if(a[t].x==a[t].y) { a[t].sum=k; return ; } int temp=t*2; int mid=(a[t].x+a[t].y)/2; if(x<=mid) InsertTree(temp,x,k); else InsertTree(temp+1,x,k); a[t].sum=a[temp].sum*a[temp+1].sum%M; return ;}__int64 FindTree(int t,int x,int y){ __int64 sum=1; if(a[t].x==x&&a[t].y==y) return a[t].sum; int temp=t*2; int mid=(a[t].x+a[t].y)/2; if(y<=mid) sum*=FindTree(temp,x,y); else if(x>mid) sum*=FindTree(temp+1,x,y); else { sum=FindTree(temp,x,mid)*sum%M; sum=FindTree(temp+1,mid+1,y)*sum%M; } return sum;}int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); CreatTree(1,1,n); int i; for(i=1;i<=n;i++) { int x; scanf("%d",&x); InsertTree(1,i,x); } int m; scanf("%d",&m); while(m--) { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(x==0) printf("%I64d\n",FindTree(1,y,z)); else InsertTree(1,y,z); } } return 0;}
- hdu 3074 Multiply game(模板级线段树)
- hdu 3074 Multiply game (线段树)
- HDU 3074 Multiply game (线段树)
- hdu 3074 Multiply game(线段树)
- hdu 3074 Multiply game(线段树)
- hdu 3074 Multiply game(线段树模板题) 解题报告
- HDU 3074 线段树 Multiply game
- hdu 3074 Multiply game(线段树模版)
- HDU 3074 Multiply game(线段树 单点更新)
- HDU 3074-Multiply game(线段树:单点更新,区间求积)
- HDU 3074 Multiply game(线段树区间乘积,单点更新)
- HDU - 3074 - Multiply game (线段树-单点更新,区间求积)
- 3074 Multiply game(线段树求区间乘积)
- HDU 1754 I Hate It (线段树初步point的修改)HDU 3074 Multiply game (增加同余定理)
- hdu 3074 Multiply game
- hdu 3074 Multiply game
- HDU-3074-Multiply game
- hdu 3074 Multiply game
- 读书记录
- java导入txt文件进入mysql
- iOS开发:黑苹果Mac系统快捷键修改
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"与"5"不能相连.
- Software Industry Revolution----POJ3898----DP
- hdu 3074 Multiply game(模板级线段树)
- wgs84到gcj02
- 空对象操作错误
- Java对象的生命周期
- java调用properties配置文件连接数据库
- java设计模式---调停者模式
- 网络字节序与主机字节序
- 杭电1065-I Think I Need a Houseboat
- Android的Handler总结