模板——树状数组求逆序对

题目链接:https://www.luogu.org/problemnew/show/P1908

 1 #include <map>
 2 #include <set>
 3 #include <cmath>
 4 #include <queue>
 5 #include <string>
 6 #include <cstdio>
 7 #include <cstring>
 8 #include <iostream>
 9 #include <algorithm>
10 #define forn(i, n) for (int i = 0; i < (n); i++)
11 #define forab(i, a, b) for (int i = (a); i <= (b); i++)
12 #define forba(i, b, a) for (int i = (b); i >= (a); i--)
13 #define mset(a, n) memset(a, n, sizeof(a))
14 #define fast ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
15 #define P pair<int,int>
16 #define fi first
17 #define se second
18 using namespace std;
19 #define N 500005
20 #define maxn 1005
21 #define inf 0x3f3f3f3f
22 #define ll long long
23 ll a[N], c[N * 4];
24 ll b[N];
25 int n;
26 int sum;
27 inline int lowbit(int x) { return x & (-x); }
28 void add(int x,int y)
29 {
30     for (; x <= N;x+=lowbit(x))
31         c[x] += y;
32 }
33 int ask(int x)
34 {
35     int ans = 0;
36     for (; x;x-=lowbit(x))
37         ans += c[x];
38     return ans;
39 }
40 bool cmp(int x,int y)
41 {
42     return b[x] > b[y];
43 }
44 int main()
45 {
46     scanf("%d", &n);
47     forab(i, 1, n)
48     {
49         scanf("%d", b + i);
50         a[i] = i;
51     }
52     sort(a + 1, a + 1 + n, cmp);
53    // forab(i, 1, n) cout << a[i] << " ";
54    // cout << endl;
55     forab(i, 1, n)
56     {
57         
58        // cout << "sum=" << sum << endl;
59         add(a[i], 1);
60         sum += ask(a[i] - 1);
61     }
62     cout << sum << endl;
63     system("pause");
64 }
65 /*
66 6
67 5 4 2 6 3 1
68 
69 */
View Code

转载于:https://www.cnblogs.com/zssst/p/11120988.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

818. Race Car

文章目录1 题目理解2 BFS3 dp3.1 基本情况3.2 递归方程分析3.2.1 先超过target再调头3.2.2 不超过target4 说明1 题目理解 先讲规则。一辆小汽车停在位置0&#xff0c;并且方向朝向右侧&#xff0c;并且速度为1。小汽车每次可以选择加速A&#xff0c;那加速一次&#xff0c;新…

spring mvc学习(8):springmvc常用注解代码

目录结构 web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation"http://java.sun.com/xml…

找了好久的BUG

找了好久的BUG <rsp:WEBPAGE id"PageContainer" TabSectionID"*****" runat"server"></rsp:WEBPAGE> <rsp:PLACEHOLDER id"AdminPage_Title" runat"server">公文流转流程工作点定义</rsp:PLACEHOLDER&…

python-if条件判断与while/for循环

条件判断if 让计算机像人一样&#xff0c;能判断是非对错&#xff0c;根据条件做一些事情。 if ------ if代码结构&#xff1a;------- if 条件:代码体tips&#xff1a;同一缩进范围内的代码被视作同一代码体,python官方推荐python缩进一次为4个空格is_happy True if is_happ…

第八十二期:掌握这些监控报警优化技巧,百万年薪不在话下!

运维工程师面试者第一个问题是&#xff1a;需要值班吗?笔者自己也曾经历过月入十万的时期&#xff0c;在那个时候&#xff0c;数个系统同时发布下一代版本&#xff0c;而老系统还需要过渡很长时间&#xff0c;工作量直接翻倍。 作者&#xff1a;焦振清 运维工程师面试者第一…

dp按照规模分类总结

本文章的内容来源于花花酱dp2。 做多了dp的题目之后总觉得有什么规律&#xff0c;但是自己没总结出来。花花酱按照输入规模、子问题个数、在解决一个问题的时候需要依赖的子问题个数为特征对题目做了分类。 其中绿色是比较简单的 &#xff0c;黄色是中等的&#xff0c;粉色是…

看了交大自产的电影《我的太阳》

呵呵&#xff0c;现在大学生自导自拍自演的电影越来越多了&#xff0c;不知道算是中国第几代导演&#xff1a;&#xff09; 我看电影一般比较关注情节&#xff0c;演技暂且不提。因为是校园电影&#xff0c;本片自然比较接近大学生生活&#xff0c;总体情节比较浪漫曲折(虽然部…

【BZOJ4559】【JLOI2016】—成绩比较(拉格朗日插值+dp)

传送门 dpdpdpf[i][j]f[i][j]f[i][j]表示前iii门课&#xff0c;有jjj个人没有被碾压的方案数 考虑f[i−1][j]f[i-1][j]f[i−1][j]转移到f[i][w](j≤w)f[i][w](j\le w)f[i][w](j≤w) 首先要选出w−jw-jw−j个新的没被他碾压的人 由于之前已经有一些没被碾压的人,所以方案数为(n−…

