Time of Update: 2018-12-03
摘錄於下, 來源: http://rjwyr.blog.163.com/blog/static/112986400201153061911864/字串操作 #include <iostream>#include <sstream>#include <limits>#include <vector>#include <string>using namespace
Time of Update: 2018-12-03
STL Contianers容器精闢總結一、序列容器(Sequence containers)1、 Vector :一種序列容器,實現為動態數組,元素儲存在連續的儲存位置,支援迭代器和索引訪問。與數組不同的是,可以自動分配儲存空間,容易改變容器大小。當需要頻繁從序列尾部增加或者刪除資料時,可以表現出高效的效能。size記錄了當前容器大小,capacity記錄了當前已指派的最大空間。2、
Time of Update: 2018-12-03
/*******************************************************************/本文總結自《OpenGL入門教程》,大家可以下載。/*******************************************************************/ OpenGL情境中模型顏色的產生,大致為如下的流程圖所描述:++++++++ ++++++ ++++++
Time of Update: 2018-12-03
概述同分治法一樣動態規劃是通過組合子問題的解而解決整個問題的動態規劃的4個步驟:1.描述最優解結構;2.遞迴定義最優解的值;3.按自底向上方式計算最優解;4.由計算出的結果構造最優解;(1-3步是基礎,第4步可以略去) 動態規劃特點,包含重複子問題,可以用圖結構儲存中間結果,不用重複計算。 1.裝配線調度(PS:這圖太磕磣了,沒辦法,原來網頁版的演算法導論在PKU的伺服器上有,現在不讓訪問了,悲劇啊,NB學校就是NB,我等P民只能仰望啊~閑扯啊,各位看官將就著看吧~) 問題:每個車間生產需要生產
Time of Update: 2018-12-03
一、單鏈表的存取 1.找出單鏈表的倒數第K個元素(僅允許遍曆一遍鏈表)兩個指標fast,slow:fast首先前進到第k個位置;然後兩指標共同後移,直到fast到達末尾,slow所指元素即為所求。 2.找出單鏈表的中間元素(僅允許遍曆一遍鏈表)兩個指標fast,slow:fast每次後移2次,slow每次後移1次,直到fast到達末尾,slow所指元素即為所求。 都是利用指標追趕方法。 二、單鏈表與環的問題 1.
Time of Update: 2018-12-03
問題ID:POJ1015中文:描述在遙遠的國家佛羅布尼亞,嫌犯是否有罪,須由陪審團決定。陪審團是由法官從公眾中挑選的。先隨機挑選n個人作為陪審團的候選人,然後再從這n個人中選m人組成陪審團。選m人的辦法是:控方和辯方會根據對候選人的喜歡程度,給所有候選人打分,分值從0到20。為了公平起見,法官選出陪審團的原則是:選出的m個人,必須滿足辯方總分和控方總分的差的絕對值最小。如果有多種選擇方案的辯方總分和控方總分的之差的絕對值相同,那麼選辯控雙方總分之和最大的方案即可。輸入輸入包含多組資料。每組資料的
Time of Update: 2018-12-03
OpenNI支援的映像格式比較單一xn::DepthMetaData depthMD;xn::ImageMetaData imageMD;需要用OpenCV進行下一步操作,則需要將DepthMetaData、ImageMetaData轉換為Mat經過實驗,成功實現了三種方法:#include <stdlib.h>#include <iostream>#include <string>#include
Time of Update: 2018-12-03
題目: I am Jack Chen逆序輸出為 Chen Jack am I 字串處理 福士題方法1.其實是普通迴圈操作(即逆操作)的變形:迴圈移位(XY→YX)逆操作先內部逆序,再全部逆序。 #include <iostream>#include <string>using namespace std;string s = "I am Jack Chen";void swap(int left, int right){char tmp;while(left <
Time of Update: 2018-12-03
OpenNI的深度圖顯示有主要有兩種方法:1.深度值直接賦值方法(同上一篇):缺點:深度圖層次不明顯,主要由於位移操作導致#include <stdlib.h>#include <iostream>#include <string>#include <XnCppWrapper.h>#include "opencv/cv.h"#include "opencv/highgui.h"using namespace std;using namespace
Time of Update: 2018-12-03
在做分類時常常需要估算不同樣本之間的相似性度量(Similarity Measurement),這時通常採用的方法就是計算樣本間的“距離”(Distance)。採用什麼樣的方法計算距離是很講究,甚至關係到分類的正確與否。本文的目的就是對常用的相似性度量作一個總結。 1. 歐氏距離(Euclidean Distance)歐氏距離是最易於理解的一種距離計算方法,源自歐氏空間中兩點間的距離公式。(1)二維平面上兩點a(x1,y1)與b(x2,y2)間的歐氏距離: (2)三維空間兩點a(x1,y1,z1
Time of Update: 2018-12-03
分析:從鏈表結點的定義看,兩個鏈表是單向鏈表。如果兩個單向鏈表有公用結點,那麼這兩個鏈表從某一結點開始,他們的m_pNext都指向同一個結點。從第一個公用結點開始,之後它們所有結點都是重合的,不可能再出現分叉。例如:方法一:分別把兩個鏈表的結點放入兩個棧中,這樣兩個鏈表的尾結點就位於兩個棧的棧頂,然後比較兩個棧頂的結點是否相同。若相同,則把棧頂彈出接著比較下一個棧頂,直到找到最後一個相同的結點。空間複雜度:O(n1+n2),
Time of Update: 2018-12-03
繪製B樣條曲線:#include <stdlib.h>#include <GL/glut.h>//#if 0/// the points of the curve - these are the same as the bezier curve/// points demonstrated in the bezier curve example.float Points[4][3] = {{ 10,10,0 },{ 5,10,2 },{ -5,0,0 },{-10,5,
Time of Update: 2018-12-03
首先聲明這篇文章不是技術帖,純粹word技巧收集整理,為了以後寫畢業論文用。前幾天終於把論文的內容修改過關了,老劉選了好幾個期刊讓我投,改論文格式這件最噁心最恐怖的事情終於又降臨了,碰到個要求嚴格的期刊,改的我想吐血啊~修改論文也學到了不少word技巧,這裡收集起來,為了以後寫大論文和下次再修改時使用: 1.關於腳註與章節附註(海量參考文獻必備) 1.游標移到要插入參考文獻的地方,菜單中“插入”——“腳註和章節附註”。2.對話方塊中選擇“章節附註”,編號方式選“自動編號”,所在位置建議選“節的結
Time of Update: 2018-12-03
二分尋找1.找任意一個出現key的下標 思路:mid位置小於key則low右移,大於key則high左移,等於則直接返回mid2.找第一個出現key的下標 思路:mid位置小於key則low右移,大於等於key則high左移,若low不越界且該位置的值等於key,則直接返回low,否則表示該值不存在3.找最大的小於key的下標 思路:mid位置小於key則low右移,大於等於key則high左移,若high不越界則直接返回high,否則表示該值不存在4.找最後一個出現key的下標
Time of Update: 2018-12-03
題目:給出一個遞增數組,有正數或負數,找到其中絕對值最小的數例如:數組{-8,-5,-1,2, 4},絕對值最小的數是-1.思路:二分尋找0代碼:#include "stdafx.h"#include <iostream>#include <assert.h>using namespace std;//給出一個遞增數組,有正數或負數,找到其中絕對值最小的數//思路:利用二分尋找0int MinAbsNum(int nArr[], int nLength){
Time of Update: 2018-12-03
問題描述:一個小偷去偷金庫(這個小偷比較NB~),帶了一個能承重N的背包,金庫裡放了不同品質的金磚,以(重量,價值)形式給出,問小偷怎樣拿,獲利最大?輸入:第一行:金磚數目, 背包承重能力;其他行:金磚重量, 金磚價值輸出:帶走金磚數目;帶走最大價值;金磚序號input:3 50 10 6020 10030 120output:2220 2 3 這道題是典型的動態規劃,跟公正陪審團問題的解法相似:利用f[j][k]:j=帶走金磚數目,k=金磚重量,f[j][k]:帶走金磚數目=j,且金磚重量=
Time of Update: 2018-12-03
思路:利用二分尋找分別求出該數字在數組中第一次和最後一次出現的位置下標代碼:#include "stdafx.h"#include <iostream>#include <assert.h>using namespace std;//找到數組中第一次出現key的元素的下標int BinarySearchFirstKey(int nArr[], int nLength, int key){assert(nArr != NULL && nLength >
Time of Update: 2018-12-03
方法1:經牛人發現n &= (n – 1)能清除n的最右邊的1,來自微軟的一道面試題:計算傳回值 #include <iostream>#include <bitset>using namespace std;int fun(int n){int count=0;while (n){count++;n=n&(n-1);}return count;}int main(){int m, num;cin>>m;cout<<bitset&
Time of Update: 2018-12-03
===============================================================================這個系列轉載自aladdina旨在對資料採礦十大經典演算法做泛泛的科普式介紹,如果需要深入研究請各位看官移步互連網。================================================================================ 機器學習中,決策樹是一個預測模型;他代表的是對象屬性與對象值之間
Time of Update: 2018-12-03
問題:輸入十進位數字N,統計從1到N的連續數字中,所有的1出現的次數。 例如:•N = 3, f(3) = 1 (只有一位元字的情況)•(兩位元字的情況)•N = 13, f(13) = 6 2+4•N = 23 ,f(23) = 13 3+10•N = 33, f(33) = 14 10+4•……•N = 99, f(99) = 20 10+10 •N =