3080 道路规划
来源:互联网 发布:电影售票软件 编辑:程序博客网 时间:2024/04/28 22:42
Task
给两行数1-n的序列,相同的数连线,求最大的集合满足集合中任意两个数都相交。
Solution
比赛的时候想歪了,认为它求最大独立集。于是把任意不相交的两个数之间连边,
求出的一个最大独立集必定是任意两个都相交的。但是!但是!匈牙利算法是用来求二分图的最大独立集的,但是构建的图并不一定是二分图。
正解=反向求LIS。如果x,y是相交的,观察第二行,发现符合逆序对的概念,如果这个集合中任意两个都是逆序对,那么这个集合一定是一个单调递减的序列。
const int M=1e5+5;int id[M],A[M],dp[M];int n;inline void input(){ int i,j,k; rd(n); rep(i,0,n-1)rd(k),id[k]=i; rep(i,0,n-1)rd(k),A[i]=id[k];}inline void solve(){ int i; memset(dp,0x3f,sizeof(dp)); per(i,n-1,0) *lower_bound(dp,dp+n,A[i])=A[i]; printf("%d\n",lower_bound(dp,dp+n,dp[n+1])-dp);}int main(){ input(); solve(); return 0;}
0 0
- 3080 道路规划
- 道路规划
- 软件测试道路规划
- JZOJ 4810. 道路规划
- 【JZOJ4810】道路规划
- 【JZOJ 4810】道路规划
- xjoj 道路规划
- 道路游戏 动态规划
- 【xjoi】【二分查找】道路规划
- 软件从业人员如何规划职业发展道路?
- 如何规划职业发展道路(软件业)
- NOIP提高组【JZOJ4810】道路规划
- 【NOIP提高组五校联考】道路规划
- 洛谷 P1070 道路游戏(动态规划)
- 动态规划 洛谷P1070 道路游戏
- 【Luogu1272】重建道路(动态规划)
- 写写从码农到程序员道路的规划
- 道路
- 368_ EditText禁止输入中文
- 面向对象
- 127. Word Ladder-未完待续
- C++中的memset
- [js点滴]JavaScript关于函数总结
- 3080 道路规划
- Android面试指南-面霸之路06-handler及mvp架构分析、设计
- Dinic&EK模板记录
- BZOJ3509: [CodeChef] COUNTARI
- python 学习之cmd下的if语句
- 写给想创业的朋友,向敢于创业的朋友致敬
- 快速排序
- Kafka源码深度解析-序列12 -Server核心组件之2-ReplicaManager核心数据结构与Replica同步原理
- 计算机程序的思维逻辑 - 随机