DJI

文章首发于公众号”面鲸“,更多思路以及解法欢迎关注公众号!后台回复“联系”可添加小编微信加入面试笔试刷题交流群哦~

第一题

假设小杰有N个bug没有修,他每喝一杯咖啡(喝咖啡时间忽略不计),就给自己一个小时内的debug效率提升到原来的A倍,一小时内重复喝没用,最多只能喝X杯,喝太多了晚上会睡不着,并且为了可持续发展,每天最多只能工作X个小时,而在没喝咖啡的情况下解决每个bug所需要的时间为t1,t2,...,tNt_1,t_2,...,t_Nt1​,t2​,...,tN​分钟。
现在是早上8点,小杰马上要开始一天的工作了,他计划按从1-N的顺序修复他头上的这些bug,你能帮他计算出他今天能在8小时内修完所有的bug么?如果能,最少需要多少时间?

输入描述

第一行三个整数N A X (1<=N<=100, 1<=A<=8, 1<=X<=8)

输出描述

输出一个数字T,如果不能解完所有的bug,则输出0,否则输出最少的分钟数。(T为正整数,如果不满一分钟则按一分钟计算,一旦超过8小时则认为不能解决,所以T最大为480)。

样例输入
  • 8 2 8
  • 60
  • 60
  • 60
  • 60
  • 60
  • 60
  • 60
  • 60
样例输出
  • 240
样例输入
  • 4 3 3
  • 333
  • 77
  • 100
  • 13
样例输出
  • 175
分析
  • 要最快地解决问题,当然是码足马力喝完X杯咖啡。
  • 喝完X杯咖啡之后,最多能完成的工作量是之前A∗X∗60A*X*60A∗X∗60分钟的工作量。
  • 那么就可以分为原工作量大于A∗X∗60A*X*60A∗X∗60以及不大于A∗X∗60A*X*60A∗X∗60两种。如果原来的工作量大于A∗X∗60A*X*60A∗X∗60,那么前X小时可以干X∗60X*60X∗60的工作量,剩下的时间只能慢慢按照原来的速度干活儿;如果原来的工作量小于等于A∗X∗60A*X*60A∗X∗60,那么最后所需要的时间就是原来所需时间的1/A1/A1/A。
#include <bits/stdc++.h>
using namespace std;int main() {int N, A, X, t, sum = 0;cin >> N >> A >> X;for (int i = 1; i <= N; i++) {cin >> t;sum += t;}if (sum <= A * X * 60) {cout << sum / A + (sum % A != 0) << endl;} else {int ans = X + sum - A * X * 60;cout << (ans <= 480 ? ans : 0) << endl;}return 0;
}

第二题

有一排零食格子,每一个里面都有零食,并标有对应的价格。小A每次只能从里面拿走总价格小于V的零食。对于每个零食,小A都有一个内心的满意度,小A希望每次都能吃上让自己最满意的零食。
假设零食柜里每个格子只放一种零食,每种零食的数量是有限的,买完就没有了,零食只能按照整数倍购买,不能只买半件,求在有限价格内能买到的零食的最高满意度是多少?

输入描述
  • 第一行两个整数N和T,N表示零食的种类数,T表示小A拥有的钱。(1<=N<=100, 1<=T<=10000)
  • 然后输入N行,每行三个正整数用空格分开,按顺序表示零食的价格v,满意度l和零食的数量c。(1<=v<=100, 1<=l<=100, 1<=c<=100)
输出描述
  • 对于每一组测试数据,输出一个正整数,如果无法购买任何一个零食则输出0,否则输出最大的满意度。
样例输入
  • 2 10
  • 1 1 1
  • 1 1 1
样例输出
  • 2
样例输入
  • 3 100
  • 26 100 4
  • 5 1 4
  • 5 2 2
样例输出
  • 306
分析
  • 当所有的c都等于1的时候,就是个0-1背包问题。
  • 而这题是一个多重背的模版题。基本的思路是可以将每一件物品分成若干件物品,使得原问题中第i种物品可取的每种策略(取0,1,...,c0,1,...,c0,1,...,c件)可以等同于取若干件代换之后的物品,进而转换为0-1背包问题。具体的解法可以在公众号后台回复“背包”获得完整版的《背包九讲》pdf。
#include <bits/stdc++.h>
using namespace std;const int MAX_V = 1e4 + 5;struct Item {int v, l;Item(int _v, int _l) : v(_v), l(_l) {}
};vector<Item> items;
int dp[MAX_V];int main() {int N, T, v, l, c;cin >> N >> T;for (int i = 1; i <= N; i++) {cin >> v >> l >> c;int count = 1;while (count <= c) {items.emplace_back(v * count, l * count);c -= count;count <<= 1;}if (c != 0) {items.emplace_back(v * c, l * c);}}memset(dp, 0, sizeof(dp));for (int i = 0; i < items.size(); i++) {for (int j = T; j >= items[i].v; j--) {dp[j] = max(dp[j], dp[j - items[i].v] + items[i].l);}}cout << dp[T] << endl;return 0;
}

