Time of Update: 2018-12-05
-----Edit by ZhuSenlin HDU 本人博文《背包問題——“01背包”最優方案總數分析及實現》及《背包問題——“完全背包”最優方案總數分析及實現》中分別談過“01背包”和“完全背包”實現最大價值的方案總數,這裡我們再討論一下這兩種背包被物品剛好裝滿的方案總數。 網上各大公司經常出題目:假設現在有1元、2元、5元的紙幣很多張,現在需要20塊錢,你能給多少種找錢方案,這就可以認為是完全背包問題,即背包容量為20,物品體積分別為1、2、5。
Time of Update: 2018-12-05
給定一個數組a[N],我們希望構造數組b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在構造過程中,不允許使用除法:要求O(1)空間複雜度和O(n)的時間複雜度;除遍曆計數器與a[N] b[N]外,不可使用新的變數(包括棧臨時變數、堆空間和全域靜態變數等) 解析:設b[0]=1由b[i]=b[i-1]*a[i-1]可得b[1] = a[0]b[2] = a[0]a[1]…b[i] = a[0]a[1]a[2]…a[i-1]…b[n-1] = a[0]a[1]…a[n-2
Time of Update: 2018-12-05
-----Edit by ZhuSenlin HDU 完全背包是在N種物品中選取若干件(同一種物品可多次選取)放在空間為V的背包裡,每種物品的體積為C1,C2,…,Cn,與之相對應的價值為W1,W2,…,Wn.求解怎麼裝物品可使背包裡物品總價值最大。動態規劃(DP): 1) 子問題定義:F[i][j]表示前i種物品中選取若干件物品放入剩餘空間為j的背包中所能得到的最大價值。 2) 根據第i種物品放多少件進行決策
Time of Update: 2018-12-05
找出二叉樹上任意兩個結點的最近共同父結點。 要求兩節點的最近共同父節點(LCA,lowest common ancestor),可以採用樹的後序遍曆。如果這兩個節點不在一條線上,則它們必定分別在所求節點A的左子樹和右子樹上,後序遍曆到第一個滿足這個條件的節點就是所要求的節點A。另外,當這兩個節點在一條線上,所求節點A則是這兩個節點中層次最低的節點的父節點。static bool lca(Node *root, int va, int vb, Node *&result, Node*
Time of Update: 2018-12-05
【摘要】 本文針對一類近期經常出現的有關最大(或最優)子矩形及相關變形問題,介紹了極大化思想在這類問題中的應用。分析了兩個具有一定通用性的演算法。並通過一些例題講述了這些演算法選擇和使用時的一些技巧。 【關鍵字】 矩形,障礙點,極大子矩形 【本文】一、 問題最大子矩形問題:在一個給定的矩形網格中有一些障礙點,要找出網格內部不包含任何障礙點,且邊界與座標軸平行的最大子矩形。 這是近期經常出現的問題,例如冬令營2002的《奶牛浴場》,就屬於最大子矩形問題。 Winter Camp2002,
Time of Update: 2018-12-05
系統段type欄位##########################0 未定義 1 可用286TSS 2 LDT 3 忙的286TSS 4 286調用門 5 任務門 6 286中斷門 7 286陷阱門 8 未定義 9 可用386TSS A 未定義 B 忙的386TSS C 386調用門 D 未定義 E 386中斷門 F 386陷阱門 #########################CS轉移對於非一致程式碼片段,要求CPL=DPL,RPL<=DPL;對於一致程式碼片段,要求CPL>
Time of Update: 2018-12-05
拷貝的時候要注意源記憶體位址和目的地址之間的關係,就是源記憶體位址和目標地址是否交叉。1,如果沒有交叉的情況,那直接迴圈拷貝就可以了。2,如果有交叉的情況,交叉的情況也分為兩種第一種:這種情況是:src>=dst&&src<=dst+count-1第二種:這種情況就是:dst>src&&dst<src+count-1.下面以數組:int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};為例,進行:memcpy(
Time of Update: 2018-12-05
i8048Although most set two make codes are only one-byte wide, there are a handfull of "extended keys" whose make codes are two or four bytes wide. These make codes can be identified by the fact that their first byte is E0h. you won't always have
Time of Update: 2018-12-05
通過中斷門的轉移和通過陷阱門的轉移之間的差別只是對IF標誌的處理。對於中斷門,在轉移過程中把IF置為0,使得在處理常式執行期間屏蔽掉INTR中斷(當然,在中斷處理常式中可以人為設定IF標誌開啟中斷,以使得在處理常式執行期間允許響應可屏蔽中斷);對於陷阱門,在轉移過程中保持IF位不變,即如果IF位原來是1,那麼通過陷阱門轉移到處理常式之後仍允許INTR中斷。因此,中斷門最適宜於處理中斷,而陷阱門適宜於處理異常。
Time of Update: 2018-12-05
題目:輸入一個正數 n,輸出所有和為 n連續正數序列。例如輸入 15,由於 1+2+3+4+5=4+5+6=7+8=15,所以輸出 3 個連續序列 1-5、4-6和 7-8。 方法一:首先判斷n最多能由幾個連續數的和得到,假設最多由M個連續數和得到,那麼M(M+1)/2=n這樣很容易求得M=(sqrt(8n+1)-1)/2。由題義可知,n至少需要由兩個連續數和得來,所以外層迴圈從2到M那麼是不是2到M中每一種情況都存在連續數和等於n呢?顯然不是假設n由k個連續數和得來,2<=k<M,
Time of Update: 2018-12-05
1.8 小飛的電梯調度演算法 假設電梯有n層,上樓要消耗能量k1,下樓要消耗能量k2,用a[i]表示要在第i層下的人數,Si為到i層時已經下(包括i層)的總人數,則總人數S=Sn。若用F(i)表示電梯在i層停時要消耗的總能量,則電梯在i+1層停時,有Si人要多下一層,(S-Si)人少上一層。則: F(i+1) = F(i) + k2*Si - k1*(S-Si) = F(i) + (k2+k1)*Si – k1*S = F(i) + G(i) (定義G(i) = (k2+k1)*Si –
Time of Update: 2018-12-05
不改變正負數之間相對順序重新排列數組(時間O(N),空間O(1))原帖位置:http://blog.csdn.net/v_july_v/article/details/7329314問題:請看原帖原帖解決方案評論:區間翻轉的最優解決方案是採用二分法進行區間翻轉,因此其最差時間複雜度為O(NlogN),認為該思路無法解決該問題。例如: (+-)(+-)(+-)(+-)(+-)(+-)(+-)(+-) (+-)(+-)(+-)(+-) (+-)(+-) (+-)
Time of Update: 2018-12-05
自從1月20日回家後,這幾天的進度不盡人意,看完了100多頁的ATA-2的英文文檔,也開始編寫較複雜的硬碟驅動了,不過每天都是一個人在家,實在無聊,悶得發慌阿,一整天沒個人可以說話聊天的,簡直跟坐牢差不多,一出門發現自己頭暈暈的,沒點精神.再加上隨身碟的資料線丟了,想把最近寫的hard disk
Time of Update: 2018-12-05
C庫函數手冊=http://blog.csdn.net/shaohui/archive/2004/11/05/167969.aspxxxlinux=http://www.xxlinux.com/list.asp?boardid=26linux_kernel_1=http://www.yesky.com/20010813/192098.shtmlLinux Kernel 2.4
Time of Update: 2018-12-05
今天在實驗室服務器上安裝了最新版本的WP: WordPress 3.3 ,並把原來的xampp卸載了,安裝了wamp。出現了兩個錯誤,搜尋後都得到瞭解決,在此記錄一下一、出現 “ 缺少 mysqli 擴充 ” 的錯誤,解決方案:右下角wamp -> PHP -> php.ini:extension_dir =
Time of Update: 2018-12-05
實習總結: 大四實習我選擇了留校開發作業系統的方式,經過兩個多月的實習感觸萬分,無論從知識,能力,人生,還是自身進步來看都是這樣。
Time of Update: 2018-12-05
某任務A發生中斷,進入特權級0中斷處理常式,3級的ss,esp,eflag,cs,eip,error_num都被壓入0級堆棧, 在中斷處理常式中又開啟中斷,允許被其他中斷再次中斷,在A的中斷處理常式再次關閉中斷前, 又發生了時鐘中斷,並切換任務,這時候任務A的所有寄存器都被存入它的TSS段中.... 等到任務A再次被調度時,裝入A的TSS段中的寄存器值,A恢複到0特權級,0特權級的堆棧中還儲存有切換前壓入的值.以上適合搶佔式核心,linux屬於非搶佔式核心. 我知道假如A從特權級0切換到特權級3
Time of Update: 2018-12-05
初中剛接觸電腦時,就對PPT產生了興趣。最近結識了一些PPT大牛,學習了一些技巧,在此做個記錄,分享一下。首先,簡單介紹下PPT的應用,不論是做課件、做報告、做演講,PPT都佔據著一壁江山。但PPT不只是演講工具,它還可以做宣傳片!下面整理了一下我的PPT學習筆記以及一些小技巧(按 Office 2010 Powerpoint 菜單順序,常用或進階功能會用黃色底色標註):一、開始剪下板
Time of Update: 2018-12-05
perfect shuffle 演算法 今天又發現一個關於完美洗牌的演算法。這個比較簡單一些,由 microsoft的Peiyush Jain提出。 原論文: A Simple In-Place Algorithm for In-Shuffle. Peiyush Jain, Microsoft Corporation. July 2004 問題描述: 所謂完美洗牌演算法即是把輸入為: a_1,a_
Time of Update: 2018-12-05
3.1. Standard Programming SequenceTo initiate a bus master transfer between memory and an IDE DMA slave device, the following steps arerequired:1) Software prepares a PRD Table in system memory. Each PRD is 8 bytes long and consists of anaddress