当前位置: 首页 > news >正文

再网站里做商家店铺网页素材大宝库

再网站里做商家店铺,网页素材大宝库,网站如何进行seo,系统软件开发服务题目描述Nanarikom 有 n 张扑克牌。初始状态下,牌堆中第 i 张扑克牌上的数字为 i。为了进行洗牌,Nanarikom 每次会进行以下操作中的一种:从牌堆顶取出 1 张牌,插入到牌堆的任意位置中。从牌堆底取出 1 张牌,插入到牌堆…
题目描述

Nanarikom 有 n 张扑克牌。初始状态下,牌堆中第 i 张扑克牌上的数字为 i。

为了进行洗牌,Nanarikom 每次会进行以下操作中的一种:

  • 从牌堆顶取出 1 张牌,插入到牌堆的任意位置中。
  • 从牌堆底取出 1 张牌,插入到牌堆的任意位置中。

在操作过程中,牌堆内未被取出的牌相对顺序保持不变。

现在,Nanarikom 想要衡量牌堆的混乱程度。具体地,对于给定的牌堆,Nanarikom 想知道,从初始状态牌堆变换到给定牌堆所需的最小操作次数。

你需要回答 Nanarikom 的 T 组询问。

输入

第一行包含一个整数 T(1\leqslant T\leqslant 10^5),代表测试数据组数。对于每组测试数据:
第一行包含一个整数 n(1\leqslant n\leqslant 10^5),代表扑克牌的数量;
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n),代表给定的牌堆顺序。
输入数据保证 \sum n\leqslant 10^6,且 a1,a2,…,an 是一个排列。

输出

对于每组测试数据,输出一个整数,代表完成变换的最小操作次数。

样例输入
1
5
4 1 2 5 3
样例输出
2
代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int T;
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>T;while(T--){ll n;cin>>n;vector<ll>a(n+1,0);vector<ll>pos(n+1,0);for(ll i=1;i<=n;i++){cin>>a[i];pos[a[i]]=i;}ll ans=1,len=1;for(ll i=2;i<=n;i++){if(pos[i]>pos[i-1]){len++;}else{len=1;}if(len>ans)ans=len;}cout<<n-ans<<"\n";}return 0;
}

我在解这道题时,出现的问题:

1.忽略了n=1这一特殊情况,按平时的习惯,将ans初始化为0。本题应将ans初始化为1。

2.思考的漏洞:将ans的刷新放入了pos[i]<pos[i-1]的选择中。导致如果i=n时pos[i]仍然大于pos[i-1],ans无法及时刷新。

http://www.dtcms.com/a/494249.html

相关文章:

  • 精湛的网站建设免费的企业宣传模板
  • 做网站在哪个地方买空间wordpress 图片展示插件
  • 网站域名维护有赞分销
  • 中邮保险网站wordpress主题游戏cms
  • 普兰店网站建设公司潍坊专业环保设备
  • 惠济区建设局网站做7寸照片的网站
  • 论文中引用网站怎么写网站的代理页面怎么做
  • 用什么做网站方便网页认证
  • 暖色调网页设计网站创意广告设计网站
  • 百度网站链接优化网站排名方法
  • 四川通管局网站贵阳市建设城乡规划局网站
  • 长沙做网站比较好的公司网站模板论坛
  • 企业网站seo案例单页网站下载
  • 国外建站系统天元建设集团有限公司注册资金
  • 中山建网站推荐网站不续费
  • 做资源网站怎么不封百度地图推广一年多少钱
  • 徐州做网站的公司有哪些wordpress文章分页共多少页
  • 北海公司做网站创客贴网站做海报技能
  • 电子商务物流网站建设规划方案大气手机网站模板
  • 个人可以做商城网站psd素材
  • 有没有专门做纸箱的网站台州 wordpress
  • 电商网站开发的引言网站备案网址
  • 自己电脑做网站访问速度广州网页设计美工培训
  • 做网批有专门的网站吗芯片最新消息
  • 国内网站不备案公益手游app平台
  • 深圳市住建局官网平台威海seo优化公司
  • 建个网站有什么用网站建设前期分析
  • 网站建设 字体版权app设计欣赏
  • 创可贴网页设计网站微网站工程案例展示
  • 1000学习做网站贵吗wordpress手动上传图片