题解:

先按照pos排序

我们考虑每个船的结束为止endi

endi-len[i]+1>=pos[i-1],end[i]>=pos[i],end[i]<pos[i+1]

显然每一个位置的endi唯一

所以就可以dp了

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,sum[N],x,m,a[N],pos[N],len[N],s[N],f[N];
int cmp(int x,int y)
{
return pos[x]<pos[y];
}
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++)scanf("%d",&x),sum[i]=sum[i-]+x;
scanf("%d",&m);
for (int i=;i<=m;i++)
{
scanf("%d%d",&pos[i],&len[i]);
f[i]=i;
}
sort(f+,f+m+,cmp);
f[m+]=m+;
pos[f[m+]]=n+;
for (int i=;i<=m;i++)
for (int j=pos[f[i]];j-pos[f[i]]+<=len[f[i]]&&j<pos[f[i+]];j++)
if (j-len[f[i]]+>pos[f[i-]])a[j]=f[i];
for (int i=;i<=n;i++)
{
s[i]=s[i-];
if (a[i])s[i]=max(s[i],s[i-len[a[i]]]+sum[i]-sum[i-len[a[i]]]);
}
printf("%d",s[n]);
}

最新文章

  1. 在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*
  2. python使用总结
  3. 从A文件拿B文件的某一个值
  4. Beauty Contest
  5. 你真的知道setTimeout是如何运行的吗
  6. 【C#】线程之Parallel
  7. 【kAri OJ】wzt的树
  8. Vimer的福音 新时代的Vim C++自动补全插件 clang_complete
  9. 从Apache Storm学到的经验教训 —— storm的由来(转)
  10. 无法启动T-SQL 调试
  11. 在android中使用achartengine来绘制各种图表
  12. poj 1167 简单搜索
  13. Unity3d UnityEditor EditorWindow 自定义窗体控件
  14. YIi配置debug工具、yii配置gii工具
  15. Openjudge-计算概论(A)-人民币支付
  16. 团队作业4---第一次项目冲刺(AIpha版本)第二天
  17. windows第四层负载均衡--基于NLB负载均衡
  18. JAVA中IO流总结
  19. springmvc解决中文乱码问题
  20. 导入的eclipse 中 maven项目,项目中已经加入lombok.jar包,但是不能编译成功

热门文章

  1. Centos7 Firewall 防火墙配置应用实例参考(转)
  2. jQuery实现购物车物品数量的加减
  3. PyQT的安装和配置
  4. input光标大小
  5. c#高级编程第七版 学习笔记 第三章 对象和类型
  6. Linux 查看网卡流量、网络端口
  7. openwrt修改hosts
  8. 新建Maven项目建成后本应该有的src/main/java和src/test/java目录并没有出现:
  9. 王之泰201771010131《面向对象程序设计(java)》第七周学习总结
  10. 关于vim的折叠