原创 [Backtracking]Algorithm+[LEETCODE]examples彙總

遞歸回溯也是經常用到的,最近重新看了兩道,歸納一下吧。 對於此類的問題,關鍵點是找遞歸開始即回溯回來的點。例如:對於數組問題,典型的這個點可以是:(1)index是否到末尾了?(2)當前元素是否進行使用過了? 話不多說,看下面三類典型

原创 [C++][STL]next_permutation字典排列使用

字典順序排列的問題也經常碰到,現在習慣直接使用next_permutation函數,你要我返回第幾個我就返回第幾個。 對應的,next_permutation(start,end)和prev_permutation(start,end)。

原创 Trie[字典樹]詳細總結及例題[給定題解AC beats>=90%]

1. Trie樹 Trie樹,即字典樹,又稱單詞查找樹或鍵樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用於統計和排序大量的字符串(但不僅限於字符串),所以經常被搜索引擎系統用於文本詞頻統計。它的優點是:最大限度地減少無謂的字符串比較

原创 DP[dynamic programming]問題彙總分析解答(二)

矩陣DP 這一類的DP問題個人覺得是比較簡單的一類,基本方法歸結爲下: 1.明確dp[i][j]位置代表的內容,可以爲到當前爲止的累加和;當前位置的方法總數等等 2.明確當前的(i,j)位置可由之前的哪一種狀態變化而來,例如很多矩陣情況

原创 DP[dynamic programming]問題彙總分析解答(一)

DP的問題也是繞不開啊,基本思想從0-1揹包而來,已經進行過總結了。其他還有好多種的變形,一種種來歸納吧 (一)兩個序列的DP問題(給定兩個string) 這類的題目總結後以下述幾步解決即可。   1.在兩個序列的情況下,往往是用二維D

原创 DP中揹包問題總結

1.01揹包:有n種物品與承重爲m的揹包。每種物品只有一件,每個物品都有對應的重量weight[i]與價值value[i],求解如何裝包使得價值最大。 //基本問題:二維vec->滾動vec->一維vec http://note.youd

原创 《深度探索c++對象模型》筆記總結(一)

首先先明確一個宗旨及兩個概念: 宗旨:C++在佈局及存取時間上主要的額外負擔是由virtual引起的 1.虛函數:C++多態的基本實現,沒什麼好說的,詳細見如下打包筆記:虛函數 2.虛基類:用來處理菱形繼承時候,在派生類中數據有重複的問題

原创 TCP連接擁塞控制四種方法總結(詳細簡單,穩的一批)

擁塞控制的一般原理 在某段時間,若對網絡中某一資源的需求超過了該資源所能提供的可用部分,網絡的性能就要變換,叫做擁塞 擁塞控制和流量控制的區別: 擁塞控制往往是一種全局的,防止過多的數據注入到網絡之中,而TCP連接的端點只要不能收到對方的

原创 LEETCODE NO.32 Longest Valid Parentheses 詳細解答

先來看一下問題描述  分析:  1.考慮用棧來進行輔助,每次遇'('進行入棧,當遇')'時進行判斷,如果棧非空,那麼將棧頂元素所對應序號處的'('對應爲當前遇到的')'(也就是說我們首先找到了離得最近的滿足條件的左右括號,後續判斷的時候

原创 計網概要

 僅作綱要概述        

原创 TCP連接中的握手與揮手總結

看了很多關於建立與釋放鏈接的博客也好,本科時候教材也好,總結如下,修正了圖上一些覺得有必要填上的序列號等等,並且將整個過程梳理了一遍,重點注意的東西也標記了,私以爲條理湊合算得上清晰。參考博客在最後。 先來看一下TCP的報頭   其中等會

原创 C++虛函數(2)

class x { char *p; public: x(int sz) {p=new char[sz];} virtual ~x(){cout << "~x()\n"; delete []p;}

原创 C++友元

 

原创 C++虛函數

     

原创 C++重載