摘要:
数位dp,感觉理解更深刻了一些 阅读全文
摘要:
摘自https://blog.csdn.net/wust_zzwh/article/details/52100392 阅读全文
摘要:
参考了题解,理解仍然还不够透彻 还有一种更易理解的做法 阅读全文
摘要:
可以转化为01背包求方案数的问题,dp数组f[][]表示第几个砝码能称出的重量,可压缩至一维 转移方程为f(i,j)+=f(i-1,j-w[i]) 当前我们可以称出的重量必定是由之前的砝码重量转移过来的 阅读全文
摘要:
挺简单的,与完全背包差不多,只不过是所有的物品可以随便选改为了每个物品只能选一次 状态设计(二维):设i为当前的物品,j为当前背包容量 转移方程为f(i,j)=max{f(i-1,j),f(i-1,j-w[i])+v[i]} 其中w[i]为当前物品的重量,v[i]为当前物品的价值 常规做法如下 但这 阅读全文
摘要:
天平(balance.in/balance.out) 物理老师 YJ 有一个长杆天平,天平的两臂长均为 15,将长杆看作 x 轴, 则平衡点在 0 位置处,负数位置在左臂上,正数位置在右臂上。长杆上有 n 个 位置有挂钩可以挂秤砣。YJ 有 m 个秤砣,质量分别为 gi,每个挂钩可以不挂也 可以挂任 阅读全文
摘要:
感觉背包问题是dp中最好理解的了 定义:大小为i的背包最多能装的价值 转移方程 f(i)=max{f(i-w[j])+v[j]} 其中w[j]指的是第j件物品的重量,而v[j]指的是第j件物品的价值 代码实现(1) 代码实现(2) 阅读全文
摘要:
题目描述 有一个 n 个元素的数组,每个元素初始均为 0。有 m 条指令,要么让其中一段连续序列数字反转——0 变 1,1 变 0(操作 1),要么询问某个元素的值(操作 2)。 例如当 n = 20 时,10 条指令如下: 输入输出格式 输入格式: 第一行包含两个整数 n, m,表示数组的长度和指 阅读全文