原创 線性動態規劃方法論小結

Dynamic Programming DP的前提: 有可解順序:大問題可以拆成小問題。如有環的圖上不能跑DAG最短路算法,無環時才能使用DP求出最短路。 最優子結構性質:大問題的最優解必須時從小問題的最優解(而不是其他垃圾解)

原创 C++ 實用主義STL速查:常用算法,string,vector, set & map等增刪改查(ACM、OI等算法競賽適用)

文章目錄常用算法排序sort和順序檢索lower_bound其他的一些遍歷算法累加算法for_each更一般的查找: findcount和count_if最值min_element和max_element刪除remove和去重un

原创 硬幣找零——揹包問題,以及循環、遞歸、動規共通性

在這個題目的基礎上,我瞭解了一下這幾個“編程寫法”,並對循環、遞歸、dp有了新的想法。從原理上,這幾個想法都是大事化小、小事化了。只不過方向不同罷了。 根據The Algorithm Design Manual,解決這類存在順序解

原创 洛谷P1010 自我總結:遞歸和分治

P1010 冪次方 分治的核心是找到每一步的可能結果,不管是正推還是逆推。 在這個題當中每一步都有兩種可能 是2的冪次方 不是2的冪次方 第一種情況對應着2(solve())的結構 第二種對應着尋找一個等比隔項求和式 先開始正

原创 快速冪(log2 p)模板

#include <cstdio> int main() { long long b, p, m;//雖然看似是int範圍,但如果b = 2^32 - 2 = m - 1,那麼就會越界 scanf("%lld%ll

原创 Part 13 (1) Fourier級數基本概念與應用

文章目錄1. Fourier級數基本概念1.1. 概念準備1.1.1. 三角函數系的正交1.1.2. 一種特殊的函數項級數——三角級數1.1.3. 分段分析性質1.2. Fourier係數1.3. 可以展成Fourier級數的條件

原创 [pieces] Quicksort快速排序 模板

模板 這個模板採用了隨機化的思路,相當於是不保存軸點的位置信息。這或許說明Partition算法不能使用隨機化的思路減小qsort的不穩定性。 #include<iostream> using namespace std; int

原创 數據離散化之後 得到的數組有什麼直觀含義? 洛谷P1966

博文鏈接:如果還沒有了解過離散化戳這裏 問題鏈接:P1966 火柴排隊 題目給出了INT_MAX級別的數組。這不僅對面子內存是一個挑戰,最主要的是分散的數組不利於我們進行連續操作。 但是離散化究竟有什麼直觀的含義呢?好像很多人都

原创 怎樣獲取中國大學MOOC字幕 並製作筆記/可搜索的文檔

聲明 本文中所涉及的圖片以及其他材料內容,均爲相關MOOC字幕獲取過程當中的操作截圖或代碼示例,不代表個人的立場、觀點。本文的核心內容是技術操作的相關說明。 求求管理員別卡我了,期末季好不容易寫了一篇嚶嚶嚶我太難了(=___=)

原创 [雜談] 怎樣記筆記

文章目錄關於筆記的實用屬性關於知識邏輯的貫通小結補遺補遺一 關於筆記的實用屬性 學習和真正的解決問題(或者說考試)之間存在隔膜。 爲什麼要記筆記,因爲書太厚了,對於實際使用或者考試備考,根本不允許我們在學習完之後再從頭到尾來一遍。

原创 洛谷P3612

P3612 每次倍增+大數,暗示使用折半。 這個題目自己想到了,但是如下兩點要注意: 注意兩點: 字符串地址-1 輪轉過程是要調頭的(思考,如果剛好在半處,不該停在這一頭,應該找找大端呢) 知識總結: 一般RE歸結爲2-3

原创 [pieces]吃甘蔗——兩端定個數元素和最大問題

題目題目描述輸入輸出幾種思路前綴和法三種僅求解段和的方法在數組兩端滾動拼接數組中段法單中段互補法some trivia 題目描述 1根甘蔗共有N段,美味度爲a[1…N],Sophie想要吃掉其中L段,並且甘蔗只能從2頭開始吃。 求

原创 洛谷P1990 覆蓋牆壁:怎樣解決遞推問題?

題目見 P1990 遞推問題的關鍵是要找到前一次和後一次之間的關係。 只要找到這個關係(或者說,列出表達式),那麼問題已經得到了解決。 這個題目怎樣找到前一次呢? 首先 確定一列i。集中目光在這一列上。 由於有兩種不同的磚

原创 [pieces] 洛谷P1928, P1164:遞歸、基礎揹包

以下這兩個題目代表了遞推當中的兩種基本思路,即遞歸和遞推。 P1928 分析:這是一個分層的問題,這或許告訴我們層數適量的括號匹配可以通過遞歸來做,可以大大簡化思考量。 一份好代碼: 由於遞歸使用棧,不需要其他的數據結構來存儲分層

原创 [雜談] 項目展示與營銷學

由於大作業在十幾天之前就完成了,加以沒有提前準備,所以在展示中很多預先設計得很好的點沒有回憶起來,實在是很可惜。 技術確實是很重要的一方面,但是展示給別人看,往往纔是一個項目得到昇華的過程。想要讓自己的技術不是空中樓閣,唯一的辦法