訓練日記 24

2021-08-08 14:35:35 字數 1211 閱讀 1912

通過這幾天對線段樹專題例題的研究,發現線段樹並不是一塊很容易啃的肉,雖然對於簡單的單點更新及查詢或區間更新及查詢演算法挺簡單的,也挺好理解的,但是對於一些變化一下的題目,套用起來這個演算法就是個技術活了,而且自己模擬模擬著演算法就容易暈了。再加上課多,基本一道題就得看上他一二天才能研究明白怎麼運用線段樹解決問題的,曾一道例題看了兩天才繞過來是怎麼運用線段樹的。。。

今晚上看了一下北京賽區的練習賽,看了一道關於字串的問題,

題目並不是很難,就是一道找出現的次數最多的連續子字串(中間含空格)問題。雖然題目並不難,但是用基本的對字元以及字串的相關操作進行程式設計,並不是很好寫,可以說是挺麻煩的。。。然後就研究了一晚上大佬們對這類字串問題的簡便操作,同時還複習了一些對字串的相關操作,還有stl中map的相關操作。其中收穫最大的就是stringstream相關對字串輸入輸出的操作。

stringstream需要標頭檔案sstream

stringstream型別的變數可以運用》分別給string型別變數賦值,以空格為界,也就是並不能將空格賦給string類變數。

例:string a;

stringstream ss(字串);

while(

ss>>a)

//這樣即可把各個單詞(即以空格為界的字串)賦給a。

同時stringstream還可以完成各種數字與字串之間的相關轉換 例:

string

到int

的轉換:

string name("12345");

int age = 27;

stringstream os;

os << name;

os >> age;

// age = 12345

coutstring name("12345");

int age = 27;

stringstream os;

os << age;

os >> name;

// name = 27

cout<

其他數字型別的轉換也同理,如字串轉

double型別

stringstream的轉換擁有型別安全和不會溢位這樣搶眼的特性,庫還提供了另外乙個特性—可擴充套件性,可以通過過載來支援自定義型別間的轉換。stringstream的相關操作及用法可能還有很多,今晚上就先掌握了這些,以後要是需要更多相關的操作,再對stringstream進行深入的掌握。

長路漫漫,繼續加油!

訓練日記 20161024

初賽好像不會掛了,好開心!版權原因,不上傳題目。題意 求1 n n 1000 的排列中逆序對恰好為 k 個的排列數目。多測。題解 f i j 表示前 i 個數,逆序對個數恰好為 j的排列個數,易得轉移方程f i j i 1k 0f i 1 j k 用字首和優化可使複雜度降為o n2 題意 對於乙個長...

訓練日記 20170324

長久不更新部落格了。期間經歷了恰好被ag線踩的wc,經歷了漫長痛苦的小高考準備。現在終於可以重整旗鼓,向省選進發!幾個月來,唯一不變的是我仍然是個超級蒟蒻 版權原因,不上傳題目。題意 最小樹形圖 去年就接觸 聽說 過的演算法,一直沒有真正寫過。因為各種奇怪的細節錯誤,調了好幾個小時 比如找環時沒有判...

訓練日記 20170328

今天的題目似乎很水 好多人都提前ak離場了,於是提前一小時收題。但是我還是各種不會。思維江化?話說,聽到一句很有趣的話 山不在高,有林則徐 水不在深,有江 題意 給定一棵有n n 105 個節點的有根樹,編號互不重複。詢問有多少棵子樹內節點編號構成乙個連續區間。題解 水題,對於每個節點 i 記錄以該...