Time of Update: 2018-12-05
連結:http://acm.hdu.edu.cn/showproblem.php?pid=1394題目大意:給一個n個數的序列a1, a2, ..., an ,這些數的範圍是0~n-1, 可以把前面m個數移動到後面去,形成新序列:a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (where m = 1)a3, a4, ..., an, a1, a2 (where m = 2)...an,
Time of Update: 2018-12-05
這裡以一個加減乘除的類為例子。最終工程如下:1、匯入junit的jar,不建議直接使用eclipse 中提供的包 junit的jar包下載:點擊開啟連結 最新版本的是4.11 這裡注意一個問題:如果是用4.11版本的話,同時還要下載hamcrest 1.3,->點擊開啟連結,使用時,要同時匯入這兩個包才可以!! 如果是之前版本的,只需要匯入一個junit的jar包就可以了2、在src目錄下編寫服務代碼,這裡是一個只有加減乘除功能的類package
Time of Update: 2018-12-05
連結:http://acm.hdu.edu.cn/showproblem.php?pid=2795題目大意:給一個h*w的公告牌,h是高度,w是寬度,一個單位高度1為一行,然後會有一些公告貼上去,公告是1*wi大小的長紙條,優先貼在最上面並且最左邊的位置,如果沒有空間貼得下,就輸出-1,可以的話,就輸出所貼的位置(第幾行)。分析與總結:分葉節點【x,x】表示board的第x行還可以放置的長度,區間【a,b】表示第a行到b行中剩下空間最大的那一行是多少,如果要把長w的公告放入board時就是upd
Time of Update: 2018-12-05
題目:點擊開啟連結思路:這是剛練dp後做比賽遇到的第一道dp題比賽時想了一個狀態轉移方程,f[i][j][k][l][2], i和j表示在第i行j列, k和l表示人和劍的能量,最後一維0表示當前這個能量給人補充,1表示給劍補充轉移為: f[i][j][k][l][0] = f[i-1][j][k-mat[i][j]][l][1]+f[i][j-1][k-mat[i][j]][l][1];f[i][j][k][l][1] = f[i-1][j][k][l-mat[i][j]][0]+f[i][j-
Time of Update: 2018-12-05
連結:http://poj.org/problem?id=2352題目大意:在座標上有n個星星,如果某個星星座標為(x, y), 它的左下位置為:(x0,y0),x0<=x 且y0<=y。如果左下位置有a個星星,就表示這個星星屬於level x按照y遞增,如果y相同則x遞增的順序給出n個星星,求出所有level水平的數量。分析與總結:因為輸入是按照按照y遞增,如果y相同則x遞增的順序給出的,
Time of Update: 2018-12-05
題目:點擊開啟連結題目大意:有N個物品,每個物品有屬性Si和Fi,-1000 <= Si, Fi <= 1000, 每種物品最多隻能選一次,問怎樣選使得物品的所有Si和Fi屬性之和最大,並且要求Si之和與Fi之和都不能下於0.思路:這題想了很久都沒思路,於是跟前輩請教了下,恍然大悟。把屬性Si當做是物品的費用,Fi當做是價值,然後做01背包即可。代碼:#include<iostream>#include<queue>#include<stack>#
Time of Update: 2018-12-05
連結:http://poj.org/problem?id=2481題目大意:給n個區間,對於兩個區間【Si,Ei】和【Sj, Ej】,如果Si <= Sj 且Ej <= Ei 且Ei - Si > Ej - Sj, 就說區間i比區間j“強大”。也就是區間i要嚴格包含區間j。求每個區間i,有多少個區間比i“強大”,並輸出。分析與總結:昨天的CF的B題Big
Time of Update: 2018-12-05
題目:點擊開啟連結題目大意:有n種磚頭,每種磚頭的高為h,數量為c, 且它放的最高位置不能超過a。 問這些磚最高能夠疊多高?思路:先把所有種類磚頭按照a從大到小排序,然後直接套多重背包即可。代碼:#include<iostream>#include<queue>#include<stack>#include<cstdio>#include<cstring>#include<cmath>#include<map>#
Time of Update: 2018-12-05
#include<cstdio>#include<cstring>#include<string>#include<map>#define MAXSTATE 10000000using namespace std;typedef int state[24];state st[MAXSTATE],goal= {0 ,3 ,4, 3 ,0 ,5 ,6, 5, 0 ,1 ,2 ,1, 0, 7,8, 7, 0, 9 ,10, 9 ,0 ,1 ,2 ,1}
Time of Update: 2018-12-05
連結:http://poj.org/problem?id=3067題目大意:在Japan的東西兩邊都有海岸線,且都是南北方向的。兩邊分別有n,m個城市,他們的編號分別都為1....n,
Time of Update: 2018-12-05
題目: 點擊開啟連結題目大意:有n種債券可以買,每種的價錢分別為a(a是1000的倍數),每年利息為b 。某個人共有錢tot(tot是1000的倍數),問他在y年後,最多可以有多少錢?思路:由於tot和a都是
Time of Update: 2018-12-05
題目連結:http://poj.org/problem?id=2299分析與總結:一看到這題的第一反應就覺得是求逆序數 = =|先用歸併排序求逆序數AC之,這應該是速度最快的一種求逆序數方法,391MS然後用樹狀數組做,因為每個元素範圍0 ≤ a[i] ≤ 999,999,999,
Time of Update: 2018-12-05
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=3062Problem Description有n對夫妻被邀請參加一個聚會,因為場地的問題,每對夫妻中只有1人可以列席。在2n 個人中,某些人之間有著很大的矛盾(當然夫妻之間是沒有矛盾的),有矛盾的2個人是不會同時出現在聚會上的。有沒有可能會有n 個人同時列席? Inputn: 表示有n對夫妻被邀請 (n<= 1000)m: 表示有m 對矛盾關係 ( m < (n - 1) * (n -1)
Time of Update: 2018-12-05
題目:點擊開啟連結題目大意:有一個天平,天平左右兩邊的手臂長度都是15,手臂上面有些位置會有掛鈎。還有G個砝碼 (1 <= G <=
Time of Update: 2018-12-05
連結:http://acm.hdu.edu.cn/showproblem.php?pid=1556題目:Problem DescriptionN個氣球排成一排,從左至右依次編號為1,2,3....N.每次給定2個整數a b(a <= b),lele便為騎上他的“小飛鴿"牌電動車從氣球a開始到氣球b依次給每個氣球塗一次顏色。但是N次以後lele已經忘記了第I個氣球已經塗過幾次顏色了,你能幫他算出每個氣球被塗過幾次顏色嗎? Input每個測試執行個體第一行為一個整數N,(N <= 100
Time of Update: 2018-12-05
連結:http://acm.hdu.edu.cn/showproblem.php?pid=2222分析與總結:作為著名的AC自動機入門題,已經給說爛了,我也沒什麼好說的了。
Time of Update: 2018-12-05
題目:點擊開啟連結題目大意:給N條邊,把這些邊組成一個三角形,問面積最大是多少?必須把所有邊都用上。思路:對於已知周長的三角形,我們只要知道兩條邊的長度變可推出第三條邊,所以可以得到狀態方程:f[i][j][k] 表示用前i條邊,能否組成長度為j和k的兩條邊初始化f[0][0][0] = true;f[i][j][k] = f[i-1][j-len[i]][k] ||
Time of Update: 2018-12-05
連結:http://poj.org/problem?id=3468題目大意:有N個整數:A1, A2, ... , AN。 然後對這個整數序列有兩種操作:1. C a b c : 把Aa, Aa+1, ... , Ab所有元素都加上c2. Q a b : 查詢Aa, Aa+1, ... , Ab之和。分析與總結:經典線段樹題目,線段樹的成段更新。
Time of Update: 2018-12-05
這篇文章對於亂碼的原因講的比較好:點擊開啟連結但根據自己的實踐,在spring 3.1.3版本中,用以下方法有效:xxx-servlet.xml中有個預設的配置是:<mvc:annotation-driven/> 改為:<mvc:annotation-driven> <mvc:message-converters> <bean
Time of Update: 2018-12-05
連結:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610題目大意:在一條長度為8000的線段上染色,每次把區間[a,b]染成c顏色。顯然,後面染上去的顏色會覆蓋掉之前的顏色。求染完之後,每個顏色線上段上有多少個間斷的區間。分析與總結:這題是成段更新lazy標記的題,並不算難,但是因為一些原因一直讓我過不去。。。1. 昨天做了這題,但是一直連範例都出不來 =