原创 二維前綴和——激光炸彈 算法進階指南

這個題讓求在一個二維的圖表內,計算邊長爲R的正方形的總價值 這個題就是反覆對這個思路的運用 首先將每一點的與(0,0)所圍成的面積的權重求出來 g[i][j]+=g[i-1][j]+g[i][j-1]-g[i-1][j-1] 然後下

原创 IncDec序列——差分序列的運用

只要有這種對一定區域進行統一加減的題目,首先考慮到差分。 這一道題的思路就比較簡單了,首先如果你想確定l和r的區間,但是你發現,這個區間是不確定的,但是對一個差分序列在[l,r]的區間進行統一加減就代表了在差分數列b[l+1]++,b[

原创 奇怪的漢諾塔——算法進階指南

  在我們平常的時候做題,一般見到的三個柱子的漢諾塔比較多,這個題是四個柱子,但是我們也就是多做一步而已。 首先我們要記錄出三個柱子移動時候的情況,以便後續會用到。 所以完成這個動作的代碼是用到了遞推的思想:代碼如下: for(int

原创 新手入門——遞歸實現指數型枚舉結合位運算

題目是這樣的,下面就是我的代碼,部分關鍵地方有代碼註釋,此博客主要用於我後期的複習來用,所以我會努力讓自己理解明白     #include<iostream> using namespace std; int n; void d

原创 彙編小程序實例詳細解釋——IBM彙編

由於快要期末考試了,我也準備開始本學期的專業課彙編語言的學習了hh(原諒我菜 orz) 彙編很強,讓我知道了計算機的cpu在進行工作時都是用加法來完成的 所以聰明的計算機工程師們將世間萬物的計算通過數學方法來轉換成加法運算,所以彙編語言讓

原创 報時助手——藍橋杯基礎練習

我之所以寫這個博客,因爲關於字符串存儲的問題 題目的描述是這樣的 這道題的思路還是比較簡單的,把這些情況全部定義成一個數組,來保存字符串,下面是我的代碼: #include<iostream> #include<cstring> #i

原创 Leetcode_大數乘法—43. Multiply Strings

題目意思就是將兩個數字構成的字符串相乘,然後輸出,這個題說白了就是一個模擬題,來模擬人們在豎乘的過程中的方法。 下面是我的代碼: class Solution { public: string multiply(string

原创 水題—poj1004計算12個數字的平均數

在這個題目中我之所以來做總結是因爲這其中對於輸入和輸出格式很嚴格,其中用到了幾個函數首先展示一下我的代碼: #include<iostream> #include<iomanip> using namespace std; int

原创 基本數據結構第一篇——位運算

在所有現代cpu中都是以二進制方式表示數據,所以使用位掩碼來計算的優點 1、更快的執行速度、 2、更簡潔的代碼、 3、更少的佔用內存量 4、用數組代替關聯數組 首先是按位與 按位與(&) 對兩個數進行操作,然後返回一個新的數,這個數的每

原创 784. Letter Case Permutation_dfs_搜索

此題題意的意思是,給定一個大小寫和數字混合的字符串,輸出的字符串必須滿足字符串中大寫變成小寫,小寫變成大寫, 首先定義一個全局變量來存儲答案。因爲每一個字符所在的位置輸出不變,所以不用循環來遍歷只需要遞歸搜索(u+1)來實現對於下一個字

原创 Leetcode_dfs_93. Restore IP Addresses_IP地址問題

此題所想表明的意思是,在題目給定的一串以數字組成的字符串,讓你分割成IP地址,IP地址每一位數字必定小於256大於0,如果爲零,單獨一位給零。 所以我們這個題用枚舉的思想來做即首先定義一個全局變量,vector<string> ans,

原创 我的算法之路之c++做題用到的實用函數

substr()函數的用法: substr有2種用法: 假設:string s = "0123456789"; string sub1 = s.substr(5); //只有一個數字5表示從下標爲5開始一直到結尾:sub1 = "5678

原创 Leetcode_394_ Decode String_dfs搜索_我的算法之路_解密字符串

在這個題目中,在給定3[a]2[bc]這種形式的字符串,我們需要來解密這個字符串,即用遞歸的思想來做下面是我的代碼 class Solution { public: string decodeString(string s)

原创 LeetCode—77. Combinations_遞歸暴力搜索_dfs_深度優先

題目是這樣的: 首先說明這是一個經典的遞歸窮舉搜索問題——dfs(深度優先搜索)題目給定N在從1...........n中存在K個數組能夠排列,就是從n中選擇k個數字進行排列。 首先老套路定義一個全局變量來接受所得的答案,然後在函數中定

原创 Leetcode_dfs_遞歸問題_暴力搜索問題

  在這個題目中,題目的意思是將每一個字符串中的英文字母轉化爲相反的大小寫然後再輸出,首先觀察到的是將字符串本身輸出了,所以在搜索前先將字符串 本身搜索一遍 class Solution { public: vect