曾经遇到过类似的。纪念一下!这题同一时候也是  ZOJ1877。经典的过桥问题 是有个博客解说的非常好的

戳这里

挺久曾经。遇到过一个基本一样的,那个题目仅仅要求求出 最短时间就可以,如今还有过桥的过程 也要输出来,一样的

近期也遇到过一个 类似的过河的,只是题意类似,是DP的,  记得是 CF295C

还记得当初做那道题目 钻入牛角,首先1个人2个人3个人肯定不用说了,当人数大于4的时候,那时候 我想出的贪心策略是 最快的 带最慢的过去。然后回来。再带最慢的过去。当时WA到死。那题案例出的也好。后来发现 事实上另一种贪心策略在某种情况下 比这个好,就是 最快 次快的过去,然后最快的回来。然后最慢次慢的过去,然后次快的再回来。这两个情况没有绝对的谁优。所以 每次都比較一下。这样题目就简单多了,草稿纸一些 两种方法的计算方式就出来了

如果最快a,次快b。次慢c,最慢d

那么 第一种 d + a + c + a

另外一种 b + a + d + b

非常快就做出来了

int n;

int nnum[1000 + 55];

void init() {
memset(nnum,0,sizeof(nnum));
} bool input() {
while(cin>>n) {
for(int i=0;i<n;i++)cin>>nnum[i];
return false;
}
return true;
} void solve() { } void cal() {
sort(nnum,nnum + n);
if(n == 1) {
cout<<nnum[0]<<endl;
cout<<nnum[0]<<endl;
return ;
}
int pos = n - 1;
int ans = 0;
while(true) {
if(pos <= 2)break;
ans += min(nnum[0] * 2 + nnum[pos] + nnum[pos - 1],nnum[1] * 2 + nnum[0] + nnum[pos]);
pos -= 2;
}
if(pos == 2)ans += nnum[0] + nnum[1] + nnum[2];
else ans += nnum[1];
cout<<ans<<endl;
pos = n - 1;
while(true) {
if(pos <= 2)break;
if(nnum[0] * 2 + nnum[pos] + nnum[pos - 1] < nnum[1] * 2 + nnum[0] + nnum[pos]) {
cout<<nnum[0]<<" "<<nnum[pos]<<endl;
cout<<nnum[0]<<endl;
cout<<nnum[0]<<" "<<nnum[pos - 1]<<endl;
cout<<nnum[0]<<endl;
}
else {
cout<<nnum[0]<<" "<<nnum[1]<<endl;
cout<<nnum[0]<<endl;
cout<<nnum[pos - 1]<<" "<<nnum[pos]<<endl;
cout<<nnum[1]<<endl;
}
pos -= 2;
}
if(pos == 2) {
cout<<nnum[0]<<" "<<nnum[2]<<endl;
cout<<nnum[0]<<endl;
cout<<nnum[0]<<" "<<nnum[1]<<endl;
}
else cout<<nnum[0]<<" "<<nnum[1]<<endl;
} void output() { } int main() {
while(true) {
init();
if(input())return 0;
cal();
output();
}
return 0;
}

