bzoj 1264: [AHOI2006]基因匹配Match
来源:互联网 发布:大数据开发工程师简历 编辑:程序博客网 时间:2024/05/22 17:48
题意:求两个5n长的序列的最长公共子序列
题解:
一般的最长公共子序列是
1 1 2 2 1 1 2 1 2 2
1 2 2 2 1 1 2 2 1 1
1对应着位置1,2,5,6,8,2对应着3,4,7,9,10。把它们从大到小排序(防止一个s2对应多个s1),然后按s2的顺序排好。就像这样:
8,6,5,2,1, 10,9,7,4,3, 10,9,7,4,3, 10,9,7,4,3, 8,6,5,2,1…
然后就可以用
代码:
#include<cstdio>#include<cstring>#include<vector>#include<algorithm>#include<iostream>using namespace std;int n;vector<int>a,pos[1000010];int main(){ scanf("%d",&n); int nn=n*5; for(int i=1;i<=nn;i++) { int x; scanf("%d",&x); pos[x].push_back(i); } for(int i=1;i<=n;i++) sort(pos[i].begin(),pos[i].end(),greater<int>()); for(int i=1;i<=nn;i++) { int x; scanf("%d",&x); a.insert(a.end(),pos[x].begin(),pos[x].end()); } vector<int>s; int sz=a.size(); for(int i=0;i<sz;i++) { vector<int>::iterator it=lower_bound(s.begin(),s.end(),a[i]); if(it==s.end()) s.push_back(a[i]); else *it=a[i]; } printf("%d",s.size());}
阅读全文
0 0
- bzoj 1264: [AHOI2006]基因匹配Match
- bzoj 1264: [AHOI2006]基因匹配Match
- 1264: [AHOI2006]基因匹配Match
- BZOJ 1264 AHOI2006 基因匹配Match 动态规划+树状数组
- BZOJ 1264: [AHOI2006]基因匹配Match|动态规划
- bzoj 1264 [AHOI2006]基因匹配Match(DP+树状数组)
- BZOJ 1264: [AHOI2006]基因匹配Match 树状数组,DP
- bzoj 1264: [AHOI2006]基因匹配Match (DP+树状数组)
- BZOJ 1264 [AHOI2006]基因匹配Match DP+BIT
- bzoj 1264: [AHOI2006]基因匹配Match 树状数组
- bzoj 1264: [AHOI2006]基因匹配Match(树状数组)
- bzoj1264: [AHOI2006]基因匹配Match
- BZOJ1264: [AHOI2006]基因匹配Match
- bzoj1264: [AHOI2006]基因匹配Match
- 1264: [AHOI2006]基因匹配Match DP+树状数组
- BZOJ1264——[AHOI2006]基因匹配Match
- 【BZOJ1264】[AHOI2006]基因匹配Match【DP】【LCS】【树状数组】
- bzoj1264 [AHOI2006]基因匹配Match (树状数组优化DP)
- 网易视频云分享:流媒体技术介绍(下篇)
- [codevs4748]低价购买
- Firefox浏览器安装Selenium IDE插件
- VM安装ubuntu出错二进制与此平台上的长模式不兼容
- JAVA中的序列化
- bzoj 1264: [AHOI2006]基因匹配Match
- CentOS、Ubuntu、Debian三个linux比较异同
- 《Java核心技术》第10版读书笔记之Chap5(4)——基本数据类型的Wrapper类、自动拆箱与装箱及过程中的坑
- Windows环境下本地数据源Mnist的Tensorflow实例(Python3.6)
- C语言编写简单病毒
- 水平跑马灯TextView
- 写给大数据开发初学者的话 | 附教程
- java的动态代理机制详解
- python中从str中提取元素到list以及将list转换为str