题意:有$N$个人,你要让他们坐成若干个圆环。他们每个人需要坐一把椅子,左手边至少要有$l_i$个空椅子,右手边至少要有$r_i$个空椅子,问最少需要多少个椅子。$N \leq 10^5 \,,\, l_i,r_i \leq 10^9$

没有很好想,但也不难。
贪心地考虑什么样的人会坐在相邻位置会使得答案最优,一定是一个人的左手与另一个人的右手相差较小时较好,因为这样子重复利用的椅子数量更多。那么我们可以由此获得贪心策略:对左手与右手分别排序,然后求$\sum\limits_{i=1}^n max(l_i,r_i)$即可。这里$l_i$与$r_i$的搭配就相当于两个人相邻而坐。
 #include<bits/stdc++.h>
 #define MAXN 100010
 using namespace std;
 int numL[MAXN] , numR[MAXN];
 int main(){
    int N;
    cin >> N;
     ; i <= N ; i++)
        cin >> numL[i] >> numR[i];
    sort(numL +  , numL + N + );
    sort(numR +  , numR + N + );
    long long ans = N;
     ; i <= N ; i++)
      ans += max(numL[i] , numR[i]);
    cout << ans;
    ;
 }

最新文章

  1. Design Tiny URL
  2. new和alloc的区别
  3. 【linux】关于TCP三次握手和四次挥手
  4. c# 常用正则
  5. oracle communities
  6. CentOS_6.5 64位系统,安装git服务器+客户端
  7. SecureCRTPortable的安装和使用
  8. Implement Stack using Queues 解答
  9. 算法分析-leedcode正则题目
  10. JAVA中IO和NIO的详解分析,内容来自网络和自己总结
  11. a里面不能嵌套a
  12. Python面向对象编程(二)
  13. jquery四种监听事件的区别
  14. 【安全测试自学】初探web安全处测试(二)
  15. 图解Python的直接赋值与浅拷贝和深度拷贝三者区别
  16. phpcms中set_config和get_sysinfo函数
  17. R实战 第十篇:列联表和频数表
  18. python3中的新式类mro查看和C3算法原理
  19. Hihocoder之conv2d()
  20. Java类集框架——List接口

热门文章

  1. struts2文件上传大小限制问题小结(引用)
  2. 使用node.js进行API自动化回归测试
  3. 超级干货 :一文读懂数据可视化 ZT
  4. AngularJS ui-router刷新子页面路由
  5. 腾讯云部署golang flow流程,vue.js+nginx+mysql+node.js
  6. (后端)shiro:Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
  7. [20180614]删除bootstrap$记录无法启动2.txt
  8. [20180316]为什么不使用INDEX FULL SCAN (MIN/MAX).txt
  9. c#事务处理(sqlTransaction)
  10. Node.js中文乱码解决方法