您的位置:首页 > 文旅 > 旅游 > 东莞公司网站建设_石家庄免费自助建站模板_谷歌排名推广公司_友情链接交换源码

东莞公司网站建设_石家庄免费自助建站模板_谷歌排名推广公司_友情链接交换源码

2024/10/7 10:22:12 来源:https://blog.csdn.net/Pisasama/article/details/142578363  浏览:    关键词:东莞公司网站建设_石家庄免费自助建站模板_谷歌排名推广公司_友情链接交换源码
东莞公司网站建设_石家庄免费自助建站模板_谷歌排名推广公司_友情链接交换源码

CF1619D.New Year’s Problem

  • 贪心

  • 因为只能取到n-1个商店,因此当n-1 > m时一定会有两人在同一家商店买礼物

    • 枚举哪一家商店,哪两个人买礼物,再与最优时候(不管n-1)的最小值取小
    • 代码附注释如下
  •   #include<bits/stdc++.h>using namespace std;const int N = 100010;int T,n,m;int main(){cin>>T;while(T --){cin>>m>>n;//mins为所有礼物最大满意度的最小值int ans = 0,min_s = INT_MAX;//存礼物的满意度vector<vector<int>> p(m,vector<int>(n));//存每种礼物的最大满意度vector<int> max_s(n);for(int i=0;i<m;i++)for(int j=0;j<n;j++){int x;cin>>x;//同种礼物取最大max_s[j] = max(max_s[j],x);p[i][j] = x;}//所有种礼物的最大心意中的最小for(int i=0;i<n;i++)min_s = min(min_s,max_s[i]);//说明想在哪买在哪买,直接就是min_s为答案if(n - 1 >= m) ans = min_s;else{//枚举商店for(int k=0;k<m;k++)//双指针枚举两个人for(int i=0;i<n;i++)for(int j=i+1;j<n;j++)//ans为最大的结果//当前商店买这两种礼物与之前最小再取最小为当前情况结果ans = max(ans,min({min_s,p[k][i],p[k][j]}));}cout<<ans<<endl;}return 0;}
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com