P2240 【深基12.例1】部分背包问题(贪心)难度⭐
题目链接
很经典的一道贪心题,今天在洛谷上刷到了,就再做一遍
竟然是道黄题,赶紧水一下
没想到竟然WA了一次,确实提醒了我一下,写题的时候别手贱
思路就是一个简单的贪心,按照性价比来排序,因为金币是可以分开的所以拿不完就拿一部分
还有就是其实有除的话尽量推公式换成乘法,除容易有误差但这道题数据太水了 数据的类型转换还是要注意的
以及double的数比较大小的时候别忘了有误差,浮点数相等应该是这种形式:a-b<1e-6
别忘了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e4+7;
const ll mod=2147483647;
struct node
{ll m,v;double w;//性价比bool operator<(const node &a)const//排序{return w>a.w;}
}f[N];
ll n,m,t;
int main()
{scanf("%lld %lld",&n,&t);for(int i=1;i<=n;++i){scanf("%lld %lld",&f[i].m,&f[i].v);f[i].w=(double)f[i].v/(double)f[i].m;//注意类型转换}sort(f+1,f+1+n);double sum=0.0;ll now=0;for(int i=1;i<=n;++i){if(f[i].m+now<=t){sum+=(double)f[i].v,now+=f[i].m;if(now==t)break;}else {sum+=double(t-now)*f[i].w;break;}}printf("%.2f\n",sum);//就不该放到里面return 0;
}
P2240 【深基12.例1】部分背包问题(贪心)难度⭐相关推荐
- P2240 【深基12.例1】部分背包问题
https://www.luogu.com.cn/problem/P2240 /* P2240 [深基12.例1]部分背包问题 https://www.luogu.com.cn/problem/P22 ...
- P3156 【深基15.例1】询问学号(20分)--python3实现
[深基15.例1]询问学号 - 洛谷 """P3156 [深基15.例1]询问学号(20分)--python3实现 https://www.luogu.com.cn/pr ...
- p5727深基5.例3冰雹猜想c语言,深基
欸嘿,典型的求解第k小的数的问题 算法中使用了快速排序 关键之处在于原本快排需要两边都进行排序,但现在我们只关心第k小的数,所以,如果在ll比k大那么就排左半边,比k小就比右半边,从而实现时间复杂度的 ...
- P5707 【深基2.例12】上学迟到(python3实现)
https://www.luogu.com.cn/problem/P5707 """P5707 [深基2.例12]上学迟到 https://www.luogu.com.c ...
- 【洛谷】P5707 【深基2.例12】上学迟到
原题链接 P5707 [深基2.例12]上学迟到 ac代码 #include <iostream> #include <cstdio> using namespace std; ...
- 洛谷——P2433 【深基1-2】小学数学 N 合一
P2433 [深基1-2]小学数学 N 合一 题目描述 问题 1 请输出 I love Luogu! 问题 2 这里有 10 个苹果,小A 拿走了 2 个,Uim 拿走了 4 个,八尾勇拿走剩下的所有 ...
- 【洛谷题解】P2433 【深基1-2】小学数学 N 合一
目录 [深基1-2]小学数学 N 合一 题解 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 题目解析 问题 1~5 问题 6~10 问题 10~14 发牢骚 完整代码 谢谢 ...
- P5733 【深基6.例1】自动修正(C++、python代码)
[深基6.例1]自动修正 - 洛谷 C++代码: /* P5733 [深基6.例1]自动修正 https://www.luogu.com.cn/problem/P5733 */ #include< ...
- P5706 【深基2.例8】再分肥宅水--2022.02.13
[深基2.例8]再分肥宅水 - 洛谷 C++代码: /* P5706 [深基2.例8]再分肥宅水--2022.02.13 https://www.luogu.com.cn/problem/P5706 ...
最新文章
- 采集/自动登录啊都可以用这两个方法实现 asp.net
- Python安装、配置图文详解
- 【深度学习】用Pytorch给你的母校做一个样式迁移吧!
- 基础算法之Dijkstra最短路径
- 第一类斯特林数学习记录
- 树莓派python_树莓派中如何创建python文件
- 电脑入门完全自学手册_3DMAX零基础入门到精通的学习路线和教程
- yii2框架获取刚插入数据库的id (原创)
- windows 创建不可见账户
- 字节跳动推出企业技术服务平台“火山引擎”
- Spring Cloud Bus + RabbitMq 自动刷新
- Matlab画图教程
- java中代码pu_一、线程Java代码实现1.继承Thread声明Thread的子类public class MyThread extends Thread { pu...
- PID实现水平姿态角控制
- 网络攻防之wireshark抓取登录信息
- 使用EXCEL计算并绘制RSI指标
- 95后程序员月薪2万带着电脑送外卖 不想35岁就被社会淘汰 你呢
- 下载微信支付平台证书及首次下载报错处理
- 同或门真值表_逻辑函数表达式、真值表.ppt
- 安装VMware Tools显示灰色正确解决办法
热门文章
- ElasticSearch性能优化策略【转】
- oracle12之 多租户容器数据库架构
- Linux驱动技术(一) _内存申请
- nsqjs客户端的部署
- [示例]NSDictionary-按value排序数组中的字典并输出(描述器)
- VMware Coding Challenge: Possible Scores Summary: static
- 计算机php什么意思,什么是PHPC(个人高性能计算机 )
- linux运维 对比 网络_linux运维、架构之路-网络基础
- Python 从入门到精通:一个月就够了?真的能行嘛?
- Python,你应该小心的逗号!一步错步步错