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

资溪做面包招聘的网站企业简介ppt范文大全

资溪做面包招聘的网站,企业简介ppt范文大全,免费提交网址的网站,wordpress手机版弹出式导航Problem - D - Codeforces 在冬天,莫斯科动物园的居民非常无聊,尤其是大猩猩。你决定娱乐他们,带了一个长度为n的排列p到动物园。长度为n的排列是由n个从1到n的不同整数以任意顺序组成的数组。例如,[2,3,1,5,4]是一个排列&#xf…

Problem - D - Codeforces

在冬天,莫斯科动物园的居民非常无聊,尤其是大猩猩。你决定娱乐他们,带了一个长度为n的排列p到动物园。长度为n的排列是由n个从1到n的不同整数以任意顺序组成的数组。例如,[2,3,1,5,4]是一个排列,但[1,2,2]不是一个排列(2在数组中出现两次),[1,3,4也不是一个排列(n3,但4在数组中出现)。大猩猩有自己的长度为n的排列q。他们建议你计算整数l,r (1 r n)对的数量,使得MEX([p1, Pl+1,,p,]) = MEX([a,9+1,,a])。数列的MEX是数列中缺少的最小正整数。例如,MEX([1,3]) = 2,MEX([5]) = 1, MEX([3,1,2,6]) = 4。你不想拿自己的健康冒险,所以你也不敢拒绝大猩猩。输入第一行包含一个整数n (1 <n<2.105)-排列长度。第二行包含n个整数p1 P2。,Pn (1 <pi Sn)-排列p的元素。第三行包含n个整数q1,92,,an (1 <gi Sn)-排列q的元素。输出打印一个整数-合适的对l和r的数量。 

Examples

input

Copy

 

3

1 3 2

2 1 3

output

Copy

2

input

Copy

 

7

7 3 6 2 1 5 4

6 7 2 5 3 1 4

output

Copy

16

input

Copy

 

6

1 2 3 4 5 6

6 5 4 3 2 1

output

Copy

11

题解:

我们假设L,R分别是此时排列p,q1的位置,

那么MEX(1)l,r成立的情况有三种

1.均在L左侧

2.均在R右侧

3.在L,R之间

假设x,y是此时p,q排列的位置

接着考虑MEX = 2的情况。MEX = 2时,说明区间里一定包含1,但不含2,那么2的位置就不能出现在【L,R】之间。设x为序列p中2的位置,y为序列q中2的位置,x<=y, x,y要么同时出现在【1,L-1】一侧,要么同时出现在【R+1,n】一侧,要么一边在【1,L-1】一边在【R+1,n】。

成立的情况只有三种

1.都在L的左边 (L-y)*(n-R+1)

2.都在R的右边 L*(x-R)

3.x在L左边,y在R右边 (L-x)*(y-R)

随着MEX()增大,L,R区间会逐渐增大,或不变,所以要不断更新,

#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<vector>
#include<map>
#include<queue>
using namespace std;
#define int long long
const int N = 6e5 + 10;
int p[N],q[N];
int posp[N];
int posq[N];
int mod = 998244353;
int C(int n)
{return (n+1)*n/2;//区间l == r的情况也要算所以是n*(n-1)/2 + n
}
void solve()
{int n;cin >> n;int ans = 0; for(int i = 1;i <= n;i++){cin >> p[i];posp[p[i]] = i;}for(int i = 1;i <= n;i++){cin >> q[i];posq[q[i]] = i;}int L = posp[1];int R = posq[1];if(L > R)swap(L,R);ans += C(L-1);ans += C(max(0ll,R-L-1));ans += C(n - R);for(int i = 2;i <= n;i++){int x = posp[i];int y = posq[i];if(x > y)swap(x,y);if(y < L){ans += (L - y)*(n - R+1);}else if(x > R){ans += L*(x - R);}else if(x < L&&y > R){ans += (L - x)*(y - R);}L = min(L,x);R = max(R,y);}cout << ans + 1;//+1是整个排列都算一种
}
signed main()
{int t = 1;
//	cin >> t;while(t--){solve();} 
}

http://www.yayakq.cn/news/113033/

相关文章:

  • 苏州网站建设系统方案查企业哪个app最好
  • wordpress左右滑动老网站做seo能不能重新注册
  • 软件培训手册seo排名工具快速提高
  • 外贸商城网站 定制客户管理系统admin
  • 邢台做移动网站的公司徐州市建设工程质监站网站
  • 织梦模板大气网站建设类网站模板下载wordpress页头视频
  • 婚纱网站html模板网站建设维护的知识
  • 中国建设劳动协会网站门头广告设计软件
  • 常州网站seo企业门户网站的建设与实现论文
  • 做包子网站wordpress 在线投稿
  • 网站备案号规则建设网站要做的工作
  • 做网站费用上海网站建设与推广协议书
  • 网站建设中 敬请期待...电子商务网站建设的认识
  • 衡水建立网站建设视频网站链接百度云盘
  • 网站做熊掌号码wap浏览器是什么意思
  • 建行网站会员注册用户名国内最新十大新闻
  • 灌阳县建设局门户网站网站怎么做反爬虫
  • 公司网站建设服务机构台州网站排名优化价格
  • 企业网站建设内容东莞公司官网建站
  • 郑州那家做网站便宜成功的品牌推广案例分析
  • 网站建设代理成本推广产品的方法和步骤
  • 南宁市优化网站公司网站后台如何更新
  • 乐清网站建设网站建设wordpress图片上传地址
  • 浙江建设干部学校网站首页网站建设丨金手指谷哥12
  • 设计好的商城网站建设网络公司鼓楼网站开发
  • 黑龙江省建设厅网站站长网站基础功能
  • 看优秀摄影做品的网站节约化网站群建设情况
  • 网站认领企业网站的网址通常包含
  • 遂宁北京网站建设做网站价格 网络推广托管服务
  • 做慧聪网价格网站价格网站开发 前台代码