日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hdu--4902--线段树

發(fā)布時(shí)間:2023/12/1 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu--4902--线段树 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題意 前面一段廢話= =

這題 最有意思的應(yīng)該是出題人 是clj

這題的時(shí)限放的太寬了 給了15s 我也是醉了

區(qū)間更新。

1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 const int size = 200010; 6 int a[size]; 7 struct data 8 { 9 int L , R , maxVar; 10 bool flag; 11 }tree[size<<2]; 12 13 int gcd( int x , int y ) 14 { 15 return x % y == 0 ? y : gcd( y , x%y ); 16 } 17 18 void pushDown( int rt ) 19 { 20 tree[rt<<1].maxVar = tree[rt<<1|1].maxVar = tree[rt].maxVar; 21 tree[rt<<1].flag = tree[rt<<1|1].flag = true; 22 tree[rt].flag = false; 23 } 24 25 void pushUp( int rt ) 26 { 27 tree[rt].maxVar = max( tree[rt<<1].maxVar , tree[rt<<1|1].maxVar ); 28 } 29 30 void build( int rt , int L , int R ) 31 { 32 int M = ( L + R ) >> 1; 33 tree[rt].L = L , tree[rt].R = R; 34 tree[rt].flag = false; 35 if( L==R ) 36 { 37 tree[rt].maxVar = a[L]; 38 tree[rt].flag = true; 39 return ; 40 } 41 build( rt<<1 , L , M ); 42 build( rt<<1|1 , M+1 , R ); 43 pushUp( rt ); 44 } 45 46 void update( int rt , int L , int R , int x , int op ) 47 { 48 int M = ( tree[rt].L + tree[rt].R ) >> 1; 49 if( tree[rt].L == L && tree[rt].R == R ) 50 { 51 if( op==1 ) 52 { 53 tree[rt].maxVar = x; 54 tree[rt].flag = true; 55 return; 56 } 57 else 58 { 59 if( tree[rt].maxVar<=x ) 60 return ; 61 if( tree[rt].flag && tree[rt].maxVar>x ) 62 { 63 tree[rt].maxVar = gcd( tree[rt].maxVar , x ); 64 return; 65 } 66 } 67 } 68 if( tree[rt].flag ) 69 { 70 pushDown( rt ); 71 } 72 if( R<=M ) 73 { 74 update( rt<<1 , L , R , x , op ); 75 } 76 else if( L>=M+1 ) 77 { 78 update( rt<<1|1 , L , R , x , op ); 79 } 80 else 81 { 82 update( rt<<1 , L , M , x , op ); 83 update( rt<<1|1 , M+1 , R , x , op ); 84 } 85 pushUp( rt ); 86 } 87 88 void solve( int rt , int L , int R ) 89 { 90 int M = ( tree[rt].L + tree[rt].R ) >> 1; 91 if( L == R ) 92 { 93 cout << tree[rt].maxVar << " "; 94 return ; 95 } 96 if( tree[rt].flag ) 97 { 98 pushDown( rt ); 99 } 100 solve( rt<<1 , L , M ); 101 solve( rt<<1|1 , M+1 , R ); 102 } 103 104 int main() 105 { 106 cin.sync_with_stdio(false); 107 int t , n , m , op , L , R , x; 108 cin >> t; 109 while( t-- ) 110 { 111 cin >> n; 112 for( int i = 1 ; i<=n ; i++ ) 113 cin >> a[i]; 114 build( 1 , 1 , n ); 115 cin >> m; 116 while( m-- ) 117 { 118 cin >> op >> L >> R >> x; 119 update( 1 , L , R , x , op ); 120 } 121 solve( 1 , 1 , n ); 122 cout << endl; 123 } 124 return 0; 125 } View Code

?

明天 是個(gè)特殊的日子 。。

?

轉(zhuǎn)載于:https://www.cnblogs.com/radical/p/4162103.html

總結(jié)

以上是生活随笔為你收集整理的hdu--4902--线段树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费看一级黄色片 | www亚洲视频 | 中国在线观看视频高清免费 | 欧美黄色性视频 | 成人一级黄色片 | 69色堂 | a级片在线 | 色不卡 | 91中文字幕在线视频 | 狠狠操五月天 | 性猛交ⅹxxx富婆video | 麻豆最新| 一卡二卡三卡四卡五卡 | 毛片视频软件 | 曰本黄色大片 | 99er在线| 99激情视频 | 欧美一区二区三区视频在线观看 | 性欧美丰满熟妇xxxx性仙踪林 | 最色网站 | 91在线 | 日韩网站视频 | 在线观看黄色小视频 | 射久久久 | 欧美日韩资源 | 亚洲 欧美 综合 | 波多野结衣av在线观看 | 亚洲熟妇av一区二区三区漫画 | 日本在线观看网站 | 在线不欧美 | 精品视频在线免费 | 日本激情免费 | 欧美激情一级 | 亚洲宗人网 | 四虎精品久久 | 免费成人在线电影 | 中国人与拘一级毛片 | 婷婷色综合 | 国产一区二区在线免费 | 久久精品牌麻豆国产大山 | 亚洲视频a | 欧美与黑人午夜性猛交久久久 | 日本国产在线观看 | 久久久久成人网站 | 成人音影| 五月激情av | 亚洲成人欧美 | 国语对白真实视频播放 | 日韩视频在线观看一区二区三区 | 91精品91 | 四虎久久久久 | 国产性色视频 | 日韩av专区| 99人妻碰碰碰久久久久禁片 | 99九九视频| 美乳人妻一区二区三区 | 国产一区二区高清 | 野花成人免费视频 | 波多野吉衣伦理片 | 国产亚洲视频在线观看 | 成熟的女同志hd | 国内精久久久久久久久久人 | 欧美男人又粗又长又大 | 乱色精品无码一区二区国产盗 | 日韩极品视频在线观看 | 国产亚洲av在线 | 丝袜五月天 | 欧美性猛交xxxx免费看 | 视频一区国产精品 | 七月丁香婷婷 | 影音先锋色小姐 | 综合久久综合久久 | 国产一区中文 | 午夜成人免费电影 | 欧美一区二区福利视频 | 亚洲人成人无码网www国产 | 日韩亚洲一区二区三区 | 五月天av影院 | 欧美日韩一区二区久久 | 日韩三级在线 | 色哟哟精品一区 | 亚洲精品视频免费观看 | 综合黄色 | 国内免费毛片 | 久久综合色视频 | 在线视频亚洲欧美 | 伊人激情综合 | 成人欧美一区二区三区黑人动态图 | 国产成人精品女人久久久 | 欧美日韩国产电影 | 国产精品资源站 | 中文字幕理论片 | 91视频首页| 中文字幕人妻一区二区三区在线视频 | aa视频在线 | 国产精品成人国产乱 | 欧美激情aaa | 亚洲精品乱码久久久久久日本蜜臀 | jizzjizz视频|