区间贪心在这里,做个铺垫
邻项交换是一种贪心的策略,他的要领有一个:就是假设只有两个元素,看看那个应该放前面。
我们通过几道例题来看看:

 1. K11715 Protecting the Flowers[USACO-2007-Jan-S]
题目描述Farmer John像往常一样去砍伐一些木头,并留下他的N(2≤N≤100000)头奶牛在吃草。当他回来时,他惊恐地发现,奶牛们正在他的花园里吃着他美丽的花朵。为了尽量减少后续损失,FJ决定立即采取行动,将每头母牛赶回自己的牛棚。每头奶牛i都在距离自己的牛棚Ti分钟(1≤Ti≤2,000,000)的位置,此外,在等待被赶回牛棚的这段时间内,每分钟摧毁Di(1≤Di≤100)朵花。不管FJ怎么努力,他每次只能赶回一头奶牛到牛棚。赶回奶牛i到牛棚,FJ需要花费的时间是2*Ti(Ti时间赶过去,Ti时间返回)。FJ从花园中把一头奶牛赶到牛棚,再从牛棚返回到花园,到花园后他不需要花费额外的时间走到另一头的位置(假设他会瞬间移动)。编写一个程序来确定出FJ应该赶回奶牛的顺序,从而使得损失的花朵总数最小。
输入格式第一行,一个整数N,表示奶牛的数量,(2≤N≤100000)接下来N行,每行两个整数,用空格隔开,分别表示Ti和Di,(1≤Ti≤2,000,000  1≤Di≤100)
输出格式一行,一个整数,表示FJ损失的花朵的最小数量
输入输出样列
输入样例1:6
3 1
2 5
2 3
3 2
4 1
1 6输出样例1:86说明【样例说明】:FJ赶牛的顺序是6-2-3-4-1-5,当他赶牛6时他损失了24朵花,当他赶牛2时他损失了28朵花,当他赶牛3时他损失了16朵花,当他赶牛4时他损失了12朵花,当他赶牛1时他损失了6朵花,当他赶牛5时他损失了0朵花。24+28+16+12+6+0=86。

这道题就是然我们制定一个最优的赶牛序列,使得牛们破坏的花朵总量最少。
如果交换

【c++入门(2)】邻项交换相关推荐

  1. 【NOIP2012】【Luogu1080】国王游戏(贪心,邻项交换)

    problem n个人,每个人左手右手各写有一个数字. 把n个人排成一列,每个人得到的奖金是前面所有人左手上数字的乘积除以自 己右手上的数字下取整. 最小化每个人奖金的最大值. solution 一. ...

  2. 国王游戏.2333_微扰(邻项交换)证明

    题目描述 恰逢 H 国国庆,国王邀请 t 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 t 位大臣排成一排,国王站在队伍的最 ...

  3. IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)

    [来源申明]本文原文来自:微信公众号"鲜枣课堂",官方网站:xzclass.com,原题为:<通信交换的百年沧桑(上)>,本文引用时已征得原作者同意.为了更好的内容呈现 ...

  4. 机器学习入门:K-近邻算法

    机器学习入门:K-近邻算法 先来一个简单的例子,我们如何来区分动作类电影与爱情类电影呢?动作片中存在很多的打斗镜头,爱情片中可能更多的是亲吻镜头,所以我们姑且通过这两种镜头的数量来预测这部电影的主题. ...

  5. IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)

    1.系列文章引言 1.1 适合谁来阅读? 本系列文章尽量使用最浅显易懂的文字.图片来组织内容,力求通信技术零基础的人群也能看懂.但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获.如果您大 ...

  6. 02Prism WPF 入门实战 - 建项

    1.概要 Prism介绍 Github:  https://github.com/PrismLibrary/Prism 开发文档:https://prismlibrary.com/docs/ Pris ...

  7. Vulkan入门(四)-Surface和交换链.md

    文章目录 参考资料 简述 一. Window Surface 1.1 创建窗口Surface 二. Swap Chain-交换链 2.1 检查GPU是否支持交换链 2.2 使能设备扩展 2.3 获取关 ...

  8. AcWing 734. 能量石 (01背包)+(贪心 - 领项交换)

    AcWing 734. 能量石 #include<cstdio> #include<algorithm> #include<cstring> #include< ...

  9. 0x08.基本算法 — 总结与练习

    目录 知识点归纳 1.AcWing116. 飞行员兄弟 (POJ 2965) (dfs/位运算状态压缩) 1.DFS 2.位运算+二进制枚举 2.AcWing.117. 占卜DIY (模拟) 3.Ac ...

最新文章

  1. php mysql 500错误日志_服务器出现500错误的时候,让PHP显示错误信息
  2. 文件上传至服务器cpu,文件服务器构建指南
  3. SVN的标准目录结构:trunk、branches、tags
  4. C++内存管理与分配方式
  5. 内含下载 | Pokemon GO:20年前的IP为什么还能引爆朋友圈?
  6. Cloud for Customer的工作中心(work center)加载器
  7. 程序猿的双十一最佳攻略
  8. Springboot 配置文件、隐私数据脱敏的最佳实践(原理+源码)
  9. U盘量产及在虚拟机中测试
  10. linux清理磁盘空间的脚本,在Ubuntu和Linux Mint上释放空间的7种简单方法
  11. 在VS2010中使用Git管理源代码
  12. Unity资源热更-Addressables总结(一)
  13. msp430f149最小核心板和bsl下载器连线
  14. Excel文件打开后不能编辑,可以这样处理
  15. interrupt()方法理解和实例
  16. 招到不能胜任工作岗位的人,责任在不在HR?
  17. FLink聚合性能优化--MiniBatch分析
  18. 基于声源定位的止鼾系统的设计与实现(一)
  19. 统计学5大基本概念,建议收藏!(文末送书)
  20. 软考-软件设计师笔记【原创无样式版】需要笔记请联系

热门文章

  1. BigDecimel转人民币大写
  2. 苹果手机上网很慢_别再重启iPhone了!信号不好,这样设置让手机网速如飞
  3. 百度地图JS版本API常见问题
  4. [附源码]java毕业设计高校奖学金评定管理系统
  5. 修改Android模拟器中System目录的内容(framework.jar)
  6. 深度学习入门系列21:项目:用LSTM+CNN对电影评论分类
  7. 深度学习知识点总结:深度学习常用公式总结
  8. Team System:基本 Power Tool 工具
  9. 腾讯域名申请、腾讯备案以及公安备案过程记录
  10. 如何打开被关闭的任务管理器