当前位置: 首页 > news >正文

蓝桥杯每日N题 (砝码称重)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

蓝桥杯省一你一定不能错过的模板大全(第三期)

蓝桥杯省一你一定不能错过的模板大全(第四期)!!!

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

蓝桥杯上岸每日N题第一期(二)!!!

蓝桥杯上岸每日N题第一期(三)!!!

蓝桥杯上岸每日N题第二期(一)!!!

蓝桥杯上岸每日N题第三期(一)!!!

蓝桥杯上岸每日N题 第四期(最少刷题数)!!!

蓝桥杯上岸每日N题 第五期(山)!!!

蓝桥杯上岸每日N题 第六期(求阶乘)!!!

蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

蓝桥杯每日N题 (消灭老鼠)

蓝桥杯每日N题(杨辉三角形)

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题

竞赛干货

算法竞赛字符串常用操作大全

蓝桥杯上岸必刷!!!(模拟/枚举专题)

蓝桥杯上岸必背!!! (第三期 DP)

蓝桥杯上岸必背!!!(第四期DFS)

蓝桥杯上岸必背!!!(第五期BFS)

蓝桥杯上岸必背!!!(第六期树与图的遍历)

蓝桥杯上岸必背!!!(第七期 最短路算法)

蓝桥杯上岸必背!!!(第八期 简单数论)

蓝桥杯上岸必刷!!!(进制、数位专题)

蓝桥杯上岸考点清单 (冲刺版)!!!

蓝桥杯上岸必背模板 (纯享版)

分析

有限制的选择问题(背包问题)

观察题目样例解释:
可以将物品放在两边的天平中,可以将物品的重量看作+w-w
把物品分配在天平两边问题可以转换成从背包总容量m的背包中选取重量为+w-w的物品的方案数

状态表示:

集合:所有从前i件物品中选择重量为j的所有方案的集合
属性:集合是否非空(boolean值)

状态划分:

将集合划分为3类
情况1:不选当前第i件物品
情况2: 当前第i件物品且为 +w
情况3:当前第i件物品且为 -w

注意

由于可以选择-w的情况,数组下标会出现负数情况
所以,我们需要给下标加上一个偏移B,使数组下标不越界

Accode

import java.util.*;
public class Main{static int N=110,M=200010;static int a[]=new int[N];static boolean f[][]=new boolean[N][M];static int B=M/2;//考虑到边界,数组下标不能是负数//这里加上偏移量,将数组下标变为合法值public static void main(String []args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=0;for(int i=1;i<=n;i++) {a[i]=sc.nextInt();m+=a[i];}f[0][B]=true;//0件物品一件都不装是一种方案//记为truefor(int i=1;i<=n;i++) {//for(int j=-m;j<=m;j++) {f[i][j+B]=f[i-1][j+B];//从前i-1个物品中选,不选第i个物品if(j-a[i]>=-m)f[i][j+B]|=f[i-1][j-a[i]+B];//从前i-1个物品中选,且选了第i个物品+a[i]if(j+a[i]<=m)f[i][j+B]|=f[i-1][j+a[i]+B];//从前i-1个物品中选,且选了第i个物品-a[i]	//考虑到数组下标越界,数组下标不能是负数。//需要加上偏移量B}}int res=0;for(int j=1;j<=m;j++) {if(f[n][j+B])res++;//j+B是因为砝码总重为1e5//负数情况:-1e5+B>=0//负数情况也被包含进来,所以直接对f[n][j+B]判断即可。//检测所有从1-i个数中体积为j的集合是否非空//非空则加上1}System.out.println(res);}
}
http://www.lryc.cn/news/132457.html

相关文章:

  • Opencv 视频的读取与写入
  • LeetCode 833. Find And Replace in String【字符串,哈希表,模拟】1460
  • Cesium轨迹漫游及视角切换
  • 构建去中心化微服务集群,满足高可用性和高并发需求的实践指南!
  • 开集输出和开漏输出
  • 解决内网GitLab 社区版 15.11.13项目拉取失败
  • 【MySQL--->表的约束】
  • github中Keyless Google Maps API在网页中显示地图和标记 无需api key
  • ComPDFKit PDF SDK for Windows Crack
  • React+Typescript 状态管理
  • stable diffusion 运行时报错: returned non-zero exit status 1.
  • el-popover弹窗修改三角样式或者位置
  • Linux驱动开发之点亮三盏小灯
  • 【SA8295P 源码分析】71 - QAM8295P 原理图参考设计 之 MIPI DSI 接口硬件原理分析
  • macOS(m1/m2)破解Sublime Text和Navicat16
  • 【排排站:探索数据结构中的队列奇象】
  • Mac OS 中JDK 环境(jdk 1.8.0_831)安装配置、环境变量配置及卸载操作
  • [JAVAee]Tomcat - Servlet
  • MAC钓鱼并Root权限上线CS并权限维持,以及所有的坑如何解决
  • 浅谈OCR中的David Shepard
  • draw.io导出矢量图到word报错text is not svg - cannot display
  • JVM加强
  • 解决Oracle中XML插入数据时的空格问题
  • 微服务中间件--分布式事务
  • 计算机网络(9) --- 数据链路层与MAC帧
  • 【学会动态规划】环绕字符串中唯一的子字符串(25)
  • CNN卷积详解(三)
  • 使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序
  • CentOS 上快速安装包管理工具Conda
  • opencv-手势识别