本题是核心是求逆序对,但是题目的序列是字符串,因此可以用map+归并排序求解。

将字符串用map维护然后再通过读入第二组字符串将pos[i]更新为原本字符串对应的下标,再通过归并排序求解逆序对。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;const int N = 1e5+10;
ll sum = 0;
int pos[N],tmp[N];
void ms(int l,int r)
{if(l >= r) return ;int mid = (l + r) >> 1;ms(l,mid);ms(mid + 1,r);int k= 0, i = l,j = mid + 1;while(i <= mid && j <= r){if(pos[i] <= pos[j])tmp[k ++] = pos [i ++];else{ sum += (mid - i + 1);tmp[k ++] = pos [j ++];}}while(i <= mid) tmp[k ++] = pos [i ++];while(j <= r) tmp[k ++] = pos [j ++];for(int i = l,j = 0; i <= r; i ++,j ++) pos[i] = tmp[j];
}
void run()
{unordered_map<string,int> mp;int n;cin >> n;for(int i = 0; i < n; i ++){string a;cin >> a;mp[a] = i;}for(int i = 0; i < n; i++){string a;cin >> a;pos[i] = mp[a];}ms(0,n - 1);cout << sum << endl;}
int main()
{ios_base::sync_with_stdio(0);cin.tie(0);run();return 0;
}

luogu P5149 会议座位相关推荐

  1. [LUOGU]P5149 会议座位

    传送门 老早以前做的题,出了点小锅一直没修,今天突然来了兴致 于是 修了下...... 大概就是按原顺序编号,然后把编号丢到第二个序列中,求遍逆序对(这里用树状数组求). 而关于存人名的问题----& ...

  2. [Luogu] 逆序数P5149 会议座位

    P5149 会议座位 目录 前言 归并排序求逆序数 tire+树状数组求 逆序数 前言 这题的标签 有trie感觉奇奇怪怪的 没想到trie树还可以搞这个 牛逼66 归并排序求逆序数 #include ...

  3. 洛谷P5149 会议座位

    P5149 会议座位 字符串哈希 + 归并排序 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10 ...

  4. 洛谷 P5149 会议座位

    洛谷 P5149 会议座位 Description 现在校长在校园网上公布了一份座位表,n位老师从左到右依次排成一行.老师们都对这个座位很满意. 然而到了开会时,校长不小心把座位表打乱了,老师们很不满 ...

  5. P5149 会议座位

    P5149 会议座位 题意: 其实还是求逆序对数. 解法: 用离散化统计每个数,再用树状数组求逆序对. CODE: #include<iostream> #include<cstdi ...

  6. 洛谷P5149——会议座位【字典树 + 逆序对】

    洛谷P5149--会议座位 大致思路:我们先用字典树把单词存起来,在每个单词的末尾节点给这个单词按照出现顺序标号,然后在查找的过程中,把其出现顺序用一个数组一次存起来,然后求这个数组的逆序对即可. # ...

  7. P5149 会议座位(逆序对)

    P5149 会议座位(逆序对) 看到本题有字典树就来了,结果直接map下,也可做. 思路1:map,然后上BIT. 思路2:字典树实现类map,然后上BIT. code #include<bit ...

  8. P5149 会议座位(逆序对 离散化 hash 归并排序)

    题目链接:会议座位 - 洛谷 题目背景 话说校长最近很喜欢召开全校教职工大会,让老师们强行听他装逼 题目描述 现在校长在校园网上公布了一份座位表,n 位老师从左到右依次排成一行.老师们都对这个座位很满 ...

  9. 【洛谷】P5149 会议座位

    题目地址: https://www.luogu.com.cn/problem/P5149 题目背景: 话说校长最近很喜欢召开全校教职工大会,让老师们强行听他装逼 题目描述: 现在校长在校园网上公布了一 ...

最新文章

  1. RAID 与 LVM 磁盘阵列技术
  2. Yii获取当前url和域名
  3. 警告: Could not load driverClass com.mysql.cj.jdbc.Driver
  4. 百度飞浆行人多目标跟踪笔记
  5. 柳青:2017,滴滴实现规模增长和修炼内功的一年
  6. python怎么画波浪_python 实现波浪滤镜特效
  7. OkHttp3的连接池及连接建立过程分析
  8. 发布在即!.NET Core 1.0 RC2已准备就绪
  9. P2672-推销员【贪心】
  10. Qt eventFilter实现信号与槽
  11. 如何设置基于Windows 2000/2003/20008平台下的智能域名服务器
  12. JLOI2015 城池攻占
  13. 拓端tecdat|SAS用K-Means 聚类最优k值的选取和分析
  14. 自制电吉他效果器 DIY PCB(三)原理图与封装 上
  15. 贴片电阻、贴片电容的封装与其额定功率的关系
  16. 秦岭三面佛已经拆除,觉得惋惜
  17. OneZero第四周第二次站立会议(2016.4.12)
  18. 关于六边形地图的生成算法
  19. java获取text plain_获取text/plain格式http请求中的数据
  20. vue父子组件传值:详解父组件向子组件传值(props)

热门文章

  1. 15.系统安全分析与设计
  2. 无蓝光的护眼灯有哪些品牌?盘点无蓝光护眼灯排行榜
  3. nexus 向私服推送jar包 两种方式实现
  4. Linux 常用基本命令 ps top kill
  5. Vue从入门到放弃(一)——指令篇
  6. 今日头条python_GitHub - a57571735/headlines_today: 基于Python的爬取今日头条文章及视频...
  7. Java里的char类型能不能存储一个中文字符?
  8. ssh Key exchange was not finished sshd
  9. Finished with error: ProcessException: ProcessXXXXXXXexited abnormally 的解决方法
  10. Mac电脑C语言开发的入门帖