原创 poj_1129

源地址:http://poj.org/problem?id=1129 把題目大意抽象來說,就是在平面上用最少的顏色來標記所有的點,注意相鄰的點不能爲同一個顏色。 這要用一個定理:四色定律。 它是這樣表示的::每個平面地圖都可以只用四種顏色

原创 poj_1019

源地址:http://poj.org/problem?id=1019 題目大意:一個數字串由 1 12 123 1234 12345 123456 12345678 123456789 12345678910..........組成 然後

原创 pat_1099

源地址:http://www.patest.cn/contests/pat-a-practise/1099 這是個建立二叉樹並填數的過程,平常寫的比較少,不是很熟悉,練練手。 特別是那個填數的過程,其實就是用平常所謂的 中序遍歷就可以將數

原创 pat_1012

源地址:http://www.patest.cn/contests/pat-a-practise/1012 題目不難,主要是有一個地方要注意,比如有三個人,他們的分數是 95 95 90,那麼第三個人的排名應該是3而不是2,這個注意了,基

原创 ZeptoLab Code Rush 2015

源地址:http://codeforces.com/contest/526 最近做題實在是沒有感覺,,略頹廢。。 A:暴力枚舉 #include<stdio.h> #include<iostream> #include<string> #

原创 poj_3292

源地址:http://poj.org/problem?id=3292 題目大意不難懂。 這題其實就是個素數打表的變異,只要素數打表掌握好了,這道題目應該也不難。首先我們設一個數組,hnum[i],如果其值等於0,我們就認爲它是H-prim

原创 poj_2115

源地址:http://poj.org/problem?id=2115 題目大意就是給四個數:A,B,C,K 求for(int i=A;i!=B;i+=C) 這個循環在存儲單位是K位的系統裏面能夠循環幾次? 存儲單位是k位的意思就是當某個數

原创 poj_2635

源地址:http://poj.org/problem?id=2635 題目大意就是給你一個很大的數字,它有可能是兩個素數的乘積,問你是否有個素數是小於10^6的,如果有,且即爲p,就輸出BAD p,否則輸出GOOD。 特別大的數就要把這個

原创 poj_1837

源地址:http://poj.org/problem?id=1837 刷到了自己最弱的Dp專題了。。啥都不會啊。。 看了題解才知道,這是一道揹包問題。 用dp[i][j]來表示前i個物品達到平衡度爲j時的方法數量,那麼dp[i][j] =

原创 poj_1159

源地址:http://poj.org/problem?id=1159 題目大意就是在原字符串中加入最少的字母,使得整個字符串變成迴文串。。 其實這個很基礎的。。。。 我們將i從尾循環到頭,j從i到尾,對於i,j如果ch[i]==ch[j]

原创 poj_1942

源地址:http://poj.org/problem?id=1942 輸入一個棋盤的規格n*m,問你從左下角走到右上角有幾種方法。 這是排列組合的問題。 如果要走到右上角,那麼從n+m步裏面選擇n步向左,或者m步向上即可,也就是計算組合數

原创 poj_3267

源地址:http://poj.org/problem?id=3267 題目大意就是給你一個單詞s,然後給出一本字典,問你在原單詞中最少刪去多少個單詞才能使其在字典中能查得到。 dp,我們用dp[i]來代表從i到L(原單詞的長度)要刪的最少

原创 poj_1080

源地址:http://poj.org/problem?id=1080 又是一道dp的題目,做dp沒感覺啊。。- - 這是一道字符匹配的dp,感覺和最長公共子序列有點像. 最長公共子序列: if(s[i]==s2[j]) dp[i][j]

原创 poj_1276

源地址:http://poj.org/problem?id=1276 題目大意就是有cash這麼多的現金,然後有n種面值的錢,問用這n種面值的錢,最多能夠湊成不超過cash這麼多的現金。 一看就是一道多重揹包的裸題,用下多重揹包的公式就好

原创 poj_1260

源地址:http://poj.org/problem?id=1260 題目大意不好說,比較複雜。百度下就能找到。 動態規劃的思想,用一個dp[i]代