[树状数组][哈希]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(反正也能过)
然后用树状数组经典求法即可
#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 树.其初 ...
最新文章
- [Android工具]安卓音乐下载软件,无损音乐FLAC音乐下载器
- 插入排序(含希尔排序)的C/C++实现
- 代码面试最常用的10大算法
- 浮动导航栏php源码,JQuery 浮动导航栏实现代码
- redis windows安装
- 数据结构知识点大汇总(六)
- Lettuce替换Jedis操作Redis缓存
- NetBeans Weekly News: #125-Nov 17,2010
- Linux:shell变量功能和Bash shell的操作环境
- E66 PC套件因多个USB的连接导致连接不上问题解决办法
- WPS简历模板的图标怎么修改_个人简历模板集锦,简历自我评价怎么写?
- UGNX1953~1980版本怎么测量重量
- es7新特性随堂笔记
- 电驴虚拟服务器常用端口选择,为何我的电驴端口映射成功还是Lowid?
- 混淆矩阵 灵敏度 特异度 阳性预测值 阴性预测值 阳性似然比 阴性似然比
- DES和RSA加密解密实例
- 【Linux】什么是链接文件及其分类
- Pytorch 查看模型参数
- VMware XP虚拟机使用主机socks5代理全局代理连接
- TDK优化 模块化思想 阿里巴巴矢量库 css文件引入顺序 外边距塌陷