航线设置  

问题描述
在美丽的莱茵河畔,每边都分布着N个城市,两边的城市都是唯一对应的友好城市,现需要在友好城市间开通航线以加强往来,但因为莱茵河常年大雾,如果开设的航线发生交叉就有可能出现碰船的现象。现在要求尽可能多地开通航线并且使航线不能相交。
输入
有若干组测试数据,每组测试数据的第一行是一个整数n,它表示每边都分布着n个城市(1<=n<=1000)。接着有n行,每一行有2个整数s,t,之间有一个空格,s表示起点城市,t表示终点城市。
输出
对每组测试数据,首先在一行上输出“Case #:”,其中“#”为测试数据组号,从1开始编号。接着在下一行输出“The Maximal number is:”,紧跟着输出这些城市间不相交的最大的航线数。
输入样例:
4
1 2
2 4
3 1
4 3
 
输出样例:
Case 1:
The Maximal number is:2
思路:数据结构:a[s]=t;//表示s开往t
状态:d[i]:=以第a[i]个城市为结尾的最大航线数;
状态转移方程:d[i]={d[i],d[j]+1|j<i且a[j]<a[i]}
则结果为最大的d[i];
 
代码:
#include <bits/stdc++.h>

using namespace std;

const int maxn=;

int a[maxn],d[maxn];

int n,ans,s,t; 

int main()

{

    while (scanf("%d",&n)) 

    {

        for (int i = ; i <= n; i++) 

        {

            scanf("%d%d",&s,&t);

            a[s]=t;

        }

        ans=;

        for(int i=;i<=n;i++)

        {

            d[i]=;

            for(int j=;j<i;j++)

                if(a[j]<a[i])//核心判断

                    d[i]=max(d[i],d[j]+);

            ans=max(ans,d[i]);

        }

        printf("%d\n",ans);

    }

    return ;

}

游船费问题

https://wenku.baidu.com/view/31ab1d2f3169a4517723a3fd.html

动态规划(dp)专题的更多相关文章

  1. 动态规划dp专题练习

    貌似开坑还挺好玩的...开一个来玩玩=v=... 正好自己dp不是很熟悉,就开个坑来练练吧...先练个50题?小目标... 好像有点多啊QAQ 既然是开坑,之前写的都不要了! 50/50 1.洛谷P3 ...

  2. 动态规划DP的优化

    写一写要讲什么免得忘记了.DP的优化. 大概围绕着"是什么","有什么用","怎么用"三个方面讲. 主要是<算法竞赛入门经典>里 ...

  3. 动态规划dp

    一.概念:动态规划dp:是一种分阶段求解决策问题的数学思想. 总结起来就一句话:大事化小,小事化了 二.例子 1.走台阶问题 F(10):10级台阶的走法数量 所以:F(10)=F(9)+F(8) F ...

  4. 算法-动态规划DP小记

    算法-动态规划DP小记 动态规划算法是一种比较灵活的算法,针对具体的问题要具体分析,其宗旨就是要找出要解决问题的状态,然后逆向转化为求解子问题,最终回到已知的初始态,然后再顺序累计各个子问题的解从而得 ...

  5. 决策单调性优化dp 专题练习

    决策单调性优化dp 专题练习 优化方法总结 一.斜率优化 对于形如 \(dp[i]=dp[j]+(i-j)*(i-j)\)类型的转移方程,维护一个上凸包或者下凸包,找到切点快速求解 技法: 1.单调队 ...

  6. 状压dp专题复习

    状压dp专题复习 (有些题过于水,我直接跳了) 技巧总结 : 1.矩阵状压上一行的选择情况 \(n * 2^n\) D [BZOJ2734][HNOI2012]集合选数 蒻得不行的我觉得这是一道比较难 ...

  7. 树形dp专题总结

    树形dp专题总结 大力dp的练习与晋升 原题均可以在网址上找到 技巧总结 1.换根大法 2.状态定义应只考虑考虑影响的关系 3.数据结构与dp的合理结合(T11) 4.抽直径解决求最长链的许多类问题( ...

  8. 区间dp专题练习

    区间dp专题练习 题意 1.Equal Sum Partitions ? 这嘛东西,\(n^2\)自己写去 \[\ \] \[\ \] 2.You Are the One 感觉自己智力被吊打 \(dp ...

  9. 「动态规划」-数位dp专题

    数位dp,今天学长讲的稍玄学,课下花了一会时间仔细看了一下,发现板子是挺好理解的,就在这里写一些: 数位dp主要就是搞一些在区间中,区间内的数满足题目中的条件的数的个数的一类题,题目一般都好理解,这时 ...

  10. 【dp专题】NOIP真题-DP专题练习

    这里学习一下DP的正确姿势. 也为了ZJOI2019去水一下做一些准备 题解就随便写写啦. 后续还是会有专题练习和综合练习的. P1005 矩阵取数游戏 给出$n \times m$矩阵每次在每一行取 ...

随机推荐

  1. 小程序开发 js里面array操作的方法列表。

  2. Redis Cluster机器内存充爆处理

    机器配置 系统:CentOS6.7 配置:4C8G 应用:Redis Cluster,实例化 现象 1.无法启动redis,启动后系统OOM,直接杀死 2.Redis: OOM command not ...

  3. SOA,SOAP,RPC,以及 RPC协议与 REST 协议之间的关系(搜狗)

    web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP.WSDL(WebServicesDescri ...

  4. windows日志查看-非法关机判断方法

    日志文件,它记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用.但许多用户不注意对它保护,一些“不速之客”很轻易就将日志文件清空,给系统带来严重 ...

  5. C# 登录窗口的设计技巧

    记得很久之前要用C#做个需要登录的小东西,自己之前完全没有编写WinForm的经验,整个过程中,自己感觉应该怎么写就怎么写,时常导致许多逻辑性的错误,比如在做这个登录窗口的时候,应该实现的效果是,用户 ...

  6. POJ 1125 Stockbroker Grapevine(最短路基础题)

    Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spre ...

  7. Cuba项目从远程Git仓库下载步骤

    Cuba Studio 从Git远程仓库里下载代码,并且可以使用IDEA打开,需要注意的地方: 1.使用Git Gui克隆代码 也可以使用IDEA本身集成的Git下载,但是要保证:下载了项目以后,不能 ...

  8. python编码与存储读取数据(数组字典)

    Camp时在python2的编码上坑了不少. 理解pyhon2的编码 python2字符串类型只有两种: str类型:b'xxx'即是str类型, 是编码后的类型,len()按字节计算 unicode ...

  9. 【刷题】BZOJ 4195 [Noi2015]程序自动分析

    Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,-代表程序中出现的变量,给定n个形如xi=xj或x ...

  10. 【刷题】洛谷 P4782 【模板】2-SAT 问题

    题目背景 2-SAT 问题 模板 题目描述 有n个布尔变量 \(x_1\)​~\(x_n\)​,另有m个需要满足的条件,每个条件的形式都是"\(x_i\)​为true/false或\(x_j ...