洛谷 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 ...
随机推荐
- MySQL(十一)视图及存储过程
一.视图 视图是虚拟的表,它只包含使用时动态检索数据的查询. 1.使用视图的好处 ①重用SQL语句: ②简化复杂的SQL操作(可以方便的重用它而不必知道它的基本查询细节): ③使用表的组成部分而不是整 ...
- Python文学家为Python写的一首词?(附中英文版)
The Zen of Python, by Tim Peters (Python之禅 by Tim Peters) Beautiful is better than ugly. (优美胜于丑陋(Pyt ...
- identity一些接口
ASP.NET平台通过HttpContext对象提供一些关于用户的有用信息,该对象由Authorize注解属性使用 的,以检查当前请求的状态,考察用户是否已被认证.HttpContext.User属性 ...
- 【LeetCode105】Construct Binary Tree from Preorder and Inorder Traversal★★
1.题目 2.思路 3.java代码 //测试 public class BuildTreeUsingInorderAndPreorder { public static void main(Stri ...
- pandas:解决groupby().apply()方法打印两次
对于以下dataframe执行dataframe.groupby(['name', 'course']).apply(lambda x: test(x)) 操作 其中test(x)函数为: def t ...
- ubuntu在指定的文件夹下创建python3和python2的虚拟环境
1.用pip安装virtualenv sudo apt-get install python-virtualenv 2.创建python2和python3虚拟环境 2.1 创建python2的虚拟环境 ...
- html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia
以前在前人基础上重复造了一个网页录音的轮子,顺带把github仓库使用研究了一下,扔到了github上. 优势在于结构简单,可插拔式的录音格式支持,几乎可以支持任意格式(前提有相应的编码器):默认提供 ...
- R绘图 第十一篇:统计转换、位置调整、标度和向导(ggplot2)
统计转换和位置调整是ggplot2包中的重要概念,统计转换通常使用stat参数来引用,位置调整通常使用position参数来引用. bin是分箱的意思,在统计学中,数据分箱是一种把多个连续值分割成多个 ...
- JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...
- nginx的access.log文件详解
事实证明,日志文件真的是很重要很重要的.能够帮助我们快速的定位问题,并且知道用户访问的状态,浏览器,Ip,接口地址等,简直可怕.. 一.nginx的access.log(1)对博主而言,日志文件存放在 ...