大概是從我一年以來做過的最**的一套題了。。
乙個半小時打完三個程式三個暴力拍完以為自己ak了,開心地耍了兩個小時。
結果t3要寫高精,ll炸了後4個點,中間還有個點是啥都不選的,我沒用0去更新又炸了乙個點,成功把自己炸成乙個二百五。
1.最小生成樹模板題,前天那道題的——弱化+大概期望你去寫個prim但是kruskal也可以過你可以兩個拍一拍——版
幾百年沒寫過prim了
1view code//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*/
2、智障型dp
1view code//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*/
3、會寫高精的話比上面還智障,三方dp就可以得到70。如果再不那麼智障一點點,貪心地把直接減血的塔放最後二方dp就可以過了。
我懶得寫高精了,用__int128水過去了。。
1view code//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*/
暑假集訓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 串,他會構造另乙個 ...