http://codeforces.com/contest/987/problem/C

题意:给你两个n的序列要你根据第一个序列(严格单调递增的方式)在第二个序列里找3个数加起来,输出最小的一个。

思路:先从前往后枚举两个最小的。在从后往前找一个加上使其最小,最后遍历剩下的三元组。

AC代码:

#include<bits/stdc++.h>
#define ll long long using namespace std;
const int maxn=;
const int INF=*1e9;
struct node{
int num,id;
};
struct node1{
ll h,Sum;
};
node a[maxn];
node1 sum[maxn];
int main(){
int n;
cin>>n;
for(int i=;i<=n;i++){
sum[i].Sum=INF;
}
for(int i=;i<=n;i++){
cin>>a[i].id;
}
for(int i=;i<=n;i++){
cin>>a[i].num;
}
ll Min=*1e9;
for(int i=;i<=n-;i++){
Min=*1e9;
for(int j=i+;j<=n;j++){
if(a[i].id<a[j].id){
if(a[i].num+a[j].num<Min)
{
Min=a[i].num+a[j].num;
}
}
}
sum[i].Sum=Min;
sum[i].h=;
}
//cout<<sum[2].Sum<<endl; for(int i=n-;i>=;i--){
Min=*1e9;
for(int j=i-;j>=;j--){
if(a[i].id>a[j].id){
if(sum[i].Sum+a[j].num<Min){
Min=sum[i].Sum+a[j].num;
}
}
}
sum[i].Sum=Min;
sum[i].h=;
}
Min=*1e9;
int i,k;
for( i=;i<=n;i++){
if(Min>sum[i].Sum&&sum[i].h==){
Min=sum[i].Sum;
k=i;
}
}
if(Min<INF){
cout<<Min<<endl;
}
else
cout<<"-1"<<endl;
return ; }

大神:

#include <bits/stdc++.h>
using namespace std;
const int maxn=,inf=0x3f3f3f3f;
int s[maxn],c[maxn],f[maxn],dp[maxn];
int n,ans;
int main(){
scanf("%d",&n);
for (int i=;i<=n;i++) scanf("%d",&s[i]);
for (int i=;i<=n;i++) scanf("%d",&c[i]);
dp[]=inf;
for (int i=;i<=n;i++){
dp[i]=inf;
for (int j=i-;j>=;j--){
if(s[i]>s[j])
dp[i]=min(dp[i],c[i]+c[j]);
}
// printf("%d ",dp[i]);
}
// printf("\n");
ans=inf;
for (int i=;i<=n;i++){
f[i]=inf;
for (int j=i-;j>=;j--){
if(s[j]<s[i]) f[i]=min(f[i],c[i]+dp[j]);
}
// printf("%d ",f[i]);
ans=min(ans,f[i]);
}
// printf("\n");
if(ans==inf) puts("-1");
else printf("%d\n",ans);
return ;
}

CF C. Three displays(DP+思维)的更多相关文章

  1. CF 987C Three displays DP或暴力 第十一题

    Three displays time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  2. cf1153D 树形dp+思维

    一千八的题也不会做了呜呜呜 size[u]表示结点u下的叶子结点, 思维:可以想到一个子树对其父亲会有一个消耗值 考虑一个点如果是max,那么其最大值可以是size[u]-p,p是消耗值最小的子树 一 ...

  3. E. The Contest ( 简单DP || 思维 + 贪心)

    传送门 题意: 有 n 个数 (1 ~ n) 分给了三个人 a, b, c: 其中 a 有 k1 个, b 有 k2 个, c 有 k3 个. 现在问最少需要多少操作,使得 a 中所有数 是 1 ~ ...

  4. 7月15日考试 题解(链表+状压DP+思维题)

    前言:蒟蒻太弱了,全打的暴力QAQ. --------------------- T1 小Z的求和 题目大意:求$\sum\limits_{i=1}^n \sum\limits_{j=i}^n kth ...

  5. CF 256D. Good Sequences(DP)

    题目链接 主要是标记前面素数的最大的DP值,要认真一些.没想到居然写了一个很难发现的错误. #include <cstdio> #include <cstring> #incl ...

  6. CF 335B - Palindrome 区间DP

    335B - Palindrome 题目: 给出一个字符串(均有小写字母组成),如果有长度为100的回文子串,输出该子串.否则输出最长的回文子串. 分析: 虽然输入串的长度比较长,但是如果存在单个字母 ...

  7. CF(435D - Special Grid)dp

    题目链接:http://codeforces.com/problemset/problem/435/D 题意:求三角形个数,三个点必须的白点上,而且三条边必须是横线,竖线或对角线,三条边上不同意出现黑 ...

  8. CF 518D(概率dp)

    传送门:Ilya and Escalator 题意:有n个人排队进车厢,每秒只能进一个人,而且第1个人进了后面的人才能进,第一个人每秒进入车厢的概率为p,不进的概率为1-p,求t秒后进入车厢总人数的数 ...

  9. codeforces 1140D(区间dp/思维题)

    D. Minimum Triangulation time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

随机推荐

  1. MySQL建立一个连接工具类

    public class DBUtil { public static Connection getConn() { Connection conn = null; try { Class.forNa ...

  2. 一个servlet处理多个请求(使用Method的反射机制)

    方法一 可以通过在请求的时候加上参数,然后在servlet中获取请求的参数,再去调用对应的方法.达到一个servlet处理多个请求的目的 test.jsp: <%@ page language= ...

  3. Linux之Ubuntu环境配置(一)

    Linux下的搜狗输入法安装: 1.搜狗官网下载Linux64bit版本文件,默认在/home/username/Downloads目录下. 2.cd /home/username/Downloads ...

  4. a标签中href=""的几种用法(转)

    a标签中href=""的几种用法   标签: html / a标签 / javascript 46371 众所周知,a标签的最重要功能是实现超链接和锚点.而且,大多数人认为a标签最 ...

  5. opencv3.2 编译安装说明

    Create a temporary directory, which we denote as <cmake_binary_dir>, where you want to put the ...

  6. ZROI2018普转提day1t4

    传送门 分析 就是飞飞侠这道题...... 我们可以将这张图建成好几层,每一层可以向下一层的上下左右无代价移动,而对于每个点如果付b[i][j]的代价就可以走到比它高a[i][j]的层上.我们用这种方 ...

  7. String的字符串相加是怎么实现的?

    http://bbs.csdn.net/topics/60485130 首先看 String str = "a" + "b" + "c"; ...

  8. 连接Excel数据库

    SQL语法:http://www.w3school.com.cn/sql/sql_syntax.asp Ctrl键拖(也就是复制) 先输入1,2,然后下拉 一.问题的提出 在ASP编程中会遇到很多大大 ...

  9. kaggle Titanic

    # coding: utf-8 # In[19]: # 0.78468 # In[20]: import numpy as np import pandas as pd import warnings ...

  10. Elasticsearch suggester搜索建议初步

    环境 Elasticsearch 2.3.5 Elasticsearch-ik-plugin 实现 搜索建议的对象 假设有以下两个json对象,需要对其中tags字段进行搜索建议: //对象Produ ...