原创 ubuntu中的Wine詳解

什麼是wine?(轉自百度百科,具體看百科) wine,是一款優秀的Linux系統平臺下的模擬器軟件,用來將Windows系統下的軟件在Linux系統下穩定運行,該軟件更新頻繁,日臻完善,可以運行許多大型Windows系統下的軟件。另外

原创 【wikioi】1011 數的計算

題目鏈接 普通的搜索(or遞推) //因爲每次都是加小於c/2的自然數,所以只需要遞歸每次生成自然數即可 #include <iostream> using namespace std; int ans = 0; void dfs(in

原创 【wikioi】1010 過河卒

題目鏈接 算法:DFS+剪枝 剛開始最容易想到的是樸素搜索 #include <iostream> using namespace std; int n, m, X, Y; int ans = 0; void dfs(int i, in

原创 【wikioi】1116 四色問題

題目鏈接 算法:DFS 剛開始卡了一下,但後面想了想,於是 放上代碼: #include <iostream> using namespace std; bool map[9][9]; int c[9]; //隨便命名四種顏色 int

原创 【wikioi】2822 愛在心中

題目鏈接 算法:Tarjan+dfs(最短路的都行,判連通而已) 先了解一下什麼是Tarjan Tarjan算法用於求出圖中所有的強連通分量。 轉自NOCOW:點擊打開鏈接 ================================

原创 【wikioi】1018 單詞接龍

題目鏈接 算法:BFS+考你閱題 題目描述     單詞接龍是一個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定一個開頭的字母,要求出以這個字母開頭的最長的“龍”(每個單詞都最多在“龍”中出現兩次),在兩個單詞相連

原创 【wikioi】1295 N皇后問題

題目鏈接 算法:DFS 剛開始卡了我一下,我竟然傻到用二維來放皇后= =。導致一直TLE。。。。 其實用1維就行了的,下標爲行(列),值爲列(行) 我是用下標爲列做的。 上代碼 #include <iostream> using na

原创 分解質因數和求因數個數

一個正整數N>1,必定可以分解爲若干質因數相乘,即N=2^x1*3^x2*...*prime^xi,prime<=N 分解時一步步求N mod i , 2<=i<=N,然後N /= i,即可,具體證明算了= =。。因爲能分解下去就一直分解

原创 篩質數

常用的有2種算法,分別有不同的用途。 1、暴力枚舉 O(sqrt(n)) 常用於判斷單個或少量數是否質數 2、一般的線性篩 O(n^2) 常數挺小,常用於O(1)查找是否質數,但需要開O(n)大小的數組 3、快速線性篩(歐拉篩) O(n)

原创 關於轉載了本博客文章的聲明

本博客已被放棄 文章沒有得到記時更新 大量bug在新博客http://www.cnblogs.com/iwtwiioi 已得到更新 所以之前轉過本博客文章的 請到新博客重新

原创 【wikioi】1025 選菜

題目鏈接 算法:01揹包DP 此題主要是預處理噁心。我提交了2次。。。第一次數組開小了。。。(體積要=V*10) 注意: 錢做爲體積,美味價值作爲價值 注意,因爲體積(錢)是小數點後1位,故數組下標無法表示體積(01揹包),所以體積(錢)

原创 1^b+2^b+3^b+...+n^b數列

(聽說高中有,但是我還沒看,所以就自己推了下) 首先,這是我自己推出來的,O(n),常數巨大。所以無能爲力優化!所以求此數列的公式!求優化!!! 數據有 a組數據,a<=100 n,b≤1000000000 不優化成O(1)絕對TLE 要

原创 最大公倍數和最小公倍數

最大公約數(歐幾里德算法or輾轉相除法) 我們用gcd(a, b)表示a和b的最大公約數,那麼 gcd(a, b) = gcd(b, a%b) 時間複雜度: O(lgb) 具體證明很多的,百度即可。 代碼: int gcd(int a,

原创 快速冪

其實很好理解的,O(lg b)的時間複雜度,b是指數 點我打開百科鏈接 我就大概說一下。 如果b = 11, 那麼對應的二進制爲1011,即答案 11的二進制是1011 11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1 那麼