zoukankan      html  css  js  c++  java
  • Facer帮父亲

    题目背景

    Facer可是一个孝顺的孩纸呦

    题目描述

    Facer的父亲是一名经理,现在总是垂头丧气的。

    Facer问父亲,怎么啦?父亲说,公司出了点问题啊。

    公司管理着N个风景点,每个风景点都有不少人来参观。

    可是现在!人民投诉票价太高了,他不得不调整票价

    具体来说,第i个景点如果票价是x,来的人数就是max( (ai - bi * x),0 )[收益自己算好伐]

    你需要分配每个景点的门票,使得每个景点门票总和不超过k,且最大化收益

    求最大的收益

    输入输出格式

    输入格式:

    第一行N , k

    接下来N行,每行ai,bi

    输出格式:

    一行,最大的收益

    输入输出样例

    输入样例#1: 复制
    2 4
    50 2
    40 1
    输出样例#1: 复制
    171

    说明

    样例解释:

    景点1票价3,景点2票价1

    景点1人数:50 - 3*2 = 44 票价 :3 收益:132

    景点2人数 : 40 - 1*1 = 39 票价 : 1 收益:39

    总收益171 最大

    #include<bits/stdc++.h>
    #define REP(i, a, b) for(int i = (a); i <= (b); ++ i)
    #define REP(j, a, b) for(int j = (a); j <= (b); ++ j)
    #define PER(i, a, b) for(int i = (a); i >= (b); -- i)
    using namespace std;
    typedef long long ll;
    const int maxn=2e6+666;
    template <class T>
    inline void rd(T &ret){
        char c;
        ret = 0;
        while ((c = getchar()) < '0' || c > '9');
        while (c >= '0' && c <= '9'){
            ret = ret * 10 + (c - '0'), c = getchar();
        }
    }
    int n,k,s,t;
    ll ans;
    struct node{
          ll a,b,x,last;
          bool operator<(const node& tmp)const{
               return a*(x+1)-b*(x+1)*(x+1)-last<tmp.a*(tmp.x+1)-tmp.b*(tmp.x+1)*(tmp.x+1)-tmp.last;
          }
    }p[maxn];
    priority_queue<node>q;
    int main(){
        rd(n),rd(k);
        REP(i,1,n){
            rd(s),rd(t);
            q.push(node{s,t,0,0});
        }
        while(!q.empty()&&k--){
             node tmp=q.top();
             q.pop();
             int e=tmp.a*(tmp.x+1)-tmp.b*(tmp.x+1)*(tmp.x+1)-tmp.last;
             if(e<=0)break;
             tmp.last+=e;
             tmp.x++;
             ans+=e;
             q.push(tmp);
        }
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    集成学习(一):概述
    机器学习:处理非平衡数据集的办法
    支撑向量机 SVM(一)
    集成学习(五):xgboost 学习总结
    数组的实现(重载[]、=、==、!=运算符重载)
    运算符重载总结
    运算符重载进阶
    运算符重载入门demo
    类模板的简单使用
    static成员变量和static成员函数例程
  • 原文地址:https://www.cnblogs.com/czy-power/p/10413988.html
Copyright © 2011-2022 走看看