UVALive 5052 Genome Evolution ——(xjbg)
2024-09-05 04:57:35
本以为这题n=3000,随便n方一下就能过。于是我先枚举长度len再枚举起点,不断增加新的点并删除原来的点,判断在b中的r-l+1是不是等于len即可,这个过程显然要用set维护比较方便,但是貌似卡了这个log,T了= =。
然后修改了一下思路,先枚举左端点,再不断的向有扩张,并用两个变量l和r来标记在b中的最左和最右的位置,然后如上做法即可。这样的好处在于不需要删除点的信息,因此可以直接借用变量来维护边界了。具体差别见代码吧。
T的代码如下:
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <set>
using namespace std;
const int N = + ;
typedef long long ll; int n,a[N],b[N];
int pos[N]; int main()
{
while(scanf("%d",&n) == && n)
{
for(int i=;i<=n;i++) scanf("%d",a+i);
for(int i=;i<=n;i++) scanf("%d",b+i), pos[b[i]] = i;
ll ans = ;
for(int len=;len<=n;len++)
{
set<int> S;
for(int i=;i<=len;i++)
{
S.insert(pos[a[i]]);
}
if(*S.rbegin() - *S.begin() + == len) ans++; for(int i=len+;i<=n;i++)
{
S.insert(pos[a[i]]);
S.erase(pos[a[i-len]]);
if(*S.rbegin() - *S.begin() + == len) ans++;
}
}
printf("%lld\n",ans);
}
return ;
}
T的代码
AC的代码如下:
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <set>
using namespace std;
const int N = + ;
typedef long long ll; int n,a[N],b[N];
int pos[N]; int main()
{
while(scanf("%d",&n) == && n)
{
for(int i=;i<=n;i++) scanf("%d",a+i);
for(int i=;i<=n;i++) scanf("%d",b+i), pos[b[i]] = i;
ll ans = ;
for(int i=;i<=n;i++)
{
int l = pos[a[i]];
int r = pos[a[i]];
for(int j=i+;j<=n;j++)
{
l = min(l, pos[a[j]]);
r = max(r, pos[a[j]]);
if(r - l == j - i) ans++;
}
}
printf("%lld\n",ans);
}
return ;
}
AC的代码
最新文章
- 如何获取安卓系统自带应用的package和activity
- MongoDB 初见指南
- Hibernate5.2关联关系之双向一对多(三)
- C程序设计语言习题解答
- Android --SeekBar的使用
- iOS优化内存方法推荐
- Google的Java编程风格指南(Java编码规范)
- 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI -- 结构规划
- ActionBar官方教程(11)自定义ActionBar的样式(含重要的样式属性表及练习示例)
- 打造强势智能手表平台:Testin云測携手索尼招募全球开发人员
- MVVM模式应用 之介绍
- SQL SERVER中的流程控制语句
- 『Tarjan算法 无向图的双联通分量』
- c++入门之内置数组和array比较
- 046、创建Docker Machine(2019-03-11 周一)
- Java的集合框架(第一次小结)
- 一道区间DP的水题 -- luogu P2858 [USACO06FEB]奶牛零食Treats for the Cows
- 1)HDFS分布式文件系统 2)HDFS核心设计 3 )HDFS体系结构
- 【干货】SIFT-Workstation 下载与安装 不跳过每一个细节部分
- 21、uwp UI自动化测试(WinAppDriver)
热门文章
- mysql 树结构递归处理
- Creating a ModelForm without either the &#39;fields&#39; attribute or the &#39;exclude&#39; attribute is prohibited; form ResumeForm needs updating.
- HelenOS
- css布局笔记
- Linux Centos7配置ftp服务器
- flask 中的ORM ( 二 )
- 第三章 Django之动态网页基础(1)
- CDN加速地址URL拿不到,显示“无法访问此网站”
- 访问php界面访问不到,会下载文件
- iView的tree组件实现单选功能