hiho第十九周
程式碼如下:
#include <bits/stdc++.h> #define maxn 1000010 using namespace std; struct tree{ int left, right; int min; } tree[maxn * 4]; int a[maxn]; void build( int id, int l, int r){ tree[id].left = l; tree[id].right = r; if ( l == r){ tree[id].min = a[l]; } else{ int mid = ( l + r) / 2; build( id * 2, l, mid); build( id * 2 + 1, mid + 1, r); tree[id].min = min( tree[id * 2].min, tree[id * 2 + 1].min); } } void update_dot( int id, int pos, int val){ if ( tree[id].left == tree[id].right){ tree[id].min = val; } else{ int mid = ( tree[id].left + tree[id].right) / 2; if ( pos <= mid) update_dot( id * 2, pos, val); else update_dot( id * 2 + 1, pos, val); tree[id].min = min( tree[id * 2].min, tree[id * 2 + 1].min); } } int query_min( int id, int l, int r){ if ( tree[id].left == l && tree[id].right == r) return tree[id].min; else{ int mid = ( tree[id].left + tree[id].right) / 2; if ( r <= mid) return query_min( id * 2, l, r); else if ( l > mid) return query_min( id * 2 + 1, l, r); else return min( query_min(id * 2, l, mid), query_min( id * 2 + 1, mid + 1, r)); } } int main() { int n, q, x, y, z; scanf( "%d", &n); for ( int i = 1; i <= n; i++){ scanf( "%d", &a[i]); } build( 1, 1, n); scanf( "%d", &q); while ( q--){ scanf( "%d%d%d", &x, &y, &z); if ( x == 0){ printf( "%d\n", query_min( 1, y, z)); } else update_dot( 1, y, z); } return 0; }
相關推薦
hiho第十九周
典型的線段樹單點更新及區間查詢程式碼如下: #include <bits/stdc++.h> #define maxn 1000010 using namespace std; struc
#OSG+VS#第十九周
寫在前面: 一晃眼又過去一個月,上個月的這個時候已經到新疆了,時間飛逝,你又成長了多少。 斷了一個月,沒有堅持寫下去的原因有二:一是這個月每週一和週五都沒有來公司,在做另一個專案;二是自己的原因咯。停
第十九周LeetCode演算法題
題目名稱:6. ZigZag Conversion 題目難度:Medium 題目描述: The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows
我的工作週記——第十九周
時間:2010.12.27~2010.12.31 大概星期三、四的時候,突然感覺自己怎麼也學習不進去了。於是向領導調休了一天,再加上元旦假期,總共有4天時間,可以利用這個假期好好休息,度過自己工作和學習的“倦怠期”。 放假期間,參加了我們學校在深圳的校友聚會,認識了不少朋友
第十九周工作報告(2014.6.30~7.6)
1.本週完成的任務: 1.完成了課程設計。 2.完成了專案的基本的要求 2.未完成的任務: 1.專案的介面的一個特效做得不夠好,然後介面感覺很差,沒有美感。 3.下週計劃: 1.完成實驗室佈置的任務首先 2.開始對本學期學習
第十九周實訓-銀行系統
/* *Copyright (c) 2014, 煙臺大學計算機學院 *All rights reserved. *檔名稱:main.cpp *作者:高贊 *完成日期: 2015 年 7 月 14 日 *版本號:v1.0 * *問題描述:在基礎的銀行系統上進行
Leetcode演算法習題 第十九周
376. Wiggle Subsequence A sequence of numbers is called a wiggle sequence if the differences between successive numbers strictl
hihor日記:hiho一下 第五十九周
http://hihocoder.com/contest/hiho59/problem/1 題意分析 給定一個單執行緒程式執行的記錄,包含有每個函式啟動和結束的時間。判定該份記錄是否錯誤,主要的錯誤包含: 記錄中的時間不是嚴格遞增的 一個函式的結束時間比啟動時間更早 記錄中一個函
hihoCoder之hiho一下 第六十九周 解題
題目1 : HIHODrinking Game 時間限制:10000ms 單點時限:1000ms 記憶體限制:256MB Little Hi and Little Ho are playing adrinking game called HIHO. The
hiho一下 第二十九周(最小堆優化Prim)
AC程式碼: #include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 5; const int Mod = 1e9 + 7; const int INF = 0x
2019 第八/九周/十周 開發筆記
重新 開發筆記 ica ide cat str 開發經驗 存在 終端 崩潰啊。。。寫了好幾天的博客又不小心把瀏覽器關了。這是重寫的第三遍了。以後一定記住即時發布文章!!!只能勉強回一下了 2019.2.25 八九周的都寫這裏了。終端連接服務器連不上了,是因為服務器重啟了。W
JAVA學習第十九課(java程序的異常處理 (二))
num 函數 錯誤 style col 編譯失敗 return [] java 異常處理的捕捉形式: 這是能夠對異常進行針對性處理的方式 六、try、catch的理解 詳細格式: try { //須要被檢測異常的代碼 } catch(異常類 變量)//改變量用
數據庫第十一周作業
數據 logs alt .com http 第十一周作業 images log 技術 數據庫第十一周作業
第十一周plecs仿真
技術 速度 images ges img .cn idt 積分 nbsp 1、比例控制仿真 比例系數為2,仿真結果如下圖,速度由123rad/s變為121rad/s 2、比例積分控制仿真 調節參數 仿真結果,可以看出轉速無靜差 第十一周plecs仿真
PLECS—模型仿真——第十一周作業
display font 上下 部分 比例 http src img 一周 1. 直流電機單閉環調速系統比例控制仿真 (1)整體電路圖 (2)控制部分電路圖 (3)參數設置 (4)仿真結果 附件:鏈接:http://pan.baidu.com/s/1
第十六周 項目三-max帶來的沖突
watermark html mes name 實例化 定義函數 項目 names nbsp 分析以下程序出現的編譯錯誤,給出解決的方案。 #include<iostream> using namespace std; //定義函數模板 template&l
分布式技術追蹤 2017年第十九期
pla 如何 距離 無法 演變 什麽是 雲平臺 架構流程 增加 分布式系統實踐 1. BigData-‘基於代價優化’究竟是怎麽一回事? http://dwz.cn/5Vq8T8 摘要: 很多同學應該都有認識, SQL的join操作很可能是性能殺手, 如果寫的不好, 性能可
201521123116 《java程序設計》第十二周學習總結
textfile objects test tput bsp cti 目的 字節 指定 1. 本周學習總結 1.1 以你喜歡的方式(思維導圖或其他)歸納總結多流與文件相關內容。 2. 書面作業 Q1.字符流與文本文件:使用 PrintWriter(寫),BufferedR
第十二周學習進度表
wid 安卓 小時 top 網頁 左右 進度表 團隊 了解 第十二周學習進度表 時間 第十二周 所花時間 8個小時左右 代碼量 400行左右 博客量 6篇 了解到的知識點 開始團隊軟件的開發,安卓開發系統。以及網頁
第十五周oj刷題——Problem M: C++習題 矩陣求和--重載運算符
des fcm 輸出 content 運算符 reserve int 習題 tor Description 有兩個矩陣a和b,均為2行3列。求兩個矩陣之和。重載運算符“+”,使之能用於矩陣相加(如c=a+b)。 重載流插入運算符“<&l