NC14662 小咪买东西

简介: NC14662 小咪买东西

题目: NC14662 小咪买东西 ,哈哈,我们今天来看一道01分数规划的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!

题目传送门: NC14662 小咪买东西

思路:

采用二分答案的思想,假设答案为x,那么商品的贡献为v-x*c,然后我们取前k个贡献最大的商品求和得到sum,若sum<0,则x假设大了,sum>0,则x小了,具体的直接看代码!!!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int t,n,k;
int l,r;
struct ed{
    int c,v;
}a[10010];
ll y;
int cmp(ed a,ed b){ return (a.v-y*a.c)>(b.v-y*b.c);}//按照这个规则排序
ll check(ll x){
    y=x;
    sort(a+1,a+n+1,cmp);
    ll sum=0,c=0,v=0;
    for(int i=1;i<=k;i++){
        sum+=a[i].v-x*a[i].c;
        c+=a[i].c;   v+=a[i].v;
    }
    if(sum>0) return -1;
    return v/c;
}
int main(){
    cin>>t;
    while(t--){
        cin>>n>>k;
        for(int i=1;i<=n;i++) cin>>a[i].c>>a[i].v;
        l=0,r=1e8+10;
        ll ans=0;
        while(l<r){
            int mid = (l+r+1)>>1;
            ll tem = check(mid);
            if(tem==-1) l=mid;
            else{
                ans=tem;
                r=mid-1;
            }
        }
        cout<<ans<<"\n";
    }
    return 0;
}


相关文章
|
算法 内存技术
语音信号的A律压缩和u律压缩matlab仿真
语音信号的A律压缩和u律压缩matlab仿真
|
机器学习/深度学习 编解码 BI
RegNet架构复现--CVPR2020
在这项工作中,我们**提出了一种新的网络设计范式**。我们的目标是帮助促进对网络设计的理解,并发现跨环境通用的设计原则。我们不是专注于设计单个网络实例,而是设计参数化网络群体的网络设计空间。整个过程类似于经典的网络手动设计,但提升到了设计空间级别。使用我们的方法,我们探索了网络设计的结构方面,并**得出了一个由简单、规则的网络组成的低维设计空间,我们称之为** ==RegNet==。
1718 0
RegNet架构复现--CVPR2020
|
8月前
|
安全 Oracle Java
Java 中的运算符重载
Java 中的运算符重载
137 19
YOLOv3的NMS参数调整对模型的准确率和召回率分别有什么影响?
YOLOv3的NMS参数调整对模型的准确率和召回率分别有什么影响?
|
11月前
|
运维 Java Linux
(九)JVM成神路之性能调优、GC调试、各内存区、Linux参数大全及实用小技巧
本章节主要用于补齐之前GC篇章以及JVM运行时数据区的一些JVM参数,更多的作用也可以看作是JVM的参数列表大全。对于开发者而言,能够控制JVM的部分也就只有启动参数了,同时,对于JVM的性能调优而言,JVM的参数也是基础。
193 8
|
存储 安全 网络安全
社会工程渗透测试教程(一)(1)
社会工程渗透测试教程(一)
157 1
|
缓存 安全 前端开发
来聊聊Java项目分层规范
本文讨论了Java项目的分层规范,强调了分层的重要性以避免代码不易扩展和职责边界模糊。作者分享了阿里提出的六层分层模型(开放接口层、终端显示层、Web层、Service层、Manager层、Mapper层)以及对应的领域模型(DO、DTO、VO、query)。同时,提出了简化版的分层规约,以提高开发效率。作者是CSDN Java博客专家,维护者之一的Java Guide项目,并提供了个人项目结构示例。文章鼓励读者关注其公众号以获取更多交流机会。
2271 4
|
JSON 数据格式
Postman导入knife4j文档
Postman导入knife4j文档
256 0
|
SQL 消息中间件 Oracle
|
存储 Python
Python读取Excel并将数据转为字典dict变量
本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法~
595 1
Python读取Excel并将数据转为字典dict变量