日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[哈夫曼树] Jzoj P4210 我才不是萝莉控呢

發布時間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [哈夫曼树] Jzoj P4210 我才不是萝莉控呢 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

小Y:“小R 你是蘿莉控嗎。”小R:“...”
為了避免這個尷尬的話題,小R 決定給小Y 做一道題。
有一個長度為n 的正整數數組A,滿足Ai >= Ai+1,現在構造一個數組B,令Bi =。
現在,有一個n * n 的網格圖,左下角坐標是(1, 1),右上角坐標是(n, n)。有一個小SB正在坐標為(n, 1) 的位置,每一時刻,如果他現在在(x, y),他可以選擇走到(x ?-1,y + 1) 或者(x, (y + 1) div 2),如果選擇后者,他要支付Bx的代價。
現在他想走到(1, 1),你可以告訴他他支付的代價最少是多少嗎?注意在任何時候他都不能離開這個網格圖。

Input

第一行輸入一個正整數T 表示數據組數。
對于每組數據,第一行是一個整數n,接下來一行n 個整數表示數組A。

Output

對于每組數據,輸出一個整數表示答案。

Sample Input

1
3
1 1 1

Sample Output

5
樣例解釋:
選擇的路徑可以是:(3, 1)->(2, 2)->(2, 1)->(1, 2)->(1, 1)

Data Constraint

對于30% 的數據,n <= 10
對于50% 的數據,n <=1000
對于100% 的數據,n<= 10^5,1 <= T<= 10,1 <= Ai<= 10^4

?

題解

  • 題目大意:當前有個小SB在(n,1)然后他要走到(1,1),他可以選擇兩種走法,一種是走到(x+1,y-1)不需要代價,一種是走到(x,(y+1)/2)需要代價,問他需要的最小代價是多少
  • 這種題一眼看到一般就是dp或這是最短路徑問題
  • 50%:顯然可以用dp來做,設f[i][j]為走到(i,j)的最小代價
  • 那么就有兩種轉移情況,不過這dp要倒著做,不然可以考慮跑多幾次
  • 100%:數組是有序的,所以在哈夫曼樹上深度是遞增不減
  • 那么我們可以設f[i][j]為現在放入了下標比 i 小的所有節點,剩余的葉子節點有 j 個
  • 按照題目我們就有兩種情況可以走
  • ①F[i+1][j?1],表示在剩下可放的節點中選一個來放第(i+1)個,不需要代價
  • ②F[i][j?2]+Σa[i+1][n],表示把剩下的j個葉子節點往下再擴展2個節點,需要為代價就是后綴和
  • 其實就是50分的dp逆做,然后答案就是哈夫曼樹的最小權值
  • (其實這題就是合并果子,合并果子也是哈夫曼樹求最小權值)
  • 直接用優先隊列做就好了

代碼

1 #include <iostream> 2 #include <queue> 3 #include <cstdio> 4 using namespace std; 5 int T,n; 6 long long ans; 7 priority_queue<int,vector<int>,greater<int> >Q; 8 int main() 9 { 10 scanf("%d",&T); 11 while (T--) 12 { 13 scanf("%d",&n),ans=0; 14 for (int i=1,x;i<=n;i++) scanf("%d",&x),Q.push(x); 15 for (int i=n,x;i>1;i--) x=Q.top(),Q.pop(),x+=Q.top(),Q.pop(),ans+=x,Q.push(x); 16 printf("%lld\n",ans); 17 while (!Q.empty()) Q.pop(); 18 } 19 }

?

轉載于:https://www.cnblogs.com/Comfortable/p/10299402.html

總結

以上是生活随笔為你收集整理的[哈夫曼树] Jzoj P4210 我才不是萝莉控呢的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。