博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5811 Colosseo(拓扑排序+单调DP)
阅读量:5222 次
发布时间:2019-06-14

本文共 745 字,大约阅读时间需要 2 分钟。

 

【题目链接】 

 

【题目大意】

  给出 一张单向图,现在将其划分成了两个部分,问划分之后的点是否分别满足按照一定序列排序后后面的点可以直接与前面的点相连,如果可以,从第二部分拆出几个点到第一部分仍然满足这个性质。

 

【题解】

  对于第一问,我们可以拓扑排序判断,对于第二问,我们发现先在第一组的序列中找到第二组每个点的可插入位置,在第二组的位置序列中做最长不下降子序列就是答案。

 

【代码】

#include 
#include
#include
#include
#include
using namespace std;const int N=1005,M=40000000;int n,m,mark[N],d[N],map[N][N],x,f[N][N],dp[N];vector
T1,T2; char file[M],*F=file;void read(int&x){for(x=0;*F<48;F++);while(*F>47)x=x*10+*F++-48;}bool Topological(int t,vector
&ret){ vector
v; for(int i=0;i
Q; for(int i=0;i
=0;i--){ for(int j=0;j

转载于:https://www.cnblogs.com/forever97/p/hdu5811.html

你可能感兴趣的文章
读书笔记——乔布斯,做最好的自己,共创式教练
查看>>
ubuontu16.04安装Opencv库引发的find_package()错误信息处理及其简单使用
查看>>
用Linux远程挂载Windows上的共享文件夹.md
查看>>
洛谷 P4317 花神的数论题(组合数)
查看>>
【Python】学习笔记5-利用flask来mock接口
查看>>
vue
查看>>
MySQL存储过程和存储函数
查看>>
【bzoj 2208】[Jsoi2010]连通数(dfs||Tarjan算法+拓扑序+dp)
查看>>
iis 隐藏 banner
查看>>
leetcode[18]4Sum
查看>>
Java ThreadLocal的使用
查看>>
为什么数据库ID不能作为URL中的标识符
查看>>
Mybatis 3.3.0 Log4j配置
查看>>
JavaScript打开窗口与关闭页面操作大全
查看>>
java 接口参数
查看>>
DP:Skiing(POJ 1088)
查看>>
kudu
查看>>
如何得到WAV文件播放的总时间
查看>>
移动端页面兼容性问题解决方案整理(三)
查看>>
c语言以二进制的方式向文件读写一组数据
查看>>