本题类似于题目:POJ 1700 经典过河问题





这是一道经典的过河问题,使用贪心算法。有两种策略:

  1. 最快的(即所用时间t[0])和次快的过河,然后最快的将船划回来,再次慢的和最慢的过河,然后次快的将船划回来。
    即所需时间为:t[0]+2*t[1]+t[n-1]
  2. 最快的和最慢的过河,然后最快的将船划回来,再最快的和次慢的过河,然后最快的将船划回来。
    即所需时间为:2*t[0]+t[n-2]+t[n-1]

每次过河都比对两种方案,选花费最小的,保证耗时最少。

另外,当只有人数n <= 2时,直接返回t[t.size() - 1]即可。

个人感觉,这道题的贪心有点特别,需要从两种方案里面选一种最好的,之前碰到的贪心问题,都是一种方案一走到底,所以在这儿没有想到,以后要注意。

代码:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;int main() {int T, n;cin >> T;while (T--) {cin >> n;vector<int> tt(n);for (int i = 0; i < n; ++i) {cin >> tt[i];}if (n <= 2) {cout << tt[tt.size() - 1] << endl;continue;}sort(tt.begin(), tt.end());long cost = 0, cost1 = 0, cost2 = 0;int m = 0;for (m = tt.size(); m > 3; m -= 2) {cost1 = tt[0] + 2 * tt[1] + tt[m - 1];cost2 = 2 * tt[0] + tt[m - 2] + tt[m - 1];cost += cost1 < cost2 ? cost1 : cost2;;}if (3 == m) cost += tt[0] + tt[1] + tt[2];if (2 == m) cost += tt[1];cout << cost << endl;}return 0;
}

【笔试——腾讯2021实习笔试题第二次2021.4.4】第3题 n人高空过钢索相关推荐

  1. 腾讯2017年校园招聘笔试题第二题

    下面是腾讯2017年校园招聘笔试题第二题,在这里跟大家一起分享: 1. 题目 2. 我的思路 这题我觉得题目说的很清楚了.用类似于二分查找的方法,记录最大值.最小值和中间值,判断并记录在左区间(值为0 ...

  2. 2021.4.11 字节跳动实习笔试题---情报解密

    2021.4.11 字节跳动实习笔试题-情报解密 题目内容 题目内容: 给你一个字符串,该字符串中有数字,字母(字母只有大写字母)以及一些其他的字符(例如:%,.等),如果首字母为字母或者数字的话,就 ...

  3. C语言单链表实现FCFS算法,2014腾讯实习笔试题

    2014腾讯实习笔试题 1. 关于二叉树,下面说法正确的是() A. 对于N个节点的二叉树,其高度为nlog2n; B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间 C. 二叉树的 ...

  4. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...

  5. 百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面拿出来两个球:     ii.如果取出的是两 ...

  6. 【转】2014百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    原文: http://www.cnblogs.com/JuneWang/p/3773880.html 已知memcpy的函数为: void* memcpy(void *dest , const voi ...

  7. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 (转)

    原文地址:http://m.blog.csdn.net/blog/panfengyun12345/12618453 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有 ...

  8. 育碧Web实习笔试题分享

    育碧的Web实习笔试题分享 笔试题目一共有20道,主要有选择题,简答题以及编程题,但是大部分都是简答题,题干是全英语的,但是大致题意还是能够读懂.考查知识大体涉及JavaScript.HTTP.CSS ...

  9. 网易实习笔试题——炸弹人编程

    目录 网易实习笔试题--炸弹人编程 一.题目要求 二.实现逻辑 1.Enemy类 2.随机生成游戏布局 3.展示游戏布局 4.寻找炸弹人可达区域 5. 放炸弹炸死敌人 6.在可达区域放置两颗炸弹,并且 ...

最新文章

  1. PyTorch 安装和基本运算— Tensor 的数据类型(浮点型、整型、随机浮点型等)、基本运算(绝对值、求和、裁剪、求商、求积、求幂等)、Tensor 与 Numpy 转换
  2. 消息队列的四大典型使用场景
  3. CS起源pointermap找基址+工具函数测试
  4. DHCP|什么是DHCP|DHCP介绍
  5. ubuntu php7 memcache,linux上安装php7 memcache扩展
  6. SQL开发技巧(二) 【转】感觉他写的很好
  7. 有多少人欠网贷,往后的日子你打算怎么过?
  8. Word两端对齐问题
  9. 初识Git 如何使用Git将本地项目上传到Github
  10. MYSQL误删数据恢复
  11. C++ 实现CRC循环冗余校验码
  12. ubuntu18.04在状态栏显示网速
  13. ZYF货币系统F917
  14. IE浏览器被删除后添加失败的恢复指南
  15. Serenity框架官方文档翻译3.1(教程)
  16. java中Hashset集合删除元素_从Java中的HashSet中删除单个元素
  17. 使用GDI绘制像素矩阵与像素缓冲区
  18. 月薪15k意味着什么
  19. Data Mining Machine Learning学习笔记 机器学习入门笔记 之jieba分词(中文分词)(二)
  20. 九型人格之5号适合的职业(裴宇晶)

热门文章

  1. 共享文件夹—— 一个实现Mac与PC互传文件,维护同一个文件夹简单的方法
  2. windows环境搭建MQTT
  3. Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐
  4. 《我是歌手》网上报名评审
  5. Wiz写Blog? 不会再爱了,全面拥抱Markdown+Pandoc
  6. 计算机显卡性价比推荐,哪个型号显卡性价比最高?显卡性价比天梯图告诉你答案...
  7. spring mav创建和注销session
  8. Unity Shader学习:水墨效果
  9. CAPS发布了完全支持OpenACC的编译器了!
  10. 汉高2019年第三季度销售额增长0.8%,达50.77亿欧元