首页 > 其他分享 >POJ--3614 Sunscreen(贪心)

POJ--3614 Sunscreen(贪心)

时间:2024-02-15 18:33:04浏览次数:20  
标签:3614 -- cover cowSpf int POJ include spf first

记录
18:26 2024-2-15

http://poj.org/problem?id=3614

贪心法,将minspf从大到小排列,然后选取最大的spf

点击查看代码
#include<iostream>
#include<vector>
#include<algorithm>
#include<utility>
#include<stdio.h>
#include<string.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const int MAXN = 2505;
int C, L;
//int spf[MAXN], cover[MAXN];
typedef pair<int, int> pariInt;
// minspf maxspf;
vector<pariInt> cowSpf;
// spf cover
vector<pariInt> spf;

bool compare(pariInt lhs, pariInt rhs) {
    return lhs.first > rhs.first;
}

void solve() {
    int result = 0;
    //按minspf来排序 从大到小
    sort(cowSpf.begin(), cowSpf.end(), compare);
    //按spf值来排序 从大到小
    sort(spf.begin(), spf.end(), compare);
    // for(auto i : cowSpf) 
    //     cout << i.first << " " << i.second << endl;
    for(int i = 0; i < C; i++) {
        for(int j = 0; j < L; j++) {
            if(spf[j].second && spf[j].first >= cowSpf[i].first && spf[j].first <= cowSpf[i].second) {
                result++;
                spf[j].second--;
                break;
            }
        }
    }
    cout << result << endl;
}

int main() {
    cin >> C >> L;
    for(int i = 0; i < C; i++) {
        int min, max;
        cin >> min >> max;
        cowSpf.push_back(make_pair(min, max));
    }
    for(int i = 0; i < L; i++) {
        int s, cover;
        cin >> s >> cover;
        spf.push_back(make_pair(s, cover));
    }
    solve();
}

标签:3614,--,cover,cowSpf,int,POJ,include,spf,first
From: https://www.cnblogs.com/57one/p/18016465

相关文章

  • 洛谷 P9912 [COCI 2023/2024 #2] Zatopljenje 题解
    首先发现区间中的个数等于\(\texttt{高度大于x的位置的个数}-\texttt{连续两个位置都是大于x的位置的个数}\)。具体令\(H_i=\min(h_i,h_{i+1})(i\in[1,n-1])\),那么对于一次询问答案\(ans=\sum\limits_{i=l}^{r}[h_i>x]-\sum\limits_{i=l}^{r-1}[H_i>x]\),其......
  • Python笔记09——Set(集合)
    九、集合9.1基础集合(set)是一个无序的不重复元素序列,可进行交、集、差等常见的集合操作。与序列的区别:无序,每次输出顺序随机;元素不重复;创建格式:parame={value01,value02,...}或者set(value)(创建空集合只能用set())创建集合示例set1={1,2,3,4}#直接使用......
  • 【算法】006_图
    图的表示图的表示方法有很多种,如果遇到不同的表示方法,可以转换成自己最常用的那一种publicclassGraph{publicHashMap<Integer,Node>nodes;//点集publicHashSet<Edge>edges;//边集publicGraph(){}publicGraph(HashMap<Integer,Node>node......
  • SPFA最短路
    目录从Bellman-Ford开始核心思想模拟算法执行过程时间复杂度模板spfaspfa优化的思想模板从Bellman-Ford开始对于所有边权都大于等于0的图,任意两个顶点之间的最短路,显然不会经过重复的顶点或者边。也就是说任意一条最短路经过的定点数不会超过n个,边不会超过n-1条边而对于有边权......
  • Go语言指南练习:切片
    题目:实现Pic。它应当返回一个长度为dy的切片,其中每个元素是一个长度为dx,元素类型为uint8的切片。当你运行此程序时,它会将每个整数解释为灰度值(好吧,其实是蓝度值)并显示它所对应的图像。图像的选择由你来定。几个有趣的函数包括(x+y)/2,x*y,x^y,x*log(y)和x%(y+1)。(提示:需要......
  • 4.2 贝叶斯网络的基本概念
    贝叶斯网络(信念网络)一种用有向无环图DAG表示的概率模型,可用于描述存在依赖关系的多个事件之间的联合概率分布条件概率的图表示有向图、无向图、无环图贝叶斯网络模型的图表示节点表示随机变量有向边表示随机变量之间的条件依赖关系随机变量的条件独立性链式法则......
  • 性能测试-性能压测脚本的生成以及完善和增强
    1.通过JMeter代理服务器录制脚本为什么用JMeter做性能测试时要 设置客户端的代理JMeter在进行性能测试时,设置客户端代理的主要目的是为了监听和记录浏览器在相应端口的操作。通过设置代理,JMeter可以捕获和记录用户的网络请求和响应,从而模拟用户在真实场景中的行为,对系统进行性......
  • HGAME2024-WEB WP
    WEEK12048*16直接把前端全部扒下来,自己搭建一个本地的环境,我这里用vscode搭建了一个。然后看下js代码,这里混淆了一堆,实在是难看,就找关键的地方,题目所说的32768找到了上面这个算式,他的结果就算32768,所以我们只需要将这里修改:然后本地起服务,随便玩几下,即可得到flag:Bypas......
  • 欢迎来到 HZJ 的博客园
    前期提要原先我的博客是建立在洛谷上的原洛谷博客,但最近洛谷走向国际化,要把洛谷改成文章区,要经过一定时间的系统维护。我为了避免长时间的洛谷博客维护,就迁移到了博客园。我最近研究了一下博客园,其实洛谷博客要比博客园稍逊一筹的。博客园有\(LaTeX\)、有代码格式,有网站引......
  • P1678 烦恼的高考志愿
    题目链接:本题容易想到用二分进行优化,但其中有几个细节需要注意一下。注意点1、特判if(curr<a[0])res+=abs(curr-a[0]);(该测试点为\(m=1,n=100000\)且所有数组元素全为\(0\))2、可以二分出第一个\(\geqslantb[i]\)的数,则\(\rmres\)需要加的是\(\rmabs(b[i]......