[树状数组][哈希]JZOJ 3240 Seat
Description
正当筹备工作进行得火热朝天,你和你的伙伴发现一个严重问题:由于缺乏沟通,你俩各自制作了一张座位图发给各位宾客。你必须计算出有多少对宾客,他们在两份座位图中次序安排是不同的。
例如,对以下两份座位图:
A B C D E
B A D E C
有三对宾客(A,B),(C,D)和(C,E),他们在两份座位图中的次序不同。
Input
Output
Sample Input
输入1: 3 Frank Sam Billy Sam Frank Billy 输入2: 5 A B C D E B A D E C
Sample Output
输出1: 1 输出2: 3
Data Constraint
分析
题意简单:给定一个标准,让你求另一个序列的逆序对数
序列都是字符串形式,字符串哈希即可,这里我选择map(反正也能过)
然后用树状数组经典求法即可
![](/assets/blank.gif)
![](/assets/blank.gif)
#include <iostream> #include <cstdio> #include <map> #include <cstring> #include <string> #define lowbit(x) x&-x using namespace std; typedef long long ll; const int N=1e5+10; ll t[N],ans; int a[N]; map<string,int> h; string c; int n,cnt;void Add(int x) {for (;x<N;x+=lowbit(x)) t[x]++; }ll Sum(int x) {ll ans=0;for (;x;x-=lowbit(x)) ans+=t[x];return ans; }int main() {scanf("%d",&n);for (int i=1;i<=n;i++) { cin>>c;h[c]=++cnt;}for (int i=1;i<=n;i++) {cin>>c;a[i]=h[c];}for (int i=n;i;i--)ans+=Sum(a[i]),Add(a[i]);printf("%lld",ans);return 0; }
View Code
转载于:https://www.cnblogs.com/mastervan/p/11117918.html
[树状数组][哈希]JZOJ 3240 Seat相关推荐
- 【牛客 - 331E】炫酷划线(权值线段树,树状数组哈希,随机数)
题干: 链接:https://ac.nowcoder.com/acm/contest/331/E 来源:牛客网 平面上有一个圆,圆环上按顺时针顺序分布着从1到n,一共n个点. 现在无聊的小希开始按某种 ...
- The Untended Antiquity (二维树状数组 哈希)
题意: 3种操作 1 在左上角 (r1,c1).右下角 (r2,c2) 的矩形框上设置围墙 2 把左上角 (r1,c1).右下角 (r2,c2) 的矩形框上的围墙删掉 3 询问 (r1,c1) 能否不 ...
- HDU - 5658 CA Loves Palindromic(回文自动机/哈希+树状数组)
题目链接:点击查看 题目大意:给出一个字符串 s ,接下来给出 m 个查询,每次查询的形式会给出一个 l 和 r ,问区间 [ l , r ] 内有多少个本质不同的回文子串 题目分析:因为查询的次数比 ...
- 【CF869E】The Untended Antiquity(哈希+二维树状数组)
当覆盖两点的最小矩形不同时,一定不可达 这样的问题不难想到经典的二维树状数组+差分来支持二维区间覆盖+查询 对于覆盖操作 我们可以差分的给这个矩阵里加上一个编号 对于操墙操作 我们可以反着减去这个编号 ...
- JZOJ 3.10 1542——跑步(树状数组+模拟+排序/归并排序)
题目描述 FJ觉得赛马很无聊,于是决定调查将赛牛作为一种运动的可能性.他安排了N(1 <= N <= 100,000)头奶牛来进行一个L圈的赛牛比赛,比赛在一个环形的长度为C的跑道上进行. ...
- [虚树][树状数组][lca] Jzoj P5908 开荒
Description 题目背景: 尊者神高达作为一个萌新,在升级路上死亡无数次后被一只大黄叽带回了师门.他加入师门后发现有无穷无尽的师兄弟姐妹,这几天新副本开了,尊者神高达的师门作为一个 pve师门 ...
- [cdq分治][树状数组] Jzoj P4419 hole
Description GFS打算去郊外建所别墅,享受生活,于是他耗费巨资买下了一块风水宝地,但令他震惊的是,一群DSJ对GFS的富贵生活深恶痛绝,决定打洞以搞破坏. 现在我们简化一下这个问题,在这片 ...
- 树状数组 | 1057
用哈希,把push的数x作为下标给hashTable(实则不存在,直接用tree树状数组记录数据)+1,pop则是以最后一个数x作为下标-1 . 树状数组和其原理不再赘述,需要注意的是最后的二分搜索( ...
- js 数组 实现 完全树_算法和数据结构 | 树状数组(Binary Indexed Tree)
本文来源于力扣圈子,作者:胡小旭.点击查看原文 力扣leetcode-cn.com 树状数组或二叉索引树(英语:Binary Indexed Tree),又以其发明者命名为 Fenwick 树.其初 ...
最新文章
- 百度不再效仿谷歌,否认分拆阿波罗
- 全面、经典视频教程(php、java、jsp、ajax、linux...)
- linux socket 阻塞与非阻塞,同步与异步
- linux socket中 send recv函数的 flags参数
- OpenCV DIS光流OpticalFlow的实例(附完整代码
- CF思维联系–CodeForces - 223 C Partial Sums(组合数学的先线性递推)
- matlab在电磁场与电磁波中的应用,matlab在电磁场与电磁波学习中的应用.docx
- showdoc如何创建文件夹_showDoc生成文档
- java 调度etl_Easy Scheduler是一个工作流调度系统,主要解决数据研发ETL错综复杂的依赖关系...
- java 调用枚举种方法_Java中枚举类型的一种使用方式
- 基于STM32的双向DC-DC变换器(论文+原理图+PCB+源码)
- 使用GDI绘制一个类似进度条的控件(1)
- ET框架——demo与自定义登录
- f检验matlab计算,F检验(F-Test)计算公式与在线计算器_三贝计算网_23bei.com
- 非常不错的停用词词表
- python+opencv直方图均衡化
- Win7输入法图标不见了怎么办
- 本地搭建start.spring.io
- ESP8266学习——Flash
- 怎样解决Keil复制文注释到记事本出现乱码
热门文章
- DataCapa 启动
- jQuery原理第四天
- 轻松弄懂var、let、const之间的区别
- ie6中容器内浮动元素的border边框不完全显示的bug
- Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks -译文
- 修改oracle 的dbname,在oracle 10g上修改dbname的实验
- mysql 查询包含1或者2_Mysql:同一个表上有2个不同的查询,包含count和group by
- 1011 牛牛学说话之-浮点数
- 4024-砾石的交换排序(C++,附思路)
- PTA16、列表元素个数的加权和(1) (10 分)