题解 2604: 蓝桥杯2021年第十二届省赛真题-砝码称重

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

动态规划砝码称重

n=int(input())li=list(map(int,input().split()))#给出n个砝码的重量weigh=sum(li)#对列表li求和,得出砝码能称出的最大重量weigh#建立二维数组,dp[i][j]==1表示当有列表li中前i个砝码时可以称出重量jdp=[[0foriinra
优质题解

迭代解决砝码称重(java)(非动态规划)

###注意事项1.砝码可以放在天平左端,也可以放在天平右端2.不同砝码可能称出同一重量3.0不算重量(隐含条件)###思路分析看过一些大师傅的题解,上来直接动态规划,对于我这样才学几个月算法的小白来说,实在是有点勉强,看是大概看明白了,但是要自己从零想出来并写出来还是有一定的难度,

01背包思想辅助解题--java

解题思路:(先要自己弄清楚装箱问题)首先,要明确这道题中,砝码有两种放法,一种是同侧一种是异侧放法.同侧也就是在求和,异侧就是在求差.在同侧求和时,我采用装箱问题的解决思路(因为数据多时,排列情况太多了),以下是求和的具体思路:1、首先求出砝码的总重(总重量就可以看做装箱问题中箱子的最大容量)2、各个

c++哈希表去重

摘要:解题思路:注意事项:不能重复利用自己产生的重量参考代码:#include <iostream> #include<bits/stdc++.h> using namespace std; #def……

01背包的变种

解题思路:当我看到这题的第一眼立马就想到了dfs在没有使用记忆化搜索是只拿了45分,于是开始了dp,在看了一些大佬的讲解后,明白了这个01背包的变种问题,我们把题目看成这样,有一个容量为max(砝码总重量)的背包,每个砝码就是一件商品,你要做的不是选出价值最大的选法,

一维dp,一个砝码拆成一正一反两个砝码

摘要:解题思路:注意事项:参考代码:#include<bits/stdc++.h>//一维dp,思路是//把每个砝码拆成一正一反两个质量,这样所有砝码都只需要放左边就行了。using namespace s……

一维迭代解法

摘要:解题思路:与一楼的思路一致,但因为用set会超时,所以采用了以下方法优化参考代码:#include<bits/stdc++.h>using namespace std;int n;int g[1000……