原创 uvalive(NIM博弈)

題意: 給出有n堆石子;然後每次選一堆,取不能超過一半;誰不能取了,誰就輸了; 思路: 標準NIM博弈題;不過還是ai 太大,我們不能求出所有sg值; 所以先求小部分sg值;然後找規律; 觀察得出;sg(n) = n % 2 == 0

原创 poj3018(歐拉路)

題意: 給出一張圖;要求走過的邊不能再走; 需要分幾個隊伍才能訪問完,就是要畫幾筆; 思路: 算每個聯通分量的奇點個數; 每兩個奇點,就需要一隊人訪

原创 uva11542(高斯消元)

題意: 給定一些數字,保證這些數字質因子不會超過500,求這些數字中選出幾個,乘積爲完全平方數,問有幾種選法 思路:對每個數字分解成質因子後,發現如

原创 uva11722(概率)

題意: 兩個人到達車站的時間分別是t1-t2, s1-s2;並且到站後停留w分鐘.問相遇的概率; 思路: 高中數學學過這個問題;首先是x軸取t1, t2,y軸取s1,s2畫四條線,圍出的矩形就是全集,即所有可能行; 然後兩個人要相遇,則

原创 uva11806(數論)

題意: 要將k個棋子放到n*m的棋盤上,求要求第一行,第一列,最後一行,最後一列必須要有棋子,問有幾種放法; 思路: 大體的思路就是求出所有的放法,然後減掉不符合的放法; 所有的放法就是C(n*m, k) ; 那麼第一行沒有的放法就是C(

原创 uva11361(數論DP)

題意: 基本是看了大白上的思路,然後還參考了http://blog.csdn.net/lenleaves/article/details/9104417 統計大於等於a,小於等於b,每一位之和可以被k整除,且本身也能被k整除的數的數

原创 uva1073(數論)

題意:一個邊平行與座標軸的多邊形,可以通過描述角的方式來表示,R表示90度,O表示270度,現在給出序列的長度L,問可以構造出多少種不同的多邊形,要

原创 uvalive3516(DP)

題意: 給出一種遍歷多叉樹的方式,就是總是向左,左走不同往回走,然後向右,遍歷完整棵樹,並回到原點; 圖上五棵樹的遍歷結果都是ABABABA; 現在給出一個字符串,問能表示幾棵樹; 思路: 首先如果我們要算一個字符串ABABABA的組

原创 poj3252(組合數學)

題意: 給出一個範圍,然後問這個範圍內有幾個是round number; round number也就是轉化二進制後,0的個數大於等於1的個數; 思路: 這是一個組合計數的問題;我們拿一個二進制長度爲10的數舉例子; 如果長度爲10;那

原创 uva11426(gcd + 歐拉函數)

題意: 給出一個n,求   思路: 設f(n)=gcd(1,n)+gcd(2,n)+……+gcd(n-1,n)。 gcd(x,n)=i是n的約數(x<n),按照這個約數進行分類。設滿足gcd(x,n)=i的約束有g(n,i)

原创 uva11762(期望)

題意: 給出一個n,隨機選一個比n小的素數i,如果i能被n整除;n/=i;否則n=n; 問n除到1的期望次數; 思路: 先打素數表; 然後 f[n] = 1/p f[a0] + 1/p f[a1].....+ 1其中p是小於n的素數個數

原创 uva10561(博弈)

題意: 給出一個串,由X和.構成; 我們可以在.的地方放X,誰先放出三個連續的X獲勝; 思路: 首先,如果存在"XX"或者"X.X"那先手必勝; 所以我們肯定不能下出這種情況;所以當一個位置有X時,那麼它周圍4個點就都不能放,一放就會出

原创 uva10828(高斯消元)

題意: 從每個結點出發到每個後繼結點的概率均相等; 當執行完一個沒有後繼結點後,整個過程停止; 程序從編號爲1的結點開始執行; 你的任務是對於若干個

原创 uva10870(矩陣快速冪)

題意:f(n) = a1 *f(n - 1) + a2 *f(n - 2) + a3 *f(n - 3) + … + ad* f(n - d),  n > d.求f(n) 思路:矩陣快速冪 #include<cstdio> #inclu

原创 uva1386(矩陣快速冪)

題意: 一個細胞自動機,有n個格子,每個格子的取值爲0~m-1。給定距離d,每次操作後每個格子的值將變爲到它距離不超過d的所有格子在操作之前的值之和除以m的餘數。 思路: 矩陣快速冪 #include <cstdio> #include