zoukankan      html  css  js  c++  java
  • poj 3253 哈夫曼树 经典 运用了优先队列 总和最少

    其中巧妙的运用了优先队列,将哈夫曼树的精髓给表达了出来

    需要注意的是其中的优先队列的定义,一定要有自定义比较

    #include <iostream>
    #include <cstdio>
    #include <queue>
    
    using namespace std;
    
    struct node
    {
    	__int64 value;
    	bool operator <(const node &a)const
    	{
    		return value>a.value;
    	}
    }temper;
    
    int main()
    {
    	priority_queue<node> qu;
    	int i,n;
    
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&temper.value);
    		qu.push(temper);
    	}
    
    	__int64 ans=0;
    
    	while(qu.size()>1)
    	{
    		int a,b;
    
    		a=qu.top().value;
    		qu.pop();
    
    		b=qu.top().value;
    		qu.pop();
    
    		temper.value=a+b;
    		qu.push(temper);
    
    		ans+=a+b;
    	}
    
    	printf("%I64d\n",ans);
    
    	return 0;
    }
    

      

  • 相关阅读:
    webServer xampp的安装及使用
    javascript 原生方法监听DOM结构改变事件
    c# 文件简繁体转换
    c# 网络是否连接
    JMS
    JMS
    JMS
    Quartz Scheduler(2.2.1)
    MySQL
    Git CMD
  • 原文地址:https://www.cnblogs.com/jackes/p/2434320.html
Copyright © 2011-2022 走看看