1760澶氬厓Huffman缂栫爜闂锛堣椽蹇冿級
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1760澶氬厓Huffman缂栫爜闂锛堣椽蹇冿級相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/esc' title='esc'>esc
缂栫爜 鑼冨洿 input 杈撳嚭 long mes pac samDescription
鍦ㄤ竴涓搷鍦虹殑鍥涘懆鎽嗘斁鐫€n鍫嗙煶瀛愩€傜幇瑕佸皢鐭冲瓙鏈夋搴忓湴鍚堝苟鎴愪竴鍫嗐€傝瀹氭瘡娆¤嚦灏戦€? 鍫嗘渶澶氶€塳鍫嗙煶瀛愬悎骞舵垚鏂扮殑涓€鍫嗭紝鍚堝苟鐨勮垂鐢ㄤ负鏂扮殑涓€鍫嗙殑鐭冲瓙鏁般€傝瘯璁捐涓€涓畻娉曪紝璁$畻鍑哄皢n鍫嗙煶瀛愬悎骞舵垚涓€鍫嗙殑鏈€澶ф€昏垂鐢ㄥ拰鏈€灏忔€昏垂鐢ㄣ€?br>瀵逛簬缁欏畾n鍫嗙煶瀛?璁$畻鍚堝苟鎴愪竴鍫嗙殑鏈€澶ф€昏垂鐢ㄥ拰鏈€灏忔€昏垂鐢ㄣ€?/p>
Input
杈撳叆鏁版嵁鐨勭1 琛屾湁2 涓鏁存暟n鍜宬锛坣鈮?00000锛宬鈮?0000锛夛紝琛ㄧず鏈塶鍫嗙煶瀛愶紝姣忔鑷冲皯閫? 鍫嗘渶澶氶€塳鍫嗙煶瀛愬悎骞躲€傜2 琛屾湁n涓暟锛堟瘡涓暟鍧囦笉瓒呰繃 100锛夛紝鍒嗗埆琛ㄧず姣忓爢鐭冲瓙鐨勪釜鏁般€?/p>
Output
灏嗚绠楀嚭鐨勬渶澶ф€昏垂鐢ㄥ拰鏈€灏忔€昏垂鐢ㄨ緭鍑猴紝涓や釜鏁存暟涔嬮棿鐢ㄧ┖鏍煎垎寮€銆?/p>
Sample
Input
7 3 45 13 12 16 9 5 22
Output
593 199
Hint
璇锋敞鎰忔暟鎹寖鍥存槸鍚﹀彲鑳界垎 int銆?/p>
1 #include <iostream> 2 #include <algorithm> 3 #include <string.h> 4 #include <vector> 5 #include <queue> 6 7 #define inf 0x3f3f3f3f 8 9 using namespace std; 10 11 priority_queue<int, vector<int>, greater<int> > q1;///greater鏄粠灏忓埌澶?/span> 12 priority_queue<int, vector<int>, less<int> >q2;///less鏄粠澶у埌灏?/span> 13 14 int main() 15 { 16 int n, k, i, x; 17 long long sum1, sum2, sum; 18 cin >> n >> k; 19 for(i=0;i<n;i++) 20 { 21 cin >> x; 22 q1.push(x); 23 q2.push(x); 24 } 25 while(q1.size()%(k-1) != 1) 26 { 27 q1.push(0); 28 } 29 sum1 = 0; 30 while(q1.size()!=1) 31 { 32 sum = 0; 33 for(i=0;i<k;i++) 34 { 35 sum += q1.top(); 36 q1.pop(); 37 } 38 sum1 += sum; 39 q1.push(sum); 40 } 41 sum2 = 0; 42 while(q2.size()!=1) 43 { 44 sum = 0; 45 for(i=0;i<2;i++) 46 { 47 sum += q2.top(); 48 q2.pop(); 49 } 50 sum2 += sum; 51 q2.push(sum); 52 } 53 cout << sum2 << " " << sum1 << endl; 54 return 0; 55 }
以上是关于1760澶氬厓Huffman缂栫爜闂锛堣椽蹇冿級的主要内容,如果未能解决你的问题,请参考以下文章