2017暑假訓練第二十一天
今天的訓練繼續做了有關於樹狀陣列和線段樹的題目,這些題難度確實遠大於之前做的那些二分和圖論的題目。主要是樹狀陣列和線段樹是一種類似於可以處理區間問題的工具,這種工具可以大大節省區間運算的時間,但是也需要大量的題目擴充套件思路。今天做的第一個題是一個用樹狀陣列優化的dp題目,題目很簡單,但是想到用樹狀陣列和怎麼用樹狀陣列卻是十分難的一件事。然後做了一道三維樹狀陣列的區間染色類問題,這個腦洞也相當的大。相對於一維的的樹狀陣列區間染色問題,這個問題更是腦洞巨大,8個add的更新解決問題,也就是2^3次的染色和去重。
感覺樹狀陣列和線段樹都是一種非常有用的處理區間的工具,但是需要思維的訓練,和dp題一樣,需要思維的高度。
相關推薦
2017暑假訓練第二十一天
今天的訓練繼續做了有關於樹狀陣列和線段樹的題目,這些題難度確實遠大於之前做的那些二分和圖論的題目。主要是樹狀陣列和線段樹是一種類似於可以處理區間問題的工具,這種工具可以大大節省區間運算的時間,但是也需要大量的題目擴充套件思路。今天做的第一個題是一個用樹狀陣列優化的dp題
2017暑假訓練第二十天
今天早上的訓練研究了一下線段樹求最大值的演算法,建樹方法方法大致與模板相同,多了一個有關最大值的內容: tree[id].max=max(tree[2*id].tree[2*id+1]); 意思也很好理解,就是根節點的最大值等於左子區間和右子區間的最大值的較大者
2017暑假訓練第十五天
既然不用做題了,就細細的理解一下知識點,決定學一點寫一點,寫點有用的東西。 首先是看了一下用樹狀陣列求逆序數,看了好多版本,有直接求算的,有用結構體存取,再排序後計算的,但是總體的思路都是一樣的,i-sum(i),用這個數減去之前輸入的比他小的數的個數,總的看了一下
2017暑假訓練第十二天
今天的訓練主要完成了有關單調佇列的兩個題,一個是有關於最大的全1矩陣,這個題我一開始的思路是借用了以前所學過的一個有關求最大子矩陣和的dp題目的思路,將二維的矩陣壓縮成一維,然後求一維的最大子段和,依照這個思路,我的想法仍然是這樣合成,最後逐次對行建立單調佇列,依據單調
2017暑假訓練第十八天
今天的訓練簡單的看了一下樹狀陣列的內容,然後打了一場比賽,超出預期的a出來兩道題,第三道題是一個很水的題,這個沒什麼說的,而第五題能出來的原因我認為是不懈的堅持,一開始連題意都看不懂,什麼cell,又是either否定詞,後來因為第四題遲遲出不來,我們便開始了推理性的試
2017暑假訓練第十天
今天的訓練開始了二分和單調佇列的練習,由於練習中有以前的原題,憑藉著記憶,1a了所有的原題,而後完成了兩道單調佇列的題,感覺細節把握上還需要更加的準確,尤其是陣列滾動的狀態和初始化等等方面,簡單的看看課件,和自己實際的操作還是有一定的差距的,細節注意不到就會鑄就大的錯誤
Python初學者第二十一天 函數(4)-內置函數
獲取幫助 整除 集合 進制 bubuko min exec oct color 21day 內置函數: 1、abs()絕對值函數 2、dict()創建一個字典 3、help()獲取幫助信息 4、min()從一個列表中取出最小的數 5、max()從一個列表中取出最大
第二十一天
nbsp 看書 痛苦 目標 大三 才會 身體 感到 那種 唉,今天又做了一天的工 真的是連手都擡不起來了 肩膀巨酸 這也真的可以預見到 我老媽是真的辛苦 只有當你自己親身體驗這種痛苦的時候 你才會了解到 一種真心實意的疲倦 可那一切 只因為一個目標 為了實現自己的目標 義
第二十一天 PYTHON學習
pre with open try get end 查找 element ons upd 【今日學習】 一、什麽是序列化? 我們把對象(變量)從內存中變成可存儲或傳輸的過程稱之為序列化,在Python中叫pickling,在其他語言中也被稱之為serialization,m
python學習第二十一天
1.關於模組。 import from xxx import xxx2.Collections 1. Counter 計數器 2. 棧: 先進後出. 佇列:先進先出 deque:雙向佇列 3. defaultdict 預設值字典 4. named
java學習之路——第二十一天
哎 這個培訓機構真的是扣的要命,那麼多錢就是不找好的老師,10個班了,就五個老師上課,導致頻繁換老師。這叫我們怎麼去學。希望大家別被騙到這 目前我們掌握的API  
孤荷淩寒自學python第二十一天初識python的類
生命 公開 實參 如果 出現 訪問者 進化 類的定義 ima 孤荷淩寒自學python第二十一天初識python的類 (完整學習過程屏幕記錄視頻地址在文末,手寫筆記在文末) 類是面向對象的編程語言非常重要的概念。 編程語言的進化史中從順序編程到結構化編程,最後才進化出面
linuxC學習第二十一天
一、預編譯相關 1、define (1)define的用法 (1)#define定義巨集常量可以出現在程式碼的任何地方 (2)從#define巨集定義位置開始,以後的程式碼就都可以使用這個巨集了 (3)編譯器會在預處理的時候用真身替換巨集 (2)定義函式 #define SUM(
菜鳥學Python第二十一天
面向物件程式設計 兩種程式設計思想 面向過程:解決問題的步驟,先幹什麼後幹什麼,按照步驟一步一步就解決問題.基於該程式設計思想就好比是在編寫一條流水線,是一種機械式的思維方式. 優勢:複雜問題流程化,進而簡單化 劣勢:可拓展性差,維護性差.
Qt第二十一天
續接昨天 繪畫餅圖和堆疊柱狀圖 void MainWindow::on_btnBuildBarChart_clicked()//重新整理柱狀圖 { buildBarChart(); } void MainWindow::iniPieChart()//初始化PieChart {
Java第二十一天學習筆記~字元流緩衝區
字元流 Reader是字元輸入流的基類,用於從某個源裝置讀取字元 Writer是字元輸出流,用於向某個目標裝置寫入字元 字元流操作檔案 字元輸入流FileReader,通過此流可以從關聯的檔案中讀取一個或一組字元。 在程式開發中,經常需要向檔案中寫入字元,可以使用Writer的一
【譯】你不知道的 Chrome 除錯工具技巧 第二十一天:Snippets(程式碼塊)
特別宣告 本文是作者 Tomek Sułkowski 釋出在 medium 上的一個系列。據作者透露一共有 24 篇,一直更新到 12 月 24 日 版權歸原作者所有。 作者在 Twitter 上推薦我們的中文翻譯啦,截圖在最後 譯者在翻譯前已經和作者溝通得到了翻譯整個系列的授權。 為了不影響大家閱讀,
IFE第二十到第二十一天:讓你和頁面對話
test1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8">
第二十一天 -- hive補充 -- hive分割槽、分桶 -- hive資料匯入匯出
第二十一天 – hive補充 – hive分割槽、分桶 – hive資料匯入匯出 一、Hive基礎補充 使用的表及表資料 dept CREATE TABLE dept( deptno int, dname string, loc strin
2017開學訓練第十一週週中總結
這週週一滿課,晚上回來寫了寫作業就到斷電了,拿著手機當手電筒複習了一下週末看的圖論二分圖的基礎知識,主要是定義方面的。二分圖的典型問題就是結婚找物件這類的分配問題,簡而言之就是兩組之間配對,給了一組裡面的想要的物件的範圍,讓儘可能多的人滿意,就是二分圖的匹配,要是都能心