码迷,mamicode.com
首页 > 其他好文 > 详细

Sunscreen

时间:2019-09-22 21:29:30      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:c++   nod   hit   thml   最大   amp   div   scanf   bottom   

Solution

先按照 minSPFminSPF 递减排序,之后找到可用的最大的防晒霜,进行安排。

证明

设 SPF[X]<SPF[Y]SPF[X]<SPF[Y] ,如果当前奶牛都可以用,那么后面的奶牛只能有三种情况

1 . X 和 Y 都可以用

2 . X 可以用, Y 不能用

3 . X , Y 都不能用

那么可以选 Y 的影响比选 X 的小,同时带来的效益都是 1 ,所以没有区别。

Code

#include<bits/stdc++.h>
using namespace std;
int n,m,bf;
struct node{int x,y;}a[2501],c[2501];
bool cmp(node a,node b){return a.x>b.x;}
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
     scanf("%d%d",&a[i].x,&a[i].y);
    for(int i=1;i<=m;i++)
     scanf("%d%d",&c[i].x,&c[i].y);
    sort(a+1,a+n+1,cmp);
    sort(c+1,c+m+1,cmp);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
         if(c[j].x>=a[i].x&&c[j].x<=a[i].y&&c[j].y){
             c[j].y--;++bf;
             break;
         }
    }
    cout<<bf<<endl;
}

 

Sunscreen

标签:c++   nod   hit   thml   最大   amp   div   scanf   bottom   

原文地址:https://www.cnblogs.com/coder-cjh/p/11569009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!