首页 > 其他分享 >Fair

Fair

时间:2023-09-23 15:25:14浏览次数:28  
标签:Fair 删除 int d% tot seg &&

P1607 [USACO09FEB] Fair Shuttle G

可以将所有组按照左端点排序。

如果当前的左端点大于等于某些在车上的牛,那他们就下车,答案增加。

然后,我们考虑插入这一组奶牛,我们发现同样是奶牛,我们肯定希望越早下车越好,这样可以为后面的牛腾出更多的空间,所以我们对于当前的这组牛,若放不下,我们试图删除当前下车时间最晚的一批牛(此时需要保证删除这批牛之后空间 \(\le\) 当前所需的空间),重复执行。

然后,我们遇到的局面有两类:

  1. 没有牛了,此时我们直接插入当前牛(注意不超过容量)。
  2. 还有牛,此时删除这批牛之后空间 \(>\) 当前所需的空间,那么我们只需要删除至恰好可以放下当前的这批牛(如果多删除,会导致错误。比如后面没有牛了)。

我们考虑用 set 维护,每次从小到大删除离开时间小于等于当前时刻的牛,从大到小删除更劣的牛。(其实有一个叫做双端堆的东西,之前想搞但是很难写)。

#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
#define Ed for(int i=h[x];~i;i=ne[i])
#define Ls(i,l,r) for(int i=l;i<r;++i)
#define Rs(i,l,r) for(int i=l;i>r;--i)
#define Le(i,l,r) for(int i=l;i<=r;++i)
#define Re(i,l,r) for(int i=l;i>=r;--i)
#define L(i,l) for(int i=0;i<l;++i)
#define E(i,l) for(int i=1;i<=l;++i)
#define W(t) while(t--)
#define Wh while
const int N=100010;
int n,c;
struct segment{
    int l,r,t;
    bool operator<(segment&A){
        return l<A.l;
    }
}seg[N];
struct cow{
    int r,t;
    bool operator<(const cow &A)const{
        return r>A.r;
    }
};
int main(){
    #ifndef ONLINE_JUDGE
    freopen("1.in","r",stdin);
    #endif
    scanf("%d%*d%d",&n,&c);
    E(i, n){
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        seg[i]={a,b,c};
    }
    sort(seg+1,seg+1+n);
    int ans=0,tot=0;
    multiset<cow>s;
    cow it;
    E(i, n){
        auto[l,r,t]=seg[i];
        Wh(!s.empty()&&(it=*s.rbegin()).r<=l){
            ans+=it.t;
            tot-=it.t;
            s.erase(prev(s.end()));
        }
        Wh(!s.empty()&&(it=*s.begin()).r>=r&&c-tot+it.t<=t){
            s.erase(s.begin());
            tot-=it.t;
        }
        if(!s.empty()&&(it=*s.begin()).r>=r&&c-tot+it.t>t&&c-tot<t){
            s.erase(s.begin());
            s.insert({it.r,it.t-(t-(c-tot))});
            tot-=t-(c-tot);
        }
        s.insert({r,min(c-tot,t)});
        tot+=min(c-tot,t);
    }
    Wh(!s.empty())ans+=(*s.begin()).t,s.erase(s.begin());
    printf("%d",ans);
    return 0;
}

标签:Fair,删除,int,d%,tot,seg,&&
From: https://www.cnblogs.com/wscqwq/p/17724400.html

相关文章

  • CF1083F The Fair Nut and Amusing Xor
    简要题意:给你两个序列\(a,b\),一次操作可以将\(a\)的某一个长度为\(k\)的子区间全部异或上任意值,\(f(a,b)\)为使得\(a\)和\(b\)相同的最少的操作数量。支持单点修改\(a,b\),并在开头和每次修改后输出\(f(a,b)\)的值。\(n,k,q\le2\times10^5,w\le2^{14}\)。题解......
  • 自然语言处理中公平性(fairness)相关论文、会议及资源整理分享
    内容截图......
  • UnfairSugoroku
    [ABC298E]UnfairSugoroku考虑令\(f[A][B][0/1]\)表示第一/二个人投完,一、二两人数字为\(A,B\)的概率。\[f[A][B][0]=\dfrac{1}{P}\sum_{i=1}^Pf[A-i][B][1]\]\[f[A][B][1]=\dfrac{1}{Q}\sum_{i=1}^Qf[A][B-i][0]\]复杂度\(O((N+P)(N+Q)(P+Q))\)。转移到\(A,B\)中有......
  • FairMOT复现报错存档
    FairMOT复现使用pip命令单独安装Cython包即可修改下载的cython-bbox包里的setup.py里的代码将#extra_compile_args=['-Wno-cpp'],修改为extra_compile_args={'gcc':['/Qstd=c99']},然后运行pythonsetup.pybuild_extinstall安装DCNv2时安装失败,要尝试一下......
  • Ambari2.7.5+HDP3.1.5中Yarn配置fair-scheduler
     将Yarn的调度策略修改成FairScheduler的A:找到YARN列表,然后找到yarn.resourcemanager.scheduler.class,然后将它的值进行修改,即:<property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.Fair......
  • Controllable Guarantees for Fair Outcomes via Contrastive Information Estimation
    目录概符合说明Motivation优化目标代码GuptaU.,FerberA.M.,DilkinaB.andSteegG.V.Controllableguaranteesforfairoutcomesviacontrastiveinformationestimation.AAAI,2021.概本文提出了一种类似InformationBottleneck的方式用于保证两个群体的fairn......
  • playfair密码
    playfair密码简介普莱费尔密码(英文:Playfaircipher或Playfairsquare)是一种使用一个关键词方格来加密字符对的加密法,1854年由一位名叫查尔斯·惠斯通(CharlesWheatstone)的英国人发明。在1854到1855年的克里米亚战争和1899年的布尔战争中有广泛应用。但在1915年的一战中被破译......
  • ATABC298E Unfair Sugoroku
    ATABC298EUnfairSugoroku(笑)题意有一个长为\(N\)行的棋盘,两枚棋子初始时分别位于\(A\),\(B\)两个位置,分别记为\(a\)与\(b\)。两枚棋子分别对应两枚骰子,分别可以等概率的投掷出\(1\simP\)与\(1\simQ\)的点数,并将其对应的棋子移动到\(\min(N,i+X)\)的位置上......
  • 联邦学习论文阅读笔记11 FGFL: A blockchain-based fair incentive governor for Fede
    面对的问题:激励分配不均、攻击者欺骗 方法:提出FGFL模型。1)设计了时间衰减SLM算法度量工作者声誉;2)设计了基于梯度相似度的轻量级方法度量工作者贡献;3)提出了一种公平的激......
  • 联邦学习论文阅读笔记07 Collaborative Fairness in Federated Learning
        这篇论文提出CFFL框架,根据参与者的声誉收敛到不同模型,实现联邦学习公平协作    参考笔记:https://zhuanlan.zhihu.com/p/600343559      ......