f[i][j]表示第i首歌音量为j是否可能。若是将状态之间建边,那么答案就是max(j){f[i][j]==true&&0<=j<=limit}。于是就是图中dfs一遍判断可达性。(<--vis数组也叫记忆化?)

 #include<cstdio>
using namespace std;
int n,vis[][],w[],limit,sta;
void dfs(int cur,int now)
{
if(cur>n) return;
vis[cur][now]=;
if(now+w[cur+]<=limit) if(!vis[cur+][now+w[cur+]]) dfs(cur+,now+w[cur+]);
if(now-w[cur+]>=) if(!vis[cur+][now-w[cur+]]) dfs(cur+,now-w[cur+]);
}
int main()
{
scanf("%d%d%d",&n,&sta,&limit);
for(int i=;i<=n;i++) scanf("%d",&w[i]);
dfs(,sta);
for(int i=limit;i>=;--i) if(vis[n][i])
{
printf("%d\n",i);
return ;
}
puts("-1");
return ;
}

最新文章

  1. Nginx if 条件判断
  2. OOP的四个魔术方法
  3. Torch7学习笔记(二)nn Package
  4. 对于C#中的一些点滴你真的理解了吗?
  5. 3.发布Maven项目到nexus中
  6. 异常处理 Exception
  7. Android经常使用的五种弹出对话框
  8. HDU 2473 - Junk-Mail Filter ,并查集的删点
  9. MySQL 复制
  10. Hive基础(3)---Fetch Task(转)
  11. AWS的区域和可用区概念解释
  12. (转)基于微软平台IIS/ASP.NET开发的大型网站有哪些?
  13. 通俗的理解java设计模式的准则
  14. ****** 三十四 ******、软设笔记【存储器系统】-Cache存储器
  15. html一些标签在不同浏览器或者不同版本浏览器的注意事项
  16. 分区实践 注意分区名 p2018-01 p2018-02 被解释为同一分区名
  17. 1-10假期训练(hdu-2059 简单dp)
  18. 【Python学习笔记】使用python进行kmeans聚类
  19. EM 最大似然概率估计
  20. 【最大独立集】BZOJ3175- [Tjoi2013]攻击装置

热门文章

  1. 封装安卓的okhttp
  2. Tile Cut~网络流入门题
  3. maven工程开启jetty调试
  4. centos yum 安装 mysql
  5. 记录一次Nginx跳转报错的问题
  6. [POJ1595]欧拉线性筛(虽然这道题不需要...)
  7. 【BZOJ】1592: [Usaco2008 Feb]Making the Grade 路面修整
  8. SEH
  9. LeetCode 151 reverse word in a string
  10. Restful接口设计