zoukankan      html  css  js  c++  java
  • d[贪心]

     拉到最后就能看到我了

    t1,每个矩形有长宽,可以删去m个矩形使min{长}*min{宽}最大

    t1打了个假的贪心,同时以$a,b$排序,每次找到$a,b$中较小的删去,然后大样例过不了

    其实自己手摸了一组也过不了

    3 1

    6 5

    1 10000

    1 10000

    按照我的贪心删掉1 10000(1比较小),其实删掉6 5更优

    于是很慌,又打了个假的贪心,每次找到$delta$最小的,

    然后大样例又过不了...

    有点崩,然后又随便打了两个贪心基本就是往上蒙贪心策略了

    然后大样例依然过不了,

    然后想难道这是反悔贪心,

    然后就扔了

    其实t1跟之前一道t2很像,和多面手那个贪心很像啊,自己没有迁移过来,罪有应得

    一层循环枚举删掉多少长最小的,剩下删掉宽小的

    这样一定保证贪心是正确的,这样是$n^2$,然后优化一下就$n*log(n)$了(主席树优化,二分优化,堆优化,各种优化都能过)

    哈我不知道我考试时在想什么

    我好傻逼啊

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define A 111111
    ll T,n,m;
    ll vis[A];
    struct node{
        ll a,b,id;
        node(){}
        node(const ll &x,const ll &y,const ll &z){a=x,b=y,id=z;}
        friend bool operator < (const node &x,const node &y){
            return x.a<y.a;
        }
    }p1[A];
    struct node2{
        ll b;
        node2(){}
        node2(const ll &y){b=y;}
        friend bool operator < (const node2 &x,const node2 &y){
            return x.b>y.b;
        }
    };
    priority_queue<node2>q;
    int main(){
    //    freopen("d2.in","r",stdin);
    //    freopen("zj.out","w",stdout);
        scanf("%lld",&T);
        while(T--){
            scanf("%lld%lld",&n,&m);
            while(q.size()) q.pop();
            for(ll i=1;i<=n;i++){
                ll x,y;
                scanf("%lld%lld",&x,&y);
                p1[i]=node(x,y,i);
            }
            sort(p1+1,p1+n+1);        
            for(ll i=m+1;i<=n;i++)
                q.push(node2(p1[i].b));
            ll maxx=0;
            for(ll i=m;i>=0;i--){
    //            printf("p1[i+1].a=%lld q.top()=%lld
    ",p1[i+1].a,q.top().b);
                maxx=max(p1[i+1].a*q.top().b,maxx);
                q.push(node2(p1[i].b));
                q.pop();
    //            if(p1[i].b<q.top().b) continue ;//一定被删
    //            else q.pop(),q.push(node2(p1[i].b));
            }
            printf("%lld
    ",maxx);
        }
    }
    View Code
  • 相关阅读:
    查看资源加载各环节具体耗时的利器
    WebStorm 格式化代码快捷键
    Android 如何使edittext默认失去焦点
    html语义化练习易牛课堂代码
    html网页练习豆瓣网
    HTML前期学习总结
    视频课阶段基础知识总结
    MQ、JMS 关系的理解
    Jvm参数配置
    Java泛型
  • 原文地址:https://www.cnblogs.com/znsbc-13/p/11655783.html
Copyright © 2011-2022 走看看