CF987C Three displays【一维DP/类似最大子序列和】
2024-09-03 03:03:33
【链接】:CF987C
【分析】:先求出每个s【i】后面比s【i】大的c【i】的最小值,然后枚举前两个数c(i),c(j)以及 j 后面递增且存在最小值的dp(j)
【代码】:
#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
#define ms(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(a); i<=(b); i++)
//#define run(i,a,b) for(int i=(a); i<=(b); i++)
int n;
int s[3005];
int c[3005];
int dp[3005]; //dp【i】表示s【i】后面比s【i】大的对应c【i】的最小值
int main()
{
ms(dp,INF);
cin>>n;
int ans=INF;
rep(i,1,n)
cin>>s[i];
rep(i,1,n)
cin>>c[i];
rep(i,1,n)
{
rep(j,i+1,n)
{
if(s[j]>s[i])
dp[i]=min(dp[i],c[j]);
}
}
rep(i,1,n)
{
rep(j,i+1,n)
{
if(s[j]>s[i] && dp[i]!=INF)
{
ans = min(ans, c[i]+c[j]+dp[j]);
}
}
}
if(ans==INF) puts("-1");
else cout<<ans<<endl;
}
最新文章
- 解析大型.NET ERP系统 业务逻辑设计与实现
- 常用的js方法,包括表单校验的一些方法
- Sqlsever
- 反射中 GetCustomAttributes
- Java性能优化权威指南-读书笔记(二)-JVM性能调优-概述
- Runtime.getRuntime().exec中命令含有括号问题
- $(window).height() 文档高度问题
- http://codeforces.com/contest/828
- Flipper
- MySQL高可用架构之MHA 原理与实践
- bash的工作特性及其使用方法
- ToolbarDemo【Toolbar作为顶部导航栏的简单使用】
- arcgis api 3.x for js 入门开发系列三地图工具栏(附源码下载)
- xen 基础命令学习
- 获取HttpServletRequest请求Body中的内容
- 时间序列分析工具箱——sweep
- InnoDB存储引擎介绍-(2)redo和undo学习
- linux命令学习之:df
- PHP/Laravel轻松上传超大文件
- maven加载第三方jar包
热门文章
- USACO Section1.3 Mixing Milk 解题报告
- selenium初识(二)——之webdriver API
- An internal error occurred during: ";Launching on Tomcat 7.x";
- [译]10-Spring BeanPostProcessor
- 关于MySQL查询优化 の 30条忠告
- Python全栈工程师(Linux基本操作)
- ironic如何支持部署时按需RAID?
- Java中常用的正则表达式判断,如IP地址、电话号码、邮箱等
- POJ A-Wireless Network
- c# 对XML 解析 和 序列化