原创 hdu3746kmp循環節

題目大意: 給定一個字符串s, 問至少在s的後面添加幾個字符才能使s成爲以一個循環節至少出現兩次的字符串。 思路: 利用kmp算法的next數組求循環節。假設當前字符串s的長度爲n 若next[n] ==0,則需要添加n個字符,使之變爲最

原创 hdu3336(kmp)

題目大意: 給定一個字符串s,求s的每個前綴在此字符串中出現的次數,然後對次數求和,然後再對10007取模,就是要輸出的答案。 思路: 剛開始也許會想,枚舉前綴,求出每個前綴出現的次數,但這樣效率太低。 利用kmp算法的next數組可以很

原创 poj2155(樹狀數組)

// #include<cstdio> #include<cstring> const int maxn = 1005; int c[maxn][maxn],n,t,T; int lowbit(int x) { return x & (

原创 面試題40(數組中出現一次的數字)

#include <iostream> using namespace std; const int maxn = 100; int a[maxn]; void findNumberAppearOnce(int* data, int l

原创 《劍指offer》面試題4(合併數組)

#include <iostream> using namespace std; void mergeArray(int *A1,int& length1, int*A2, int length2)//把A2合併到A1中,假設A1,A2

原创 it智力題

1、假設你站在鏡子前,擡起左手,擡起右手,看看鏡中的自己。當你擡起左手時,鏡中的自己擡起的似乎是右手。可是當你仰頭時,鏡中的自己也在仰頭,而不是低頭。爲什麼鏡子中的影像似乎顛倒了左右,卻沒有顛倒上下? 答:上下和左右的定義不同,上下是面對

原创 reader and writer

Var rmutex,wmutex: semophore:=1,1; Readcount: integer:=0; begin parbegin Reader: begin repeat wait(rmutex

原创 linux PATH環境變量全解析

  關於PATH的作用:  www.2cto.com   PATH說簡單點就是一個字符串變量,當輸入命令的時候LINUX會去查找PATH裏面記錄的路徑。 比如在根目錄/下可以輸入命令ls,   在/usr目錄下也可以輸入ls, 但其實ls

原创 hdu2594kmp

題意: 給定兩個字符串p和s,求字符串p的前綴和字符串s的後綴能匹配的最大長度,並輸出匹配的子串 思路: 把s連接在p的後面,對新的字符串p求next數組,#include <cstdio> #include <cstring> cons

原创 《劍指offer》面試題4(替換空格)

#include <iostream> #include <cstdio> #include <cstring> using namespace std; void replaceBlank(char* str); int main()

原创 zoj1002(Fire Net)

題目描述:         給定一個二維的字符數組,'X' 表示當前位置是wall, '.' 表示當前位置可以放置blockhouse。求最多能在給定的圖形中放置多少各blockhouse。(要求blockhouse之間不能在同一行或同一

原创 ubuntu14.04安裝搜狗輸入法

 deb格式的搜狗輸入法,搜狗拼音官網可以下載到 如果你的系統已經裝過fctix請先完全卸載 sudo apt-get purge fcitx* sudo purge autoremove2 使用deb安裝工具gdebi,這個

原创 hdu2087(kmp)

題意: 給定一個文本串s和一個模式串p,找出模式串在文本串中出現的次數。注意:模式串在文本串中出現的位置不能重疊 當然本題不用kmp算法也能通過,借用本題回憶一下kmp算法。 kmp算法要用到一個數組記錄一下信息,此數組取名爲next[

原创 《劍指offer》鏈表的結點的插入刪除

#include <iostream> #include <stack> using namespace std; struct ListNode { int value; struct ListNode* next;

原创 《劍指offer》面試題10(二進制中1的個數)

#include <iostream> using namespace std; int numberOf1(int n) { int cnt=0; while(n) { n=n&(n-1);