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

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

筛选

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

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

2604: 砝码称重

#思路设有数组dp[i][j],其中dp[i][j]:当前的砝码为i时,是否能称出j重量的物品当dp[i][j]时此时有三种情况:1.不放第i个砝码,此时dp[i][j]=dp[i-1][j]2.放第i个砝码,将重量减小,此时dp[i][j]=dp[i-1][abs(j-w[i])]3.放第i个砝码,

dp,一维数组,两重循环

解题思路:设置数组weight_able[100000],weight_able[i]==1代表能称i重量的物品,反之则代表不能。增添砝码i,用当前能称取的所有重量与法码i的重量作和(差),更新weight_able数组,考虑到最后一个砝码时,此题求得解。

2604: 蓝桥杯2021年真题-砝码称重(unordered_set)

##unordered_set**又学到了一个重要的数据结构!!unordered_set:用于存放无序、不重复的数据(重复数据会被自动过滤)set:用于存放有序、不重复的数据unordered_map的value也不可重复,但是键和值成对出现,

砝码称重 Dp思想,详细注释

看到这个题目第一想法是DFS,但DFS显示然耗时太长,就转用Dp的思想本题Dp的关键在于**考虑到前一个砝码的取舍,利用数组将能称出来的重量置为1,最后统计最后一行的1的数目即可**```cpp#include#include#includeusingnamespacestd;intn;intans;

两次01背包-砝码称重

```cpp#include#defineintlonglongusingnamespacestd;constintN=100010;intdp[N],a[105];signedmain(){intn;cin>>n;for(inti=1;i>a[i];}memset(dp,
优质题解

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

摘要:解题思路:   众所周知   天平右边放砝码,左边放物品。f[i][j]代表前i个砝码是否可以称出j的重量,f[i][j]=1表示存在f[i][j]=0表示不存在。状态转移方程:当f[i-1][j]=……