首页 > 其他分享 >洛谷题单指南-常见优化技巧-P4653 [CEOI2017] Sure Bet

洛谷题单指南-常见优化技巧-P4653 [CEOI2017] Sure Bet

时间:2024-09-04 10:02:49浏览次数:13  
标签:最大化 Sure P4653 int 洛谷题 灯泡 sumb suma

原题链接:https://www.luogu.com.cn/problem/P4653

题意解读:选中的灯泡中,某一类较少的总权值减去灯泡数量所得到的收益最大值。

解题思路:

注意,此题关键是:要使得较少的收益最大化

1、要最大化,意味着每次应该选择尽可能大权值的灯泡

2、要使A、B类中较少的收益最大化,意味着每次应该优先选择当前总权值较少的那一类灯泡的最大权值

如此贪心即可得到较少收益的最大值。

100分代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 100005;

int n;
double a[N], b[N], suma, sumb, ans;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i] >> b[i];
    sort(a + 1, a + n + 1, greater<double>());
    sort(b + 1, b + n + 1, greater<double>());

    int i = 0, j = 0;
    while(i <= n && j <= n)
    {
        double s = min(suma, sumb) - i - j;
        ans = max(ans, s);

        if(suma > sumb) sumb += b[++j];
        else suma += a[++i];
    }
    printf("%.4f", ans);
}

 

标签:最大化,Sure,P4653,int,洛谷题,灯泡,sumb,suma
From: https://www.cnblogs.com/jcwy/p/18394607

相关文章

  • 洛谷题单指南-常见优化技巧-唯一的雪花 Unique Snowflakes
    原题链接:https://www.luogu.com.cn/problem/UVA11572题意解读:本质上是要计算最长连续不重复子序列的长度,典型的双指针应用。解题思路:通过双指针来枚举子序列,右指针指向的元素每次记录元素出现的次数,可以借助hash数组h[]如果枚举到的元素出现次数超过1,则表示左、右指针之间的子......
  • 洛谷题单指南-常见优化技巧-P2216 [HAOI2007] 理想的正方形
    原题链接:https://www.luogu.com.cn/problem/P2216题意解读:在矩阵中找n*n正方形里最大值和最小值差值的最小值。解题思路:1、枚举法直接枚举所有n*n的正方形的位置,然后在遍历求最大值、最小值,复杂度为O(n^4),显然不能通过。2、二维单调队列既然是求正方形范围内的最值,看起来是......
  • 洛谷题单指南-常见优化技巧-P2032 扫描
    原题链接:https://www.luogu.com.cn/problem/P2032题意解读:求滑动窗口内的最大值,典型的单调队列应用。解题思路:单调队列的三部曲:1、去头。已存入的元素个数超过k,则去头。注意队列里存的是元素下标,只需要用当前下标减去队头元素来判断即可。2、去尾。根据单调队列的单调性,如果......
  • 洛谷题单指南-常见优化技巧-P1950 长方形
    原题链接:https://www.luogu.com.cn/problem/P1950题意解读:在一张n*m个格子的纸上,从没有画过的格子中剪出长方形的方案数。解题思路:1、暴力做法枚举所有的子矩阵O(n^4),然后用二维前缀和计算子矩阵的和,通过和来判断子矩阵是否全部是'.'。2、优化做法针对每一行进行处理,计算包......
  • size of rust closure
    principlehttps://doc.rust-lang.org/reference/types/closure.html?highlight=fnonce#closure-typesdemo1fnf<F:FnOnce()->String>(g:F){println!("{}",std::mem::size_of::<F>());println!("{}",g());}fnm......
  • P4653 [CEOI2017] Sure Bet
    上链接[CEOI2017]SureBet题目描述现在有$n$个A类灯泡和$n$个B类灯泡,每个灯泡都有各自的权值。我们将这些灯泡分为$n$组,每组包含一个来自A类的灯泡和一个来自B类的灯泡。你可以从中选取任意个灯泡,每选取一个灯泡需要花费$1$的代价。在你选取完之后,系统会随机在A类......
  • 评价指标F-Measure
    衡量二分类模型精度的一种指标,兼顾了分类模型的精确率(precision)和召回率(recall)。是精确率和召回率的调和平均数,最大为1,最小为0precision&recall二分类问题分类的结果有下面的几种情况:预测\真实正例反例正例预测正确(TruePositive)错误的将其他类预测为本类(False......
  • 洛谷题单指南-常见优化技巧-P2866 [USACO06NOV] Bad Hair Day S
    原题链接:https://www.luogu.com.cn/problem/P2866题意解读:每个牛能看到的右边比他矮的牛,直到有比他高的挡住为止,因此只用找每个牛右边第一个比他高的牛的位置即可计算中间比他矮的有多少。解题思路:典型的单调栈应用,注意,常规的单调栈可以用来:1、找每个数左边第一个比他小的数的......
  • 洛谷题单指南-常见优化技巧-P4147 玉蟾宫
    原题链接:https://www.luogu.com.cn/problem/P4147题意解读:找到一个只包含'F'的最大的子矩形。解题思路:方法1:设R为0,F为1,先计算二维前缀和,再枚举所有子矩形左上角(x1,y1)、右下角(x2,y2),计算子矩形的区间和,更新最大值,只能得到部分分。方法2:对于二维矩阵每个点,定义三个属性:h[][]......
  • 洛谷题单指南-常见优化技巧-P1115 最大子段和
    原题链接:https://www.luogu.com.cn/problem/P1115题意解读:最大连续子序列的和。解题思路:DP的做法可参考:https://www.cnblogs.com/jcwy/p/18144124也可以采用双指针来枚举:i从1开始,j=i用j来枚举连续序列,如果已有序列和+下一个a[j]>=下一个a[j],那个j一直++,累加序列和如果出......