欢迎扫码关注我们,在这里等你~

笔试 | 大疆2021秋招笔试题及题解相关推荐

  1. 京东2021秋招笔试题

    8.27晚 19点到21点 30个选择 2道编程 做完才发现 选择题和编程题3:2,我飞快的做完了选择题-,分数比编程还高- 2道编程题都不难 第一题:让你求有且仅有数字2,3,5组成的数字,输入N, ...

  2. 阿里巴巴2021秋招笔试题20211119

    源代码:https://gitee.com/shentuzhigang/algorithm/tree/master/exam-alibaba/exam-alibaba-20211119 第一题 题目大 ...

  3. 2021网易秋招笔试题(Android开发)

    网易笔试题(2021.08.08) 校招的笔试题通常是4道编程题,时间为2个小时,每题25分. 2021秋招笔试题总结如下,包含问题和代码实现. 题1:查找关键词 查找关键词(单词在文章中出现频率&g ...

  4. 2020大疆秋招笔试题B卷

    2020大疆秋招笔试题B卷 选择题(选项没抄下来)10道记了9道 1.关于常指针和指向常量的指针 2.多线程调用如下函数,a,b,c哪些需要加锁保护 int a = 0; void knit() {s ...

  5. 中国联通智网创新中心2021春招笔试题

    中国联通智网创新中心2021春招笔试题 这个智网中心是2020年5月新建立的,之前没听过.然后这次报名参加了笔试,实际上这是第二次笔试,第一次题很难(对我来说)然后非常惨,考完之后人家将近两个礼拜没通 ...

  6. 字节跳动-2020秋招-笔试题剖析【5道算法题】

    字节跳动-2020秋招-笔试题剖析[5道算法题],限时120分钟. 让我们一起来看看这些题吧! 题一:模型文件去重 [题目描述] 抖音上不同的用户类型我们有不同的用户模型文件. 我们有一个模型配置文件 ...

  7. 酷狗java秋招笔试题

    酷狗java秋招笔试题 单选题 1.在命中率极高的缓存设计中,时间复杂度最差的数据结构是( B ). A. 数组 B. 链表 C. 树 D. 哈希表 2.某二叉树共有11个结点,其叶子结点只有2个.则 ...

  8. 腾讯 2015秋招笔试题 编程题2:九宫格填数

    腾讯 2015秋招笔试题 编程2:九宫格填数 题目 2: 有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案. 配合加减乘除,使得九宫格横竖都等于4. 智力冲浪 数字推理 请 ...

  9. 字节跳动2020届秋招笔试题

    字节跳动2020届秋招第一批笔试题(2019.8.11) 文章目录 字节跳动2020届秋招第一批笔试题(`2019.8.11`) 第一题[编程题25分]: 闹钟叫醒去上课 第二题[编程题25分]: 秘 ...

最新文章

  1. clickhouse 同步mysql_ClickHouse和他的朋友们(9)MySQL实时复制与实现
  2. UA OPTI570 量子力学10 位置表象与动量表象
  3. Communication boosts value
  4. JSON.stringify()还可以这么用
  5. linux 环境下配置python虚拟环境
  6. 前端学习(3075):vue+element今日头条管理-反馈
  7. jeewx-api-1.0.1(捷微微信接口API)版本正式发布
  8. cin.get()和cin.getline()区别
  9. 2010年初的一点随想
  10. YUV、YUV420P(YU12和YV12)、NV12、NV21编码
  11. VS2012安装教程
  12. CDBN卷积深度信念网
  13. 2022全网最全的爆款抓包工具,各有千秋
  14. 微信小程序云开发之Node部署
  15. 自学python后自己接单-详解 | Python学多久才能独立接单赚钱?一个月足够了!
  16. 井字棋LeetCode简单题
  17. 【k8s的持久化存储】PV、PVC、StorageClass讲解
  18. 使用 Stunnel 建立加密隧道
  19. badboy录制时弹框提示“当前页面的脚本发生错误”
  20. AB DeviceNet设备网故障总表

热门文章

  1. python获取虎牙弹幕_教你用20行代码爬取直播平台弹幕(附源码)
  2. 诺贝尔奖得主罗伯特·莫顿—唯有信任,方得科技创新
  3. docker存在的意义
  4. flutter 微信登录 包名不对,请检查包名是否与开放平台填写一致
  5. 【ceph】ceph osd blacklist cep黑名单|MDS问题分析
  6. 涛思 TDengine 表设计及SQL
  7. Arduino驱动直流电机风扇
  8. linux使用usb刻录光驱,linux光驱刻录
  9. 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)
  10. IOS 之FishHook原理及例子