题解 1886: 蓝桥杯2017年第八届真题-包子凑数

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

筛选

蓝桥杯2017年第八届真题-包子凑数 -题解(C++代码) 完全背包 + 暴力 + 空间优化

```cpp思路:所有背包类问题,一定要知道一点,当前第i个物品进不进背包,进背包后的结果是不是最优的,背包ok之后再来一波暴力,直接甩个背包容量100W,如果超过10w个数拼不出来,就认为有无限个数拼不出来空间优化:滚动数组ps:实际上这道题是欧几里得+背包的题首先如果N种蒸笼的包子数是互质的,

动态规划,标准解

解题思路:这一题有两个难点:1为能否算出所有的能凑成的数(以10000为最大界限,因为Ai最大为100,N也才为100,10000足够代表所有的数了),2为如何判断凑出来的数是否为无限个。第一个难点:先找到s,接下来的问题就变成了:用a1...an,在1-s-1之间能凑成多少个数,用递归就能解决。

蓝桥杯2017年第八届真题-包子凑数 (C++代码)

摘要:解题思路:另数组全部为0,能够装出来的设为1(遍历大数组,不停的往后迭代,若b[i-a[j]]不是0,即可赋值,具体如下),最后数数注意事项:判断公约数 哦参考代码:#include <iostrea……