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