题解 | #美丽的项链#

美丽的项链

https://ac.nowcoder.com/acm/problem/14735

知识点:分组背包,01背包 一共有n组,每组有物品的体积为l到r的物品,且每组物品有个r - l + 1个。对于一组中的某个物品,我们只能选和不选,则满足01背包条件。每个组只能由上一组的状态转移而来,符合题中n个组都选。定义状态 dp[i][j] 为 1~i 组中,体积为 j 的方案数,转移公式为 dp[i][j] += dp[i - 1][j - v]。

using namespace std;
#define int long long
const int mod = 1e9 + 7, N = 1e3 + 10;
int f[25][105];
signed main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int n, m; cin >> n >> m;
	f[0][0] = 1;
	for(int i = 1; i <= n; i ++)
	{
		int l, r; cin >> l >> r;
		for(int j = 0; j <= m; j ++)
		{
			for(int k = l; k <= r; k ++)
			{
				if(j >= k) f[i][j] += f[i - 1][j - k];
			}
		}
	}
	cout << f[n][m] << '\n';
}
全部评论

相关推荐

11-17 11:15
门头沟学院 Java
金山办公终于发offer了,但薪资和平台都不如已有的offer打算拒了,A不了薪资,不满意直接拒了,留给需要的人嘿嘿嘿时间线:10.14线下一面&nbsp;,10.23线上二面,下午发测评,11月1日HR面,11月14日电话谈薪,11月17日直接发offer
star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
offer帮选
点赞 评论 收藏
分享
hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务