zoukankan      html  css  js  c++  java
  • cf 1060d 思维贪心

    题意:有N个人,你要让他们坐成若干个圆环。

      他们每个人需要坐一把椅子,左手边至少要有l个空椅子,右手边至少要有r个空椅子

      ,问最少需要多少个椅子。

    参考:https://blog.csdn.net/zxyoi_dreamer/article/details/82941006

    思路 :贪心

    左走最大的那个人,他左边不可能有小于限制那么多的凳子,那么我们选择右走最大的那个人,使得他们左右重叠。这样的答案显然是最优的,如果这样贪心,我们总能够找出一个方案,交换两个位置,使它更优

    #include<bits/stdc++.h>
    using namespace std;
    
    #define ll long long
    #define pb push_back
    #define mp make_pair
    #define fi first
    #define se second
    #define all(v) v.begin(),v.end()
    
    const int N = 1e5+4;
    const int INF =1E9+4;
    const ll mod =1e9+7;
    
    ll powmod(ll x,ll n){
        ll res=1;while(n){if(n&1) res = res*x%mod; x=x*x%mod;n/=2;}return res;
    }
    ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);}
    
    ll l[N],r[N];
    
    
    int main(){
        int n;
    
        cin>>n;
    
        for(int i=1;i<=n;++i){
            scanf("%lld %lld",&l[i],&r[i]);
        }
        sort(l+1,l+1+n);
        sort(r+1,r+1+n);
    
            ll ans = n;
    
        for(int i=1;i<=n;++i)
            ans+=max(l[i],r[i]);
    
        cout<<ans<<endl;
    
        return 0;
    }
  • 相关阅读:
    三.Python数据类型详述
    二.Python基础语法和数据类型
    一.Python特点
    Hive之explode和lateral view
    javascript之函数作用域
    javascript之函数使用
    javascript之函数定义
    javascript之变量
    Html之元素
    Html之页面
  • 原文地址:https://www.cnblogs.com/wjhstudy/p/9822248.html
Copyright © 2011-2022 走看看