【bzoj2748】[HAOI2012]音量调节
2016-03-25 21:03
260 查看
设F[i][j]表示在第i首歌曲结束后,音量能否刚好为j
转移:F[i][j]=F[i][j-C[i]] or F[i][j+C[i]]
初始化:F[0][beginlevel]=true
最后在所有F
[j]中找到F
[j]为true的且要让j尽量大。
如果所有0<=j<=maxlevel中的F
[j]均为false,则输出-1。
转移:F[i][j]=F[i][j-C[i]] or F[i][j+C[i]]
初始化:F[0][beginlevel]=true
最后在所有F
[j]中找到F
[j]为true的且要让j尽量大。
如果所有0<=j<=maxlevel中的F
[j]均为false,则输出-1。
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
using
namespace
std;
#define N 1010
int
f ;
int
n,b,m;
int
x;
int
main()
{
scanf
(
"%d%d%d"
,&n,&b,&m);
f[0][b]=1;
for
(
int
i=1;i<=n;i++)
{
scanf
(
"%d"
,&x);
for
(
int
j=0;j<=m;j++)
{
if
(j>=x)
f[i][j]=f[i-1][j-x];
if
(j+x<=m)
f[i][j]=(f[i][j] || f[i-1][j+x]);
}
}
for
(
int
i=m;i>=0;i--)
if
(f [i])
{
printf
(
"%d"
,i);
return
0;
}
printf
(
"-1"
);
return
0;
}
相关文章推荐
- Spring AOP中pointcut expression表达式解析
- ext2文件系统源代码之xattr.c
- prj文件所在目录
- Git基础知识与常用命令
- 【bzoj2743】[HEOI2012]采花
- 【bzoj1041】[HAOI2008]圆上的整点
- mysql Incorrect information in file 错误解决方法数据库为innodb
- 线程安全问题一定是出现在共享数据上
- OS X 修改网卡 Mac 地址的方法
- 浅谈iOS设计中用XML解析美团外卖地址信息并在tableView上显示
- 【bzoj1034】[ZJOI2008]泡泡堂BNB
- go语言学习心得
- ok210使用-初次烧写程序
- MT法测速之定量分析
- ExtJs之Ext.XTemplate:数组填充,访问父对象
- iOS UIXMLParser 解析数据
- 【bzoj2728】[HNOI2012]与非
- 【bzoj1260】[CQOI2007]涂色paint
- POJ 1847 Tram dij
- 1319 - Monkey Tradition