POJ2573 Bridge 经典的过桥问题的更多相关文章

  1. 140个google面试题

    某猎头收集了140多个Google的面试题,主要是下面这些职位的. Product Marketing Manager Product Manager Software Engineer Softwa ...

  2. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...

  3. 算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  4. IDDD 实现领域驱动设计-架构之经典分层

    上一篇:<IDDD 实现领域驱动设计-上下文映射图及其相关概念> 在<实现领域驱动设计>书中,分层的概念作者讲述的很少,也就几页的内容,但对于我来说,有很多的感触需要诉说.之前 ...

  5. 【BZOJ-2095】Bridge 最大流 + 混合图欧拉回路 + 二分

    2095: [Poi2010]Bridges Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 604  Solved: 218[Submit][Stat ...

  6. Abstract Server模式,Adapter模式和Bridge模式

    简易的台灯 Abstract Server模式 谁拥有接口. 接口属于它的客户,而不是它的派生类. 接口和客户之间的逻辑关系,强于接口和其派生类的逻辑关系. 逻辑关系和实体关系的强度是不一致的.在实体 ...

  7. GoF的23个经典设计模式

    以文本和思维导图的方式简明扼要的介绍了GoF的23个经典设计模式,可当成学习设计模式的一个小手册,偶尔看一下,说不定会对大师的思想精髓有新的领悟. GoF(“四人帮”,又称Gang of Four,即 ...

  8. Bridge实现

    网桥原理: 传统的中继器,如HUB,是一个单纯的物理层设备,它将每一个收到的数据包,在其所有的端口上广播,由接收主机来判断这个数据包是否是给自己的. 这样,网络资源被极大的浪费掉了. 网桥之所以不同于 ...

  9. 23个经典JDK设计模式(转)

    下面是JDK中有关23个经典设计模式的示例: Structural(结构模式) Adapter: 把一个接口或是类变成另外一种. o    ● java.util.Arrays#asList() o  ...

随机推荐

  1. 指针-AC自动机

    大家都不喜欢指针,但是这个AC自动机仿佛不用不行…… 先引用我最喜欢的话:“AC自动机,不是自动AC的机器.” 如果写不好还可能一直WA AC自动机是KMP与Trie树的完美结合,适用于多字符串匹配, ...

  2. Chrome安装助手踩坑

    [前言] 最近用之前的方法配置hosts,想浏览下载国外网站的数据和插件,突然发现几乎所有的方法都无效了...... 本文介绍下下载谷歌助手,通过助手访问国外网站 [主体] (1)搜索谷歌助手,点击下 ...

  3. 剑指Offer(Python)

    014-链表中倒数第k个结点 用快慢指针:p2比p1先走到k:间隔了k-1)步,然后再一起走,当p2为最后一个时,p1就为倒数第k个数 class ListNode: def __init__(sel ...

  4. gcc编译问题

    gcc avl.o hash.o list.o rb.o example.o -o 123.exe 多个.o输出 exe -c和-o都是gcc编译器的可选参数.-c表示只编译(compile)源文件但 ...

  5. sleep 和wait的差别

    基本的差别 1.sleep 是Thread 类的方法,wait 是Object类中定义的方法 2.sleep()方法可以在任何地方使用 3.wait()方法只能在synchronized方法中使用,或 ...

  6. 什么是session?

    Session一般译作会话.从不同的层面看待session,它有着类似但不全然相同的含义.比如,在web应用的用户看来,他打开浏览器访问一个电子商务网站,登录.并完成购物直到关闭浏览器,这是一个会话. ...

  7. Spring框架针对dao层的jdbcTemplate操作之jdbc数据库连接原始操作方法 所需安装包下载

    crud指数据库或者持久层的基本操作,包括 增加(Create).读取查询(Retrieve 取回).更新(Update)和删除(Delete) Spring不仅对JDBC进行了封装,也对Hibern ...

  8. mysql5.7zip安装

    一.下载mysql zip文件 二.解压.(我的目录A:\mysql\mysql-5.7.23-winx64) 三.配置环境变量   Path后面追加%A:\mysql\mysql-5.7.23-wi ...

  9. Django中对接第三方支付(支付宝)实现支付的流程

    1. 业务逻辑准备 1. 使用沙箱提供的商家环境 沙箱环境:是支付宝提供给开发者的模拟支付的环境 沙箱应用:https://docs.open.alipay.com/200/105311 沙箱账号:h ...

  10. 基于flask的网页聊天室(二)

    基于flask的网页聊天室(二) 前言 接上一次的内容继续完善,今天完成的内容不是很多,只是简单的用户注册登录,内容具体如下 具体内容 这次要加入与数据哭交互的操作,所以首先要建立相关表结构,这里使用 ...