HDU 2016 11 12 做題感想

2022-05-28 12:15:09 字數 3851 閱讀 2808

細數一下這兩天做過的值得總結的一些題orz......

hdu 2571 簡單dp,但是一開始wa了一發。原因很簡單:沒有考慮仔細。

如果指向該點的所有點權值都為負數,那就錯了(我一開始預設初始值為0)

這是非常基礎的典型dag模型,好久不做,手明顯生了……

1 #include 2

3using

namespace

std;45

#define rep(i,n) for(int i(0); i < (n); ++i)

6#define rep(i,a,b) for(int i(a); i <= (b); ++i)

7#define dec(i,a,b) for(int i(a); i >= (b); --i)

8#define for_edge(i,x) for(int i = h[x]; i; i = x[i])910

#define ll long long

11#define ull unsigned long long

12#define mp make_pair

13#define pb push_back

14#define fi first

15#define se second

16#define inf 1 << 30

1718

const

int n = 100000 + 10;19

const

int m = 10000 + 10;20

const

int q = 1000 + 10;21

const

int a = 30 + 1;22

23int

f[a][q], c[a][q];

24int

t;25

intn, m;

2627

intmain()

4445 rep(i, 2, n) f[i][1] = c[i][1] + f[i - 1][1

];46 rep(i, 2, n) rep(j, 2

, m)

52//

rep(i, 1, n)

53 printf("

%d\n

", f[n][m]);54}

5556

5758

return0;

5960 }

還有就是記憶化搜尋,很裸的一道題。 hdu1579

題目也說了大資料時直接遞迴會超時,所以除了記憶化搜尋,別無選擇。

1 #include 2

3using

namespace

std;45

#define rep(i,n) for(int i(0); i < (n); ++i)

6#define rep(i,a,b) for(int i(a); i <= (b); ++i)

7#define dec(i,a,b) for(int i(a); i >= (b); --i)

8#define for_edge(i,x) for(int i = h[x]; i; i = x[i])910

#define ll long long

11#define ull unsigned long long

12#define mp make_pair

13#define pb push_back

14#define fi first

15#define se second

16#define inf 1 << 30

1718

const

int n = 100000 + 10;19

const

int m = 10000 + 10;20

const

int q = 1000 + 10;21

const

int a = 30 + 1;22

23int

f[a][a][a];

24int

x, y, z;

2526

int cal(int x, int y, int

z)33

3435

intmain()

4647

4849

50return0;

5152 }

還有一道並查集裸題……hdu1232

直接yy乙個就a了……

1 #include 2

3using

namespace

std;45

#define rep(i,n) for(int i(0); i < (n); ++i)

6#define rep(i,a,b) for(int i(a); i <= (b); ++i)

7#define dec(i,a,b) for(int i(a); i >= (b); --i)

8#define for_edge(i,x) for(int i = h[x]; i; i = x[i])910

#define ll long long

11#define ull unsigned long long

12#define mp make_pair

13#define pb push_back

14#define fi first

15#define se second

16#define inf 1 << 30

1718

const

int n = 100000 + 10;19

const

int m = 10000 + 10;20

const

int q = 1000 + 10;21

const

int a = 30 + 1;22

23int

f[n];

24int

n, m;

25int

x, y;

2627

int getfather(int x)

2829

intmain()

4344

int ans = 0

;45 rep(i, 1, n - 1) rep(j, i + 1

, n)

51if (ans >= n) break;52

}5354 printf("

%d\n

", ans);55}

5657

5859

return0;

6061 }

剩下的一些水題都不好意思拿出來……之後要加大難度了……

the end.

PAT乙級考試記錄做題感想

到今天已經刷了很多題了,愈加感覺到乙級的題目不是很難,但有的地方很細節,讀題目一定要仔細不然又是白費功夫,常常是某個極限條件未考慮導致錯誤實在可惜,且刷題時也 感覺語言的優越性,用c實在比不上python來的輕巧,不過 更加能體會題目用意,想想python的字典等在乙級題目上一用 就能很快過了,但c...

HDU 4352做題筆記

聽說是多校的題,難怪做自閉了 參考了網上各種題解終於大概懂了,這裡放幾個我參考的 i.ii.iii.首先本題要求l到r範圍內,在2進製下,lis長度為k的數的個數,於是想到數字dp,那麼怎麼處理lis呢,以及如何記錄狀態呢 首先看到l和r的大小,要求乙個數的lis,通常想法是把這個數存下來。但是由於...

c 行程長度編碼 題解與做題感想

時間限制 1 sec 記憶體限制 128 mb 在資料壓縮中,乙個常用的途徑是行程長度壓縮。對於乙個待壓縮的字串而言,我們可以依次記錄每個字元及重複的次數。這種壓縮,對於相鄰資料重複較多的情況比較有效。例如,如果待壓縮串為 aaabbbbcbb 則壓縮的結果是 a,3 b,4 c,1 b,2 當然,...