#38805: 有甚麼特殊情況須注意嗎?


hshua (hshua)

學校 : 新北市立林口高級中學
編號 : 52506
來源 : [125.228.147.181]
最後登入時間 :
2025-07-10 20:33:08

有大神可以提示一下,這題有甚麼特殊情況須注意嗎?
感覺測資怪怪的 :(   

#38806: Re: 有甚麼特殊情況須注意嗎?


becaido (Caido)

學校 : 國立臺灣大學
編號 : 83294
來源 : [60.248.156.9]
最後登入時間 :
2025-07-21 22:40:15

有大神可以提示一下,這題有甚麼特殊情況須注意嗎?
感覺測資怪怪的 :(   

令 $dp[i]$ 是把前 $i$ 袋分群後被收走的錢最少是多少,枚舉轉移點 $j$,如果 $j+1\sim i$ 這段區間錢的總和 $\text{sum}\leq m$,可以讓 $dp[i]=\min(dp[i],dp[j] + (m-\text{sum})^2)$,因為 $m$ 最大到 $100$,每袋錢袋的錢 $\geq 1$,所以每個 $dp[i]$ 最多只有 $100$ 個轉移點,複雜度 $O(nm)$,最後只要比較所有錢總和與 $dp[n]$ 的大小就好了。



#38812: Re: 有甚麼特殊情況須注意嗎?


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.89.50]
最後登入時間 :
2025-09-24 12:11:30

有大神可以提示一下,這題有甚麼特殊情況須注意嗎?
感覺測資怪怪的 :(   

令 $dp[i]$ 是把前 $i$ 袋分群後被收走的錢最少是多少,枚舉轉移點 $j$,如果 $j+1\sim i$ 這段區間錢的總和 $\text{sum}\leq m$,可以讓 $dp[i]=\min(dp[i],dp[j] + (m-\text{sum})^2)$,因為 $m$ 最大到 $100$,每袋錢袋的錢 $\geq 1$,所以每個 $dp[i]$ 最多只有 $100$ 個轉移點,複雜度 $O(nm)$,最後只要比較所有錢總和與 $dp[n]$ 的大小就好了。



becaidorz

#38835: Re: 有甚麼特殊情況須注意嗎?


hshua (hshua)

學校 : 新北市立林口高級中學
編號 : 52506
來源 : [125.228.147.181]
最後登入時間 :
2025-07-10 20:33:08

有大神可以提示一下,這題有甚麼特殊情況須注意嗎?
感覺測資怪怪的 :(   

令 $dp[i]$ 是把前 $i$ 袋分群後被收走的錢最少是多少,枚舉轉移點 $j$,如果 $j+1\sim i$ 這段區間錢的總和 $\text{sum}\leq m$,可以讓 $dp[i]=\min(dp[i],dp[j] + (m-\text{sum})^2)$,因為 $m$ 最大到 $100$,每袋錢袋的錢 $\geq 1$,所以每個 $dp[i]$ 最多只有 $100$ 個轉移點,複雜度 $O(nm)$,最後只要比較所有錢總和與 $dp[n]$ 的大小就好了。



becaidorz

終於弄懂了, 此題是可以兩個以上的錢袋相互合併的
感謝!