洛谷 CYJian的水題大賽 解題報告

2022-05-14 14:47:54 字數 2493 閱讀 7796

點此進入比賽

這應該是一道較水的送分題吧。

理論上來說,正解應該是dp。但是,.字首和優化暴力就能過。

放上我比賽時打的暴力**吧(\(hl666\)大佬說這種做法的均攤複雜度為\(o(logn)\),總複雜度應為\(o(nlogn)\),可以接受):

#include#define max(x,y) ((x)>(y)?(x):(y))

#define min(x,y) ((x)<(y)?(x):(y))

#define n 1000

#define m 1000

using namespace std;

int n,m,q,sum[n+5][m+5],a[n+5][m+5];

inline char tc()

inline void read(int &x)

inline void write(int x)

inline bool check(int x,int y1,int y2)//利用字首和,判斷出第x行y1~y2範圍內是否有山

int main()

if(!could) puts("pool babingbaboom!");//若標記無答案,則輸出"pool babingbaboom!"

}return 0;

}

這道題一看到資料範圍就會想到狀壓\(dp\)吧!(當然,也不乏有某些大佬會想到用模擬退火來做)

設用\(f[i][j]\)來表示在第\(i\)個穀倉,經過的穀倉集合為\(j\)時走過的最短路徑,則$$f[i][j]=max(f[i][j],f[k][(j)xor (1<<(i-1))]+w[k][i])$$其中\(w[k][i]\)表示\(k\)與\(i\)的距離。

我們可以bfs預處理出兩兩倉庫間的距離,然後\(dp\)即可

注:只可惜,我在比賽過程中不停爆0,比賽結束之後,請教\(hl666\)大佬才知道洛谷資料有\(bug\),有字串的題目不能打讀優,結果白白爆\(0\),也算是乙個教訓吧!可憐我打了兩個多小時的**

**如下:

#include#define r 500

#define c 500

#define n 16

using namespace std;

int n,r,c,cnt=0,h,t,x[r*c+5],y[r*c+5],step[r*c+5],to[30],w[n+5][n+5],vis[r+5][c+5]=,f[n+5][(1<9) write(x/10);

putchar(x%10+'0');

}inline void bfs(int now)//bfs預處理

;//將每乙個穀倉的位置與名稱儲存下來

}for(i=1;i<=n;++i)//對每個穀倉進行預處理

for(i=1;i<=n;++i) for(j=1;j<=(1《很明顯,這是一道簡(fan)單(ren)的數學題。(\(ykh\)大佬\(3min\)切了此題)。

讀題,我們可以發現,無論紅鯉魚的出現時間如何變化,罰時始終是一樣的。所以,我們只需要管綠鯉魚出現的時間,因為只有這個才會影響答案。

仔細考慮一下,我們可以推出下面這個式子:$$\frac^(a+b+1)\frac}$$

然後,即可暴力去求答案。**如下:

#include#define ull unsigned long long

#define ykh 998244853

using namespace std;

ull n,m;

inline char tc()

inline void read(ull &x)

inline void write(ull x)

inline ull inv(ull x,ull y)

return res;

}int main()

inline void read(unsigned long long &x)

inline void write(unsigned long long x)

inline unsigned long long inv(unsigned long long x,unsigned long long y)

return res;

}int main()

inline void read(unsigned long long &x)

inline void write(unsigned long long x)

inline unsigned long long inv(unsigned long long x,unsigned long long y)

return res;

}int main()

洛谷OJ 積木大賽(為毛提高組會有這種水題)

題目描述 春春幼兒園舉辦了一年一度的 積木大賽 今年比賽的內容是搭建一座寬度為n的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是h i 在搭建開始之前,沒有任何積木 可以看成n塊高度為0的積木 接下來每次操作,小朋友們可以選擇一段連續區間 l,r 然後將第第 l塊到第 r 塊...

洛谷 U84973 RJJ的水題

題目傳送門 快要開學了,機房的訓練也緊鑼密鼓的進行著。這一天,seawayseawa y的好朋友iamrjjiamrj j給seawayseawa y出了一道水題.第一行包含三個整數 x,n,mx,n,m,意義如題所示。之後的xx行,每行乙個整數,表示這個景點在哪個點上。之後的mm行,每行三個整數u...

2018 10 28 洛谷 進化 水題 模擬賽

傳送門 t 1t1 t1一直過不了導致心態 導致打了不到兩個小時就棄了。r an ranra nk 22 2222 滾粗。說到底a aa了的也只有t2t2 t2啊。t 1t1 t1不知道為什麼答案一直是錯的。t 5t5 t5寫隨機化貪心比暴力多過了5pt s5pts 5pts 妙啊於是先貼一波t2t...