洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P
大意:让你把两个n的排列做匹配,连线不想交,而且匹配的数字的差<=4,求最大匹配数
sol:(参考了kczno1的题解)对于第一个排列从左往右枚举,用树状数组维护到达另一个序列第i个数字的最大值。
#include <cstdio>
#include <algorithm>
using namespace std;
const int N=;
int n,a[N],b[N],f[N],t[N];
#define lowbit(x) ((x)&(-x))
inline void ins(int x,int v){for(;x<=n;x+=lowbit(x)){if(t[x]>v)break;t[x]=v;}}
inline int que(int x){int re=; for(;x;x-=lowbit(x))re=max(re,t[x]);return re;}
int main()
{
int i,j,x; scanf("%d",&n);for(i=;i<=n;i++)scanf("%d",&a[i]);for(i=;i<=n;i++)scanf("%d",&x),b[x]=i;
for(i=;i<=n;i++)
{
for(j=max(,a[i]-);j<=min(n,a[i]+);j++)f[j]=que(b[j]-);
for(j=max(,a[i]-);j<=min(n,a[i]+);j++)ins(b[j],f[j]+);
}printf("%d\n",que(n));
}
--------------------分割线-下方无关----------------
大概是受了大佬的启发,我水掉了一个留了半年多的大坑(最长公共子序列的模板)直接贴链接和代码吧
#include <cstdio>
#include <algorithm>
using namespace std;
const int N=;
int n,a[N],b[N],f[N],t[N];
#define lowbit(x) ((x)&(-x))
inline void ins(int x,int v){for(;x<=n;x+=lowbit(x)){if(t[x]>v)break;t[x]=v;}}
inline int que(int x){int re=; for(;x;x-=lowbit(x))re=max(re,t[x]);return re;}
int main()
{
int i,x; scanf("%d",&n); for(i=;i<=n;i++)scanf("%d",&a[i]); for(i=;i<=n;i++)scanf("%d",&x),b[x]=i;
for(i=;i<=n;i++)
{
f[a[i]]=que(b[a[i]]-); ins(b[a[i]],f[a[i]]+);
}printf("%d\n",que(n));
}
洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P的更多相关文章
- 洛谷 P3662 [USACO17FEB]Why Did the Cow Cross the Road II S
P3662 [USACO17FEB]Why Did the Cow Cross the Road II S 题目描述 The long road through Farmer John's farm ...
- 洛谷 P3663 [USACO17FEB]Why Did the Cow Cross the Road III S
P3663 [USACO17FEB]Why Did the Cow Cross the Road III S 题目描述 Why did the cow cross the road? Well, on ...
- 洛谷 P3659 [USACO17FEB]Why Did the Cow Cross the Road I G
//神题目(题目一开始就理解错了)... 题目描述 Why did the cow cross the road? Well, one reason is that Farmer John's far ...
- 洛谷 P3660 [USACO17FEB]Why Did the Cow Cross the Road III G(树状数组)
题目背景 给定长度为2N的序列,1~N各处现过2次,i第一次出现位置记为ai,第二次记为bi,求满足ai<aj<bi<bj的对数 题目描述 The layout of Farmer ...
- 【题解】洛谷P3660 [USACO17FEB]Why Did the Cow Cross the Road III
题目地址 又是一道奶牛题 从左到右扫描,树状数组维护[左端点出现而右端点未出现]的数字的个数.记录每个数字第一次出现的位置. 若是第二次出现,那么删除第一次的影响. #include <cstd ...
- 题解【洛谷P3662】[USACO17FEB]Why Did the Cow Cross the Road II S
本题是练习前缀和的好题!我们可以枚举前端点,确定一个长度为k的区间,然后利用前缀和统计区间内损坏的灯的数量,最后取最小值即可.AC代码: #include <bits/stdc++.h> ...
- [USACO17FEB]Why Did the Cow Cross the Road II S
题目描述 The long road through Farmer John's farm has crosswalks across it, conveniently numbered (). ...
- [USACO17FEB]Why Did the Cow Cross the Road II P
嘟嘟嘟 考虑dp. 对于ai,和他能匹配的bj只有9个,所以我们考虑从这9个状态转移. 对于ai 能匹配的一个bj,当前最大的匹配数一定是[1, j - 1]中的最大匹配数 + 1.然后用树状数组维护 ...
- [USACO17FEB]Why Did the Cow Cross the Road II
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4990 [算法] 首先记录b中每个数的出现位置 , 记为P 对于每个ai , 枚举(a ...
随机推荐
- PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32
systemctl status sshd● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/ ...
- kubernetes 集群机器重启后磁盘盘符变化
1.[root@pserver78 ~]# kubectl -n rook-ceph exec -it rook-ceph-tools-c95b8496b-g4stp -- ceph osd tree ...
- Oracle 将一个查询结果值动态赋值给一个变量
在写存储过程或函数时,经常需要用到中间变量,需要将一些值做临时存储. 可以通过动态变量方式来赋值.如下: FUNCTION YOUR_FUN (VAL1 IN NVARCHAR2) RETURN NC ...
- 《MySQL必知必会》[07] 管理事务处理
1.管理事务处理 一个或多个数据库操作(查询/更新等)组成"事务",也就是说,事务实际上是一组按顺序执行的操作单位: 原子性:整个事务为整体执行,要么执行,要么不执行,不能出现执行 ...
- Maven学习笔记-03-Eclipse和Maven集成
本文使用 Eclipse 集成 Maven,并创一个基于 maven的web工程 一 环境版本信息 本文使用的版本信息如下: Eclipse Version: Mars.1 Release (4.5. ...
- Dell Technology Summit(2018.10.17)
时间:2018.10.17地点:北京国家会议中心
- EZ 2018 05 20 NOIP2018 模拟赛(十五)
这次的比赛充满着玄学的气息,玄学链接 首先讲一下为什么没有第十四场 其实今天早上9点时看到题目就叫了:原题! 没错,整套试卷都做过,我还写了题解 然后老叶就说换一套,但如果仅仅是这样就没什么 但等13 ...
- SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建
最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(1)
分布式监控系统Zabbix-3.0.3的安装记录 环境说明zabbix-server:192.168.1.30 #zabbix的服务端(若要监控本机,则需要配置本机的Zabbix agent, ...
- Linux下rsyslog日志收集服务环境部署记录
rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...