POJ 3253

简介: /* 有一个农夫要把一个木板钜成几块给定长度的小木板,每次锯都要收取一定费用,这个费用就是当前锯的这个木版的长度 给定各个要求的小木板的长度,及小木板的个数n,求最小费用 3 8 8 5为例: 长度为 21 的木板,截成13和8花费 21 再从长度为13的木板上锯下长度为5的木板,花...
/*
有一个农夫要把一个木板钜成几块给定长度的小木板,每次锯都要收取一定费用,这个费用就是当前锯的这个木版的长度
给定各个要求的小木板的长度,及小木板的个数n,求最小费用
3
8 8 5为例:
长度为 21 的木板,截成13和8花费 21
再从长度为13的木板上锯下长度为5的木板,花费13
 共21+13 =34
*/
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main()
{
    int i,j,k,T;
    __int64 num,sum=0;
    while(cin>>T)
    {
        sum = 0;
        //因为运算结果可能超过int,所以虽然输入不超过int,也必须定义为__int64 
        priority_queue <__int64, vector<__int64> ,greater<__int64> > q;//两个双尖括号中间必须有空格 
        while(T--)
        {
            cin>>num;
            q.push(num);
        }
       // cout<<q.size()<<endl<<endl<<endl;
        while(q.size()>1)
        {
            __int64 a = q.top();
            q.pop();
            __int64 b = q.top();
            q.pop();
            q.push(a+b);
            sum+=a+b;
        }
        q.pop();
        cout<<sum<<endl;
    }
    return 0;
}
  
  
  
#include <iostream>
#include <algorithm>
using namespace std; 
const int MAX = 20001; 
int n; 
int blanks[MAX]; 
__int64 sum; 
int main() 
{
    int i,j; 
    while(cin>>n) 
    { 
    	sum = 0; 
    	for(i = 0; i < n; i++) 
        { 
    		cin>>blanks[i]; 
    	} 
    	sort(blanks,blanks + n); 
    	for(i = 1; i < n; i++) 
        { 
    		blanks[i] += blanks[i-1]; 
    		sum += blanks[i]; 
    		for(j = i; j < n-1; j++) 
            {//不必每次排序,逐个比较插入新的数据 
        		if(blanks[j] > blanks[j + 1]) 
        		  swap(blanks[j],blanks[j+1]); 
            }
        }
    	cout<<sum<<endl; 
    } 
    return 0;
}






//wa,理解错了题意,不存在无限长的木板, 
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
__int64 ch[20005];
int cmp(const void *a,const void *b)
{
    return *(__int64 *)a-*(__int64 *)b;
}
int main()
{
    int i,j,k,T;
    __int64 num,sum;
    while(cin>>T)
    {
        memset(ch,0,sizeof(ch));
        sum=0;
        i=0;
        while(T--)
        {
            cin>>num;
            sum += num;
            ch[i++]=num;
        }
     //   cout<<sum<<endl;
        qsort(ch,i,sizeof(__int64),cmp);
       // for(k=0;k<i;k++)
        //    cout<<ch[k]<<endl;
        for(j=0;j<i-1;j++)
            sum+=ch[j];
        cout<<sum<<endl;
    }
    return 0;
}
  

 

目录
相关文章
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
805 1
|
3月前
|
JSON 安全 JavaScript
闲鱼商品列表API接口指南
本指南基于逆向分析,提供闲鱼商品列表数据获取的技术方案,适用于关键词、地区、价格等条件筛选。支持网页端GET与移动端POST请求,返回HTML或JSON格式数据,需注意登录态与参数编码,仅用于学习研究。
|
4月前
|
人工智能 边缘计算 网络协议
中国境内Vertex AI服务商技术架构深度解析
随着生成式AI发展,Google Vertex AI成企业首选,但中国用户面临网络延迟、数据合规与系统集成难题。专业合规服务商应运而生,通过QUIC传输优化、AST代码脱敏与协议转换网关,构建“逻辑缓冲区”,实现低延迟、高合规的AI服务接入。穿扬科技等企业整合边缘网络、语义分析与智能路由,保障数据主权同时,提升性能并降低成本,助力跨国AI能力本土化落地。(238字)
|
5月前
|
人工智能 自然语言处理 安全
2025年数字人应用与选型之高效创作工具解析
面对数字内容的挑战,本文系统梳理主流AI数字人工具,涵盖全链路平台、专业视频生成与交互型三类方案。结合功能特点、适用场景及选型维度,助力创作者与企业高效决策,降本增效。
|
供应链 数据库 UED
图解:订单系统的设计
本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。
2076 1
图解:订单系统的设计
|
10月前
|
JSON 监控 API
深度剖析:淘宝商品详情API返回值结构及高效使用方法
本文详解了淘宝商品详情API(taobao.item.get)的使用方法与返回值解析,涵盖接口基础认知、返回值结构及核心字段说明。通过四步调用流程(注册-认证-请求-解析),开发者可高效获取商品信息,包括基础数据、库存销量、SKU详情、促销活动等。文章还提供了Python实战代码示例,助您实现商品展示、价格监控、智能选品等场景应用。最后提醒注意权限认证、调用频率限制及错误处理,助力电商业务创新。
|
安全 中间件 Linux
安全厂商长擎软件加入龙蜥社区,共建领先的 OS 基础设施
长擎软件的加入将进一步助力龙蜥操作系统的安全能力增强。
|
机器学习/深度学习 算法 数据可视化
深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
 过去几年,在经典数据集PASCAL上,物体检测的效果已经达到 一个稳定水平。效果最好的方法是融合了多种低维图像特征和高维上 下文环境的复杂集成系统。在这篇论文里,我们提出了一种简单并且 可扩展的检测算法,可以在VOC2012最好结果的基础上将mAP值提 高30%以上——达到了53.3%。
416 0
深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
|
SQL 中间件 数据库
Django 架构详解
【8月更文挑战第24天】
671 0