【CodeForces 987C】Three displays
【链接】 我是链接,点我呀:)
【题意】
【题解】
动态规划
设dp[i][j]表示前i个数字,选了j个的最小花费。
dp[i][j] = min(dp[k][j-1]+b[i]);//其中a[i]>a[k]且ka[k]的位置k才有可能。
复杂度O(N^2)
【代码】
#include <bits/stdc++.h>
using namespace std;
const int N = 3e3;
const int INF = 4e8;
int n;
int a[N+10],b[N+10];
int dp[N+10][4];
int main()
{
#ifdef LOCAL_DEFINE
freopen("rush.txt","r",stdin);
#endif // LOCAL_DEFINE
ios::sync_with_stdio(0),cin.tie(0);
cin >> n;
for (int i = 1;i <= n;i++) cin >> a[i];
for (int i = 1;i <= n;i++) cin >> b[i];
for (int i = 1;i <= 3;i++)
for (int j = 1;j <= n;j++)
dp[j][i] = INF;
for (int i = 1;i <= n;i++) dp[i][1] = b[i];
for (int j = 2;j <= 3;j++)
for (int i = j;i <= n;i++)
for (int k = j-1;k <= i-1;k++)
if (a[i]>a[k] && dp[i][j]>dp[k][j-1]+b[i]){
dp[i][j] = dp[k][j-1]+b[i];
}
int ans = INF;
for (int i = 3;i <= n;i++)
ans = min(ans,dp[i][3]);
if (ans==INF)
cout<<-1<<endl;
else
cout<<ans<<endl;
return 0;
}
【CodeForces 987C】Three displays的更多相关文章
- 【codeforces 415D】Mashmokh and ACM(普通dp)
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...
- 【74.00%】【codeforces 747A】Display Size
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 【codeforces 707E】Garlands
[题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q ...
- 【codeforces 707C】Pythagorean Triples
[题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ...
- 【codeforces 709D】Recover the String
[题目链接]:http://codeforces.com/problemset/problem/709/D [题意] 给你一个序列; 给出01子列和10子列和00子列以及11子列的个数; 然后让你输出 ...
- 【codeforces 709B】Checkpoints
[题目链接]:http://codeforces.com/contest/709/problem/B [题意] 让你从起点开始走过n-1个点(至少n-1个) 问你最少走多远; [题解] 肯定不多走啊; ...
- 【codeforces 709C】Letters Cyclic Shift
[题目链接]:http://codeforces.com/contest/709/problem/C [题意] 让你改变一个字符串的子集(连续的一段); ->这一段的每个字符的字母都变成之前的一 ...
- 【Codeforces 429D】 Tricky Function
[题目链接] http://codeforces.com/problemset/problem/429/D [算法] 令Si = A1 + A2 + ... + Ai(A的前缀和) 则g(i,j) = ...
- 【Codeforces 670C】 Cinema
[题目链接] http://codeforces.com/contest/670/problem/C [算法] 离散化 [代码] #include<bits/stdc++.h> using ...
随机推荐
- 一、Redis 基础命令---总括
1.redis命令不区分大写和小写.可是KEY区分大写和小写. 2.redis-cli -h 127.0.0.1 -p 6379 依据IP/PORT链接服务端 3.redis-server --por ...
- ORACLE 树形查询 树查询
前台树结构依据个人的权限登录变化 全部我查询要依据 树的ID 查询以下全部的子节点 以及本节点的信息 select * from table start with id = #{id} connect ...
- HDU 5291(Candy Distribution-差值dp)
Candy Distribution Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- vue组件的3种书写形式
第一种使用script标签 <!DOCTYPE html> <html> <body> <div id="app"> <my- ...
- 深度学习利器:TensorFlow在智能终端中的应用——智能边缘计算,云端生成模型给移动端下载,然后用该模型进行预测
前言 深度学习在图像处理.语音识别.自然语言处理领域的应用取得了巨大成功,但是它通常在功能强大的服务器端进行运算.如果智能手机通过网络远程连接服务器,也可以利用深度学习技术,但这样可能会很慢,而且只有 ...
- mysql 从库落后主库太多优化
有时候为了避免master.info和中继日志崩溃,在容忍额外的fsync()带来的开销,推荐设置sync_master_info = 1sync_relay_log = 1sync_relay_lo ...
- python简易版学生管理系统
#coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...
- jquery.slides.js
http://slidesjs.com/#docs 一款强大的,专业的幻灯片组件,全方位对幻灯片的速度..全方位的控制: $(function(){ $("#slides").sl ...
- windows server 2008 R2开机进度条闪过后黑屏
起因:想在2008中添加hyper-v角色 事件经过: 1.在服务器管理器中添加hyper-v角色,重启,一直配置失败. 2.在bios开启vt-x,重新添加hyper-v角色,重启,进度条闪一下之后 ...
- Python学习笔记基础篇-(1)Python周边
一.系统命令 1.Ctrl+D 退出Python IDLE input方法中输入EOF字符,键入Ctrl+D 2.命令行选项: -d 提供调试输出 -O 生成优化的字节码(.pyo文件) -S 不 ...