1006

hdu4902

 #include <iostream>
#include<stdio.h>
#include<vector>
#include<queue>
#include<stack>
#include<string.h>
#include<algorithm>
using namespace std;
#define LL long long
#define N 100010
#define lcm(a,b) (a*b/gcd(a,b))
int gcd(int a,int b)
{
if(b>a)swap(a,b);
return b==?a:gcd(b,a%b);
}
int s[N<<],lz[N<<],a[N],f[N<<];
void up(int w)
{
s[w] = max(s[w<<],s[w<<|]);
if(s[w<<]==s[w<<|]&&f[w<<]&&f[w<<|])
f[w] = ;
else f[w] = ;
}
void build(int l,int r,int w)
{
lz[w] = -;
f[w] = ;
if(l==r)
{
s[w] = a[l];
f[w] = ;
return ;
}
int m = (l+r)>>;
build(l,m,w<<);
build(m+,r,w<<|);
up(w);
}
void down(int w,int m)
{
if(lz[w]!=-)
{
s[w<<] = s[w<<|] = lz[w<<] = lz[w<<|] = lz[w];
lz[w] = -;
}
}
void update(int a,int b,int d,int l,int r,int w)
{
if(a<=l&&b>=r)
{
if(s[w]>d)
{
if(f[w]==)
{
s[w] = lz[w] = gcd(s[w],d);
return ;
}
if(l==r)
{
s[w] = gcd(s[w],d);
return ;
}
down(w,r-l+);
int m = (l+r)>>;
update(a,b,d,l,m,w<<);
update(a,b,d,m+,r,w<<|);
up(w);
}
return ;
}
down(w,r-l+);
int m = (l+r)>>;
if(a<=m)
update(a,b,d,l,m,w<<);
if(b>m)
update(a,b,d,m+,r,w<<|);
up(w);
}
void change(int a,int b,int d,int l,int r,int w)
{
if(a<=l&&b>=r)
{
lz[w] = d;
s[w] = d;
f[w] = ;
return ;
}
down(w,r-l+);
int m = (l+r)>>;
if(a<=m)
change(a,b,d,l,m,w<<);
if(b>m)
change(a,b,d,m+,r,w<<|);
up(w);
}
int query(int p,int l,int r,int w)
{
if(l==r)
{
return s[w];
}
down(w,r-l+);
int m = (l+r)>>;
if(p<=m) return query(p,l,m,w<<);
else return query(p,m+,r,w<<|);
}
int main()
{
int n,i;
int t;
cin>>t;
while(t--)
{
scanf("%d",&n);
for(i = ; i<= n ;i++)
scanf("%d",&a[i]);
build(,n,);
int m;
scanf("%d",&m);
while(m--)
{
int x,y,z,d;
scanf("%d%d%d%d",&d,&x,&y,&z);
if(d==)
{
change(x,y,z,,n,);
}
else if(d==)
update(x,y,z,,n,);
}
for(i = ; i<=n; i++)
printf("%d ",query(i,,n,));
puts("");
}
return ;
}

2014 Multi-University Training Contest 4的更多相关文章

  1. HDU4888 Redraw Beautiful Drawings(2014 Multi-University Training Contest 3)

    Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  2. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. 2014 Multi-University Training Contest 9#11

    2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others)   ...

  4. 2014 Multi-University Training Contest 9#6

    2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...

  5. 2014 Multi-University Training Contest 1/HDU4861_Couple doubi(数论/法)

    解题报告 两人轮流取球,大的人赢,,, 贴官方题解,,,反正我看不懂.,,先留着理解 关于费马小定理 关于原根 找规律找到的,,,sad,,, 非常easy找到循环节为p-1,每个循环节中有一个非零的 ...

  6. 2014 Multi-University Training Contest 1/HDU4864_Task(贪心)

    解题报告 题意,有n个机器.m个任务. 每一个机器至多能完毕一个任务.对于每一个机器,有一个最大执行时间Ti和等级Li,对于每一个任务,也有一个执行时间Tj和等级Lj.仅仅有当Ti>=Tj且Li ...

  7. hdu 4937 2014 Multi-University Training Contest 7 1003

    Lucky Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) T ...

  8. hdu 4941 2014 Multi-University Training Contest 7 1007

    Magical Forest Time Limit: 24000/12000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  9. hdu 4939 2014 Multi-University Training Contest 7 1005

    Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  10. hdu 4930 Fighting the Landlords--2014 Multi-University Training Contest 6

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4930 Fighting the Landlords Time Limit: 2000/1000 MS ...

随机推荐

  1. 2、HTML

    软件的结构: C/S(Client Server)结构的软件: 比如: QQ. 极品飞车. 飞信 . 迅雷 cs结构的软件的缺点:更新的时候需要用户下载更新包然后再安装,程序员则需要开发客户端与服务端 ...

  2. HDU 3078:Network(LCA之tarjan)

    http://acm.hdu.edu.cn/showproblem.php?pid=3078 题意:给出n个点n-1条边m个询问,每个点有个权值,询问中有k,u,v,当k = 0的情况是将u的权值修改 ...

  3. PHP简单图片操作

    <?php //PHP操作图片需打开配置文件中 extension=php_gd2.dll //================================================= ...

  4. YTU 2990: 链表的基本运算(线性表)

    2990: 链表的基本运算(线性表) 时间限制: 1 Sec  内存限制: 128 MB 提交: 1  解决: 1 题目描述 编写一个程序,实现链表的各种基本运算(假设顺序表的元素类型为char),主 ...

  5. javaScript去除空格或换行

    js 去掉空格.回车.换行 1 releaseDesc = releaseDesc.replace(/\ +/g,"").replace(/[\r\n]/g,"" ...

  6. 20150604_Andriod 窗体PopupWindow

    package com.example.test1; import android.support.v7.app.ActionBarActivity;import android.os.Bundle; ...

  7. 哈希-Snowflake Snow Snowflakes 分类: POJ 哈希 2015-08-06 20:53 2人阅读 评论(0) 收藏

    Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 34762 Accepted: ...

  8. 基于SURF特征的图像与视频拼接技术的研究和实现(一)

    基于SURF特征的图像与视频拼接技术的研究和实现(一)      一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的<基于SURF特征的图像与视频拼接技术的研究和实现>,条 ...

  9. Python学习笔记-Day3-文件操作

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) 打开文件并返回一个 ...

  10. Python学习笔记-Day2-Python基础之元组操作

    元组的常用操作包括但不限于以下操作: 元组的索引,计数等 这里将对列表的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 type(tuple) 使用dir获取类的 ...