原创 KMP代碼及思路解析

首先推薦這篇KMP思想的介紹:字符串匹配的KMP算法 KMP代碼的關鍵是: 1、得到搜索串每個字符的匹配值 2、當字符匹配失敗時的轉移 (搜索串指搜索目標串。) 1: 第一個循環:遍歷每個字符,表示搜索的是 該字符及之前所有字符組成

原创 BWT (Burrows–Wheeler_transform) 解碼分析

原文地址: BWT (Burrows–Wheeler_transform)數據轉換算法 原文講解十分詳細,但關鍵地方有點繞,故作分析註釋   因爲進行的是循環移位,且是循環左移注意下面的性質:   1、L的第

原创 nodejs之支持async func的並行forEach

1.支持async func 爲避免callback hell,通常會將異步函數以promise進行包裝,而原生的forEach不支持async func,這裏給出一個支持async func的forEach實現(非原創): //

原创 GetProcessHeap()

GetProcessHeap 這個函數返回一個指向調用線程的堆的句柄。這個句柄可以被用於函數HeapAlloc , HeapReAlloc , HeapFree , HeapSize . HANDLE GetProcessHeap(VO

原创 Python post test

Python2.7 頁面地址:測試頁面 import urllib import urllib2 import cookielib cooker = cookielib.CookieJar() opener = urllib2.bu

原创 GetProcAddress()

GetProcAddress 獲得一個指定動態鏈接庫的輸出函數或者變量的地址。 FARPROC WINAPI GetProcAddress( __in    HMODULE hModule , __in    LPCSTR lpProc

原创 USACO Broken Necklace

按題目給的tips,s+=s;之後從頭開始遍歷,找到所有的r...w...b結構,記錄首尾兩個offset然後向左右遍歷,遇到w或者與對應的offset處一樣的話長度就++; 坑: 最後結果如果大於n說明有重複 如果爲0說明全爲w防止漏

原创 VirtualProtect()

VirtualProtect 改變調用進程的一段頁的保護屬性。要改變其他進程,請使用 VirtualProtectEx 函數。 BOOL WINAPI VirtualProrect( __in    LPVOID lpAddress ,

原创 ReadProcessMemory()

ReadProcessMemory 從特定進程的內存裏讀取數據。被讀取的整個位置應該是可讀的否則操作會失敗。 BOOL WINAPI ReadProcessMemory( __in    HANDLE hProcess , __in  

原创 python 抓取lofterart動態頁面

僅作學習交流只用。 對於動態網頁,可以分析其請求數據,模擬POST,只請求目的數據,佔用資源較少,在網絡帶寬有限的情況下比webbrowser有效。 網站:點擊打開鏈接 下載該網站裏的圖片。 其中圖片列表是動態加載的,從中獲得圖片的I

原创 100層樓摔雞蛋問題

一種石頭,在某一高度扔下就會碎,在這個高度以下不會碎,高度以上一定碎。現在有4個石頭,1000層的樓房,需要測定這個石頭破碎的高度。求最少多少次一定可以測出來。   分析: 這道題我們應反過來考慮,就是用a塊石頭扔b次至多一定可分辨層數X

原创 HeapCreate()

HeapCreate 這個函數創建一個只有調用進程才能訪問的私有堆。進程從虛擬地址空間裏保留出一個連續的塊並且爲這個塊特定的初始部分分配物理空間。 HANDLE HeapCreate(DWORD flOptions , DWORD dw

原创 HeapAlloc()

HeapAlloc 這個函數從一個堆裏分配一塊內存。分配得到的內存是不可移動的。 LPVOID HeapAlloc( HANDLE hHeap , DWORD dwFlags , DWORD dwBytes); 參數: hHeap:堆句

原创 USACO Milking Cows

Three farmers rise at 5 am each morning and head for the barnto milk three cows. The first farmer begins milking his c

原创 大整數運算---模擬筆算

/* *m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×10+a[1] *其中a[0]保存該長整數的位數。 * *模擬筆算 */ #include<iostream> #include<cstring> using n