zoukankan      html  css  js  c++  java
  • Codeforces 1065C Make It Equal (差分+贪心)

    题意:n个塔,第i个塔由$h_i$个cube组成,每次可以切去某高度h以上的最多k个cube,问你最少切多少次,可以让所有塔高度相等

    k>=n, n<=2e5

    思路:差分统计每个高度i有的方块数nh[i],然后从高到低贪心的切就行了

    代码:

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<cstring>
    #include<string>
    //#include<stack>
    #include<queue>
    #include<deque>
    #include<set>
    #include<vector>
    #include<map>
    #include<functional>
        
    #define fst first
    #define sc second
    #define pb push_back
    #define mem(a,b) memset(a,b,sizeof(a))
    #define lson l,mid,root<<1
    #define rson mid+1,r,root<<1|1
    #define lc root<<1
    #define rc root<<1|1
    #define lowbit(x) ((x)&(-x)) 
    
    using namespace std;
    
    typedef double db;
    typedef long double ldb;
    typedef long long ll;
    typedef unsigned long long ull;
    typedef pair<int,int> PI;
    typedef pair<ll,ll> PLL;
    
    const db eps = 1e-6;
    const int mod = 100003;
    const int maxn = 2e5+100;
    const int maxm = 2e5+100;
    const ll inf = 0x3f3f3f3f3f3f3f3f;
    const db pi = acos(-1.0);
    
    int nh[maxn];
    int main() {
        int n;ll m;
        scanf("%d %lld", &n, &m);
        int vol = 0;
        for(int i = 1; i <= n; i++){
            int c;
            scanf("%d", &c);
            nh[0]++;nh[c+1]--;
            
        }
        for(int i = 1; i <= maxn; i++){
            nh[i]+=nh[i-1];
        }
        int tmp = 0;
        int ans = 0;
        for(int i = maxn; i >= 0; i--){
            if(nh[i]==n)break;
            if(tmp+nh[i]>m){
                tmp=nh[i];
                ans++;
            }
            else tmp+=nh[i];
        }
        if(tmp>0)ans++;
        printf("%d", ans);
        return 0;
    }
  • 相关阅读:
    class(类)和构造函数(原型对象)
    es6中export和export default的区别
    vue混入 (mixin)的使用
    ES6(Module模块化)
    vue-cli3构建和发布 实现分环境打包步骤(给不同的环境配置相对应的打包命令)
    Vue中使用Echarts 脱坑
    Nginx配置详解
    VUE面包屑组件
    更改 pip 默认下载源(pip 配置文件)
    常见免费API接口
  • 原文地址:https://www.cnblogs.com/wrjlinkkkkkk/p/9780373.html
Copyright © 2011-2022 走看看