中兴通讯 基于定位的技术和市场分析

中兴通讯 基于定位的技术和市场分析 (2004-08-10 09:04:27) 8月5日&#xff0c;由中国联通和中兴通讯联合举办的“中国联通位置业务研讨会”在海口举行。中国联通总部及多个省的分公司领导&#xff0c;应用中兴通讯PN4747定位系统开展定位业务的多家集团客户代表以及华好…

第八十三期:这些高性能负载均衡架构知识点,90%的人分不清!

单服务器无论如何优化&#xff0c;无论采用多好的硬件&#xff0c;总会有一个性能天花板&#xff0c;当单服务器的性能无法满足业务需求时&#xff0c;就需要设计高性能集群来提升系统整体的处理性能。 作者&#xff1a;马天池 单服务器无论如何优化&#xff0c;无论采用多好…

15. 3Sum-数组

文章目录1题目理解2 排序双指针1题目理解 输入&#xff1a;int数组nums 规则&#xff1a;查找数组中任意三个数的和等于0 输出&#xff1a;符合条件的解&#xff0c;不包含重复的解 例子&#xff1a; nums [-1, 0, 1, 2, -1, -4], A solution set is: [ [-1, 0, 1], [-1, -1…

第八十四期: Java、Web 和移动程序员学习的 12 个框架

今天的文章中&#xff0c;我将分享一些你可以学习的框架&#xff0c;以提升你在移动和Web开发以及大数据技术方面的知识。 作者&#xff1a;芒果教你学编程 在今天的文章中&#xff0c;我将分享一些你可以学习的框架&#xff0c;以提升你在移动和Web开发以及大数据技术方面的…

关于mysql无法添加中文数据的问题以及解决方案

所有能设置的地方我都设置了&#xff0c;都设置的是ut8。然后&#xff0c;我执行了一下insert语句&#xff0c;报错了&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 这个错误纠结了一天&#xff0c;最后&#xff0c;看到…

第八十五期:一文彻底搞懂cookie和session

在Web发展史中&#xff0c;我们知道浏览器与服务器间采用的是 http协议&#xff0c;而这种协议是无状态的&#xff0c;所以这就导致了服务器无法知道是谁在浏览网页&#xff0c;所以为了解决这一问题&#xff0c;先后出现了四种技术&#xff0c;分别是隐藏表单域&#xff0c;UR…

141. Linked List Cycle

文章目录1 题目理解2 分析13 分析21 题目理解 输入&#xff1a;一个单向链表。 输出&#xff1a;如果链表中有环&#xff0c;输出true。否则输出false。 规则&#xff1a;单向链表只能向前移动。 2 分析1 可以把节点放入map中&#xff0c;不断遍历。如果碰到已经遍历的节点&…

Microsoft Updater Application Block 1.5.3 服务器端manifest文件设计 [翻译]

Microsoft Updater Application Block 服务器端manifest文件设计 译者&#xff1a;Tony Qu Manfest文件用于列出一次升级所需要的所有的文件&#xff0c;它与验证签名相关联&#xff0c;验证签名可用于验证manifest文件的真实性。这个将介绍应用程序升级器的以下几个方面&#…

第八十六期:“程序员锁死服务器导致公司倒闭”案正式开庭审理

11 月 1 日&#xff0c;据微博网友爆料&#xff0c;此前程序员锁死服务器致创业游戏公司倒闭一案已经开庭审理&#xff0c;公司创始人“螃了个蟹” 提交了对方莫名失联&#xff0c;跑路的证据。 作者&#xff1a;51CTO 11 月 1 日&#xff0c;据微博网友爆料&#xff0c;此前…

delphi 参数化sql

曾经查过资料&#xff0c;后来忘了&#xff0c;现在做一下记录。 --------- 在 sql 语句里占位使用 一个冒号和一个用来表示这个位置的符号, 例如&#xff1a;SELECT * FROM aTableName WHERE aCol :ColVal SELECT * FROM aTableName WHERE aCol :ColVal 对占位了的地方赋值…

20 Valid Parentheses

1 题目理解 输入&#xff1a;一个字符串s&#xff0c;只包含( ) { } [ ]这六种字符。 输出&#xff1a;字符串是否有效 规则&#xff1a;一个有效的字符串需要括号对应匹配&#xff0c;并且要左括号在前。 举例&#xff1a; 1 输入s"()"&#xff0c;输出true 2 Inpu…

SQL select 语法(转)

SQL 里面最常用的命令是 SELECT 语句&#xff0c;用于检索数据。语法是&#xff1a; SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]* | expression [ AS output_name ] [, ...][ INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table ][ FROM from_item [, ...] ][ WHER…