• 题意:你要买\(n\)份午饭,你可以选择自己去买,或者叫外卖,每份午饭\(i\)自己去买需要消耗时间\(b_i\),叫外卖需要\(a_i\),外卖可以同时送,自己只能买完一份后回家再去买下一份,问最少花多少时间能使午餐到家.

  • 题解:我们可以用结构体记录每份午餐的外卖所需时间和自己拿的时间,然后贪心,对于某一份午餐,如果我们选择用外卖送,那么所有\(a_i\)比这个外卖时间小的在这个外卖送到时必然都能送到,所以我们可以对外卖时间进行排序,然后枚举每份午餐,每次让枚举位置和之前的位置用外卖送,枚举位置之后的自己跑去买,所以我们可以用后缀和记录自己买的时间,在外卖送的时间和自己买的时间之和之间取个最小值维护答案即可.

  • 代码:

    struct misaka{
    ll a,b;
    bool operator < (const misaka & mikoto) const{
    if(a!=mikoto.a) return a<mikoto.a;
    return b<mikoto.b;
    }
    }e[N]; int t;
    int n;
    ll cnt[N]; int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>t;
    while(t--){
    cin>>n; for(int i=1;i<=n;++i) cin>>e[i].a;
    for(int i=1;i<=n;++i) cin>>e[i].b; sort(e+1,e+1+n); for(int i=n;i>=1;--i) cnt[i]=cnt[i+1]+e[i].b; ll ans=1e18; for(int i=0;i<=n;++i){
    ans=min(ans,max(e[i].a,cnt[i+1]));
    }
    for(int i=1;i<=n;++i) cnt[i]=0;
    cout<<ans<<'\n'; } return 0;
    }

最新文章

  1. PHP-CS-Fixer:格式化你的PHP代码
  2. TCP/IP协议详解 卷1—读书笔记(1)
  3. Iconfont矢量图标平台全面升级
  4. SQL Server 锁表说明
  5. iTween基础之Scale(缩放大小)
  6. python类方法与对象方法学习
  7. hdu 1575 Tr A(矩阵快速幂乘法优化算法)
  8. C#中各种计时器
  9. jsp截取字符串
  10. 【Android进阶】快捷图标的创建与移除
  11. 在OpenStack虚拟机实例中创建swap分区的一种方法
  12. 试着把.net的GC讲清楚(2)
  13. 本机不安装Oracle客户端,使用PL/SQL Developer和 Instant Client 工具包连接oracle 11g远程数据库
  14. Java 中关于基本数字类型的注意事项
  15. FZU2150 :Fire Game (双起点BFS)
  16. [py][mx]django静态文件目录配置
  17. Flume - 快速入门
  18. tf.cast()数据类型转换
  19. HDU1520 Anniversary party 树形DP基础
  20. khan academy js

热门文章

  1. selenium爬虫 | 爬取疫情实时动态(二)
  2. python函数1-函数基础
  3. 【Linux】实现端口转发的rinetd
  4. 利用iptables防火墙保护web服务器
  5. HTML基础复习4
  6. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  7. JVM(四)打破双亲委派和SPI机制
  8. 开源AwaitableCompletionSource,用于取代TaskCompletionSource
  9. 网络Devops探索与实践 流程管理分析师
  10. Mysql四种通信协议(linux下本地连接的都是socket 其他都是tcp)