python蓝桥算法提高
什么时候想起什么时候更新,随便写写
打包
先贴代码:
# 打包
n, m = map(int, input().split(' '))
weight = list(map(int, input().split(' ')))
left = max(weight)
right = sum(weight)
while right > left:mid = left + (right - left) // 2tmp = 0count = 1for i in weight:tmp += iif tmp > mid:tmp = icount += 1if count > m:left = mid + 1else:right = mid
print(left)
题目: Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重。Lazy希望每个人得到的礼物的编号都是连续的。为了避免支付高昂的超重费,他还希望让包裹的最大重量最小。
什么意思呢?就是lazy想让每个人的礼物是从头开始分配的(不乱拿,按顺序拿),并且他希望的是每个人能拿到的礼物的重量是基本一致的(好好想一下,侧面意思就是说他希望找到一个比较大的重量,来让所有人的礼物都按这个重量寄出去,)
分析: 那么按上面的说法可以得到要获得的那个重量肯定是从当前的最大重量开始找起(因为比如一个礼物2公斤,那它就是2公斤,你没办法把他劈成两半吧),一直找到所有礼物的总重量为止(可以想象成所有礼物只给一个人)
因此数据范围在[max(weight), sum(weight)]之间找一个合适的数,你想到了什么?当然是二分法
那么就像下面这样我先找到mid,假设mid就是我们最终的答案,然后我们用一个循环,从头开始分配礼物,每达到mid一次就说明可以打包一次,count++,然后看打包的次数满不满足要分配的人数,要是不满足,说明这个mid太大了,不够我们分,于是right左移
while right > left:mid = left + (right - left) // 2tmp = 0count = 1for i in weight:tmp += iif tmp > mid:tmp = icount += 1if count > m:left = mid + 1else:right = mid
阴谋:
**题目:**圣杯战争开始了。 为了收集敌人的情报,言峰绮礼命令他的使魔Assassin将自己的灵体分成n份,分别监视教堂外的长直走道。
Assassin每份灵体的能力不同。 第i份灵体可以监视到的区域是闭区间[ai,bi]。
绮礼想知道,监控范围内的区域的总长度是多少。
比如,第一份灵体的视野是[−1,1],第二份灵体的视野是[0,2],第三份灵体的视野是[3,4]。 那么绮礼能获得的全部视野是[−1,2]∪[3,4],长度为4。
老二次元了
分析 :就是简单的找交集
# 查交集
n = eval(input())
vs = []
res = []
ans = 0
for _ in range(n):vs.append(list(map(int, input().split(' '))))
vs.sort(key=lambda x: x[0])
for i in vs:if not res or res[-1][1] < i[0]:res.append(i)else:res[-1][-1] = max(res[-1][-1], i[-1])for i in range(len(res)):ans += res[i][1] - res[i][0]
print(ans)
python蓝桥算法提高相关推荐
- [蓝桥] 算法提高 队列操作
时间限制:1.0s 内存限制:256.0MB 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出.(3)计算队中元素个数并输出. 输入格式 第一行一个数字N. 下面N行 ...
- [蓝桥] 算法提高 扶老奶奶过街
时间限制:1.0s 内存限制:256.0MB 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C ...
- 蓝桥算法提高ADV-381 分割项链题解
分割项链 问题描述 两个强盗刚刚抢到一条十分珍贵的珍珠项链,正在考虑如何分赃.由于他们不想破坏项链的美观,所以只想把项链分成两条连续的珍珠链.然而亲兄弟明算账,他们不希望因为分赃不均导致不必要的麻烦, ...
- 蓝桥杯python算法提高真题——幸运顾客
蓝桥杯python算法提高真题--幸运顾客 资源限制 时间限制:2.0s 内存限制:256.0MB 为了吸引更多的顾客,某商场决定推行有奖抽彩活动."本商场每日将产生一名幸运顾客,凡购买30 ...
- 蓝桥杯 算法提高 阮小二买彩票 Python
算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是 ...
- 蓝桥杯 算法提高 阮小二买彩票 AC代码Python
算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是 ...
- 蓝桥杯陶陶摘苹果C语言,Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳, ...
- 密码锁 java接口_Java实现 蓝桥杯VIP 算法提高 密码锁
算法提高 题目 2 密码锁 时间限制:1.0s 内存限制:1.0GB 问题描述 你获得了一个据说是古代玛雅人制作的箱子.你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子 ...
- 蓝桥杯练习系统习题-算法提高2
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法提高2 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
最新文章
- 作业4:扒开系统调用的三层皮(上) 20135115臧文君
- 安装windows 2003 R2额外域控制器时出现1168错误的解决
- python怎么加图片_python怎么实现添加图片
- iGraph(Python)报错sh:open command not found的解决
- VSCode USER GUIDE Basic Editing
- Base64与文件(docx)流的加密和解密
- 贺利坚老师汇编课程42笔记:DIV除法指令
- 「leetcode」51. N皇后【回溯算法】详细图解!
- linux集群环境搭建
- 3分钟带你了解Web前端开发工程师需要掌握什么?
- 在DX12中使用imgui 鼠标响应问题的解决
- shell脚本俄罗斯方块
- C# 和MsComm
- 查看系统架构是32位还是64位--用Enki学Linux系列(15)
- 阿里云视频点播视频播放出现network timeout问题处理
- HTML俄罗斯方块小游戏
- 青岛华领区块链研究院有限公司
- 三菱PLC QD77定位模块功能块FB ,用私服电机控制中
- 运维工程师需要具备哪些性格特质?
- CXF 框架webservice 概括与特点
热门文章
- Uniswap V2里的手续费换算
- android UI适配方法经验总结
- 讲解电脑重装系统后硬盘消失要如何解决
- 【笔记】KMeans聚类算法
- 修复:“ Windows进程激活服务(WAS)由于遇到错误而正在停止。”
- centos7安装twisted出现“致命错误:Python.h:没有那个文件或目录”的终极解决办法
- 伊水缘显隐身显IP1225圣诞抢先体验版
- DVWA 不跳转_喵映课 你不喜欢卡哇伊的史努比嘛?
- [渝粤教育] 南京信息工程大学 会计学 参考 资料
- vue路由跳转清空数据