暑假集訓test 8 28

2022-09-19 08:03:10 字數 3141 閱讀 6999

大概是從我一年以來做過的最**的一套題了。。

乙個半小時打完三個程式三個暴力拍完以為自己ak了,開心地耍了兩個小時。

結果t3要寫高精,ll炸了後4個點,中間還有個點是啥都不選的,我沒用0去更新又炸了乙個點,成功把自己炸成乙個二百五。

1.最小生成樹模板題,前天那道題的——弱化+大概期望你去寫個prim但是kruskal也可以過你可以兩個拍一拍——版

幾百年沒寫過prim了

1

//achen

2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include

11 #include12

#define formylove return 0

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

14#define rep(i,a,b) for(int i=(a);i>=(b);i--)

15const

int n=507

;16 typedef long

long

ll;17 typedef double

db;18

using

namespace

std;

19int

n,a[n][n];

2021 templatevoid read(t &x)

2728

intvis[n];

29ll ans,dis[n];

30#define inf 1e18

31void prim(int

n) 44}45

46#define ans

47int

main()

57 for(i,1,n) for(j,1

,n) read(a[i][j]);

58 prim(n+1

);59 printf("

%lld\n

",ans);

60formylove;61}

62/*

634

645 4 4 3

650 2 2 2

662 0 3 3

672 3 0 4

682 3 4 0

69*/

view code

2、智障型dp

1

//achen

2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include

11 #include12

#define formylove return 0

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

14#define rep(i,a,b) for(int i=(a);i>=(b);i--)

15#define inf 1e9+7

16const

int n=1007

;17 typedef long

long

ll;18 typedef double

db;19

using

namespace

std;

20int

n,m,a[n][n],b[n][n],f[n][n],sum1[n][n],sum2[n][n];

2122 templatevoid read(t &x)

2829

#define ans

30int

main() 46}

47 for(i,1

,n) 53}

54int ans=0

;55 for(j,0,m) ans=max(ans,f[n][j]+sum2[n][m]-sum2[n][j]);

56 printf("

%d\n

",ans);

57formylove;58}

59/*

604 4

610 0 10 9

621 3 10 0

634 2 1 3

641 1 20 0

6510 0 0 0

661 1 1 30

670 0 5 5

685 10 10 10

69*/

view code

3、會寫高精的話比上面還智障,三方dp就可以得到70。如果再不那麼智障一點點,貪心地把直接減血的塔放最後二方dp就可以過了。

我懶得寫高精了,用__int128水過去了。。

1

//achen

2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include

11 #include12

#define formylove return 0

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

14#define rep(i,a,b) for(int i=(a);i>=(b);i--)

15 typedef long

long

ll;16 typedef double

db;17

using

namespace

std;

18 __int128 f[1050][1050

],n,r,g,b,t;

1920 templatevoid read(t &x)

2627

void

print(__int128 x)

3233

#define ans

34int

main()

49 ans=max(ans,f[0][0]+n*t*r);

50print(ans);

51formylove;52}

53/*

541024 6545 65436 1146 6436

55*/

view code

暑假集訓test6

喜聞樂見,test續集。來上題。題目描述 alice 和 bob 有乙個長度為2n的數。現在他們要在這個數字上玩遊戲。他們分別要從 2n 個位中取出 n 個位組成自己的幸運值。每一回合,alice 或 bob 把數字最左邊的那一位拿來放在自己幸運值的最末位。在第 i 輪操作過後,被選取的數字 原數的...

暑假集訓test7

所以我又回來了,這次是test7。test1,test2,test3,集體失蹤,敬請期待 攤手 嗯,喜大普奔。上題。題目描述 給出乙個由數字 0 9 構成的字串。我們說乙個子串行是好的,如果他的每一位都是 1 8 0 7 並且這四個數字按照這種順序出現,且每個數字都出現至少一次 1118888888...

暑假集訓test14

我會告訴你test13被我吃了嗎?當然不會。哦其實還多吃了一道題。fst是一名可憐的 oier,他很強,但是經常 fst,所以 rating 一直低迷。但是重點在於,他真的很強!他發明了一種奇特的加密方式,這種加密方式只有oier 才能破解。這種加密方式是這樣的 對於乙個 01 串,他會構造另乙個 ...