当前位置: 首页 > news >正文

#题解#洛谷P4653

[传送门](P4653 [CEOI 2017] Sure Bet - 洛谷)

分析

  1. 显然在同一类中选取灯泡越大越好。

  2. 如果某一类中选取灯泡比另一类比另一类多太多,会造成较大的浪费(每次选灯泡收益-1)

  3. 于是直觉告诉我们,AB两类的灯泡选取应该尽量平均

代码实现

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
double A[N], B[N];//记录每个灯泡收益
double a = 0.0000, b = 0.0000; //用于记录两种开灯方式对应的收益()
bool choose[N][2];//记录灯泡是否被选择
double ans = -1e9;//更新答案bool cmp(double x, double y)
{return x > y;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;//特判if (n == 0){cout << "0.0000";return 0;}for (int i = 1; i <= n; i++)cin >> A[i] >> B[i];
//从大到小重排sort(A + 1, A + 1 + n, cmp);sort(B + 1, B + 1 + n, cmp);
//尽可能平均地选灯泡for (int i = 1, j = 1; i <= n  && j <= n;){double x = i, y = j;a += A[i] * double(!choose[i][0]);b += B[j] * double(!choose[j][1]);//因为每个灯泡选取收益>=1,故A[1]与B[1]一定选取choose[j][1] = choose[i][0] = 1;ans = max(ans, min(a -	 x - y, b - x - y));if (a <= b)i++;if (b <= a)j++;}if (ans>0)//若ans为正printf("%.4lf", ans);else//若ans为负,那么一个灯泡也不选收益为0cout << "0.0000";return 0;
}
http://www.zskr.cn/news/45834.html

相关文章:

  • 第六天 svn和git的安装和使用
  • 2025年11月学习机品牌全解析:找准适配款,提分更高效
  • 个人服务器无法连接外网的设置问题(LINUX,NMCLI)
  • CF1485F Copy or Prefix Sum 分析
  • 在电脑上操作手机,并把手机黑屏 - 昵
  • 如何确保安全的就是​HTTPS
  • Paytium 3.0.13 WordPress插件存储型XSS漏洞分析
  • 使用爬虫技术抓取网站数据的方法和工具
  • 20232419 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • svn提交显示is out of date
  • MacX DVD Ripper Pro for Mac v6.8.2 安装教程|MacDVD转换软件怎么安装?
  • CSP2025 T3 replace
  • 日志 | 2025.11
  • 完整教程:【C++】继承(1)
  • 高级语言程序第四次作业 - 102300317
  • 打印机出现print job cancled at printer
  • [ARC107D] Number of Multisets 分析
  • 2025年3000卫生纸加工设备推荐排行
  • 项目管理系统开发指导
  • 2025年做工精细的小白瓶前置过滤器哪家靠谱
  • 2025年11月滑梯厂家推荐榜: 解锁安全户外滑梯/不锈钢滑梯/组合滑梯/非标滑梯/儿童滑梯趣味游乐新体验
  • 2025年资深的大型展厅设计渠道哪家强
  • 2025年超融合渠道口碑推荐榜
  • day24-langgraph基础
  • 2025年毛发检测企业推荐排行榜单
  • 2025年资深的青少年心智成长训练企业哪家强
  • Cuda C++:Tensor Core 数值行为分析之测试复现
  • 推荐几家城际出行网约车公司
  • WORK 4
  • 2025年知识付费软件平台不踩坑:五星推荐创客匠人,知识店铺搭建/知识内容变现系统/在线教育SaaS平台/线上卖课平台/AI赋能和陪跑服务双保障