[luoguP1877] [HAOI2012]音量调节(DP)

传送门

绝世傻DP

#include <cstdio>
#include <iostream>
#define N 51

int n, s, mx;
bool f[N][1001];

inline int read()
{
	int x = 0, f = 1;
	char ch = getchar();
	for(; !isdigit(ch); ch = getchar()) if(ch == ‘-‘) f = -1;
	for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - ‘0‘;
	return x * f;
}

int main()
{
	int i, j, k, x;
	n = read();
	s = read();
	mx = read();
	f[0][s] = 1;
	for(i = 1; i <= n; i++)
	{
		x = read();
		for(j = 0; j <= mx; j++)
		{
			if(j + x <= mx && f[i - 1][j]) f[i][j + x] = 1;
			if(j - x >= 0 && f[i - 1][j]) f[i][j - x] = 1;
		}
	}
	for(i = mx; i >= 0; i--)
		if(f[n][i])
		{
			printf("%d\n", i);
			return 0;
		}
	puts("-1");
	return 0;
}

  

时间: 2024-10-25 13:28:12

[luoguP1877] [HAOI2012]音量调节(DP)的相关文章

bzoj-2748 2748: [HAOI2012]音量调节(dp)

题目链接: 2748: [HAOI2012]音量调节 Time Limit: 3 Sec  Memory Limit: 128 MB Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低.音量用一个整数描述.输入文件中给定整数beginLevel,代表吉他刚开始的音量,以及整数maxLevel,

BZOJ 2748: [HAOI2012]音量调节 dp

2748: [HAOI2012]音量调节 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=2748 Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低.音量

BZOJ 2748: [HAOI2012]音量调节【二维dp,枚举】

2748: [HAOI2012]音量调节 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2010  Solved: 1260[Submit][Status][Discuss] Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低. 音量用一个整数描

洛谷 P1877 [HAOI2012]音量调节

P1877 [HAOI2012]音量调节 题目描述 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都需要改变一次音量.在演出开始之前,他已经做好一个列表,里面写着每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低. 音量用一个整数描述.输入文件中整数beginLevel,代表吉他刚开始的音量,整数maxLevel,代表吉他的最大音量.音量不能小于0也不能大于maxLevel.输入中还给定了n个整数c1,c2,c3,...,cn

2748: [HAOI2012]音量调节

2748: [HAOI2012]音量调节 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 719  Solved: 475[Submit][Status] Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低.音量用一个整数描述.输入文件中给定整数b

bzoj 2748: [HAOI2012]音量调节

2748: [HAOI2012]音量调节 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 872  Solved: 577[Submit][Status][Discuss] Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低.音量用一个整数描述.输

Bzoj 2748: [HAOI2012]音量调节 动态规划

2748: [HAOI2012]音量调节 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1234  Solved: 777[Submit][Status][Discuss] Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是多少.每一次改变音量,他可以选择调高也可以调低.音量用一个整数描述.

P1877 [HAOI2012]音量调节

P1877 [HAOI2012]音量调节 题解 目录: 1. solution 1 普通dfs  60pt 2. solution 2 记忆化搜索 100pt 3. solution 3 到达型 01 背包 4. PS            CE 的原因 solution 1 普通dfs  60pt dfs 暴搜,pos 记录当前到了第几首歌,level 记录当前的音量 一个小剪枝 由于每换一首歌都要调节音量,也就是要么 + 下一首音量,要么 - 下一首歌音量.那么当我们发现无论是上调音量还是下

bzoj2748: [HAOI2012]音量调节(背包)

2748: [HAOI2012]音量调节 题目:传送门 题解: sb省选题..呵呵一眼背包: f[i][j]表示第i时刻能否为音量j 代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 int n,st,mx; 8 int a[55]; 9 bo