如果不算数组开小和没开$long long$的话,我又是一遍过的。 思路很简单,考虑在线段树合并的时候,计算逆序对的贡献。 假设合并线段树$a$和$b$,则在区间$\left[l,r\right]$的时候, $a$在前所产生的逆序对个数为$a$的右子树的大小乘以$b$的左子树的大小。 $b$在前所产 ...
分类:
其他好文 时间:
2020-06-17 12:30:33
阅读次数:
40
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 class Solution { public: int InversePairs(v ...
分类:
编程语言 时间:
2020-06-15 14:22:46
阅读次数:
54
做多网络流之后来个期望水一发 Description link 有一个 $1 \sim n$ 的排列,会进行 \(m\) 次操作,操作为交换 \(a,b\)。每次操作都有 $50%$ 的概率进行。 求进行 \(m\) 次操作以后的期望逆序对个数。 \(n,m\le 1000\) Solution 首 ...
分类:
其他好文 时间:
2020-06-13 17:48:36
阅读次数:
90
###归并排序 void merge_sort(int l,int r) { if (l == r) { return; } int mid = l + r >> 1; merge_sort(l, mid); merge_sort(mid + 1, r); int i = l, j = mid + ...
分类:
其他好文 时间:
2020-06-10 17:20:34
阅读次数:
48
题目描述 众所周知, HN-001 是神一般的存在。 HN-001 给了你一个 $n$ 阶排列 $\{a_i\}$ ,并向你提出了 $q$ 次询问。每次询问 HN-001 会给出四个参数 $l_1,r_1,l_2,r_2(1 \le l1 \le r1 < l2 \le r2 \le n)$ ,且 ...
分类:
其他好文 时间:
2020-06-06 22:02:05
阅读次数:
93
题目链接:https://ac.nowcoder.com/acm/problem/13947 题目大意:有n个队伍参加三场比赛,如果队伍x有一场比赛赢了队伍y,y也有一场比赛赢了x,就算一组,求有多少组。 思路:这里我用了树状数组求逆序对的方法,先对第一场比赛进行排序,然后求第二场和第三场的逆序对, ...
分类:
编程语言 时间:
2020-06-04 13:32:15
阅读次数:
60
1 幸存者游戏-paypal笔试题2019 有n个同学围成一圈,其id依次为1~n(n号挨着1号)。 现在从1号开始报数,第一回合报到m的人就出局,第二回合从出局的下一个人开始报数,报到$m^2$的同学出局。 以此类推,直到最后一个回合报到$m^{n?1}$的人出局,剩下最后一个同学。 输出这个同学 ...
分类:
其他好文 时间:
2020-05-29 21:38:38
阅读次数:
82
URL https://dmoj.ca/problem/cco20p2 题意 给一个长度为 \(N\) 的序列 \(D_i\),求一个排列 \(P_1,P_2,\ldots,P_N\) 满足 \(P_i \le D_i\),并最小化逆序对数 解法 显然应该倒着填,每次选最大的能填的数字? 实现 ht ...
分类:
其他好文 时间:
2020-05-28 19:50:44
阅读次数:
56
http://acm.hdu.edu.cn/showproblem.php?pid=2689 #include<bits/stdc++.h> #define low(x) (x&(-x)) using namespace std; const int maxn=1e5+5; typedef long ...
分类:
编程语言 时间:
2020-05-28 13:40:31
阅读次数:
88
https://ac.nowcoder.com/acm/problem/20861 #include<bits/stdc++.h> #define low(x) (x&(-x)) using namespace std; const int N=1e5+5; typedef long long ll ...
分类:
编程语言 时间:
2020-05-28 11:36:20
阅读次数:
78