本来在想其他的题,好像想偏了,不过最后总结找到了标题所对应的公式。

代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn = 10000;
#define lowbit(x) ((x)&(-x))
int n, x;
int c[maxn], a[maxn];
void update(int x, int v)
{for(int i = x; i <= n; i += lowbit(i))c[i] += v;
}
int  getsum(int x)
{int ans = 0;for(int i = x; i > 0; i -= lowbit(i))ans += c[i];return ans;
}
int main()
{int ans = 0;ios::sync_with_stdio(false);cin >> n;for(int i = 1; i <= n; i++)a[i] = i;do{memset(c, 0, sizeof(c));printf("当前排列:");for(int i = 1; i <= n; i++)cout << a[i] << " ";cout << endl;int sum = 0;for(int i = 1; i <= n; i++){update(i, 1);sum += getsum(n) - getsum(a[i]);}printf("逆序对数目:%d\n", sum);ans += sum;}while(next_permutation(a+1, a+1+n));cout << ans << endl;return 0;
}

【算法笔记】求长度为n的序列的全排列包含的总逆序对数目(树状数组求解)相关推荐

  1. 洛谷P1908求逆序对【树状数组】

    逆序对 逆序对的定义:对于给定的一段正整数序列,逆序对就是序列中 ai>aj,i<ja_i>a_j,i<jai​>aj​,i<j,让统计逆序对的个数. 本题的数据加 ...

  2. hdu 4911 求逆序对数+树状数组

    http://acm.hdu.edu.cn/showproblem.php?pid=4911 给定一个序列,有k次机会交换相邻两个位置的数,问说最后序列的逆序对数最少为多少. 实际上每交换一次能且只能 ...

  3. 树状数组求区间和模板 区间可修改 参考题目:牛客小白月赛 I 区间

    从前有个东西叫树状数组,它可以轻易实现一些简单的序列操作,比如单点修改,区间求和;区间修改,单点求值等. 但是我们经常需要更高级的操作,比如区间修改区间查询.这时候树状数组就不起作用了,只能选择写一个 ...

  4. POJ3468--A Simple Problem with Integers--线段树/树状数组 改段求段

    题目描述 You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type ...

  5. 树状数组(求子区间和+更新元素值)

    树状数组 欲完成修改值和查询区间和两种操作 求前缀和的做法时间复杂度为O(n)O(n)O(n) 使用树状数组时间复杂度降为O(logn)O(logn)O(logn) lowbit 1.x&(- ...

  6. [Split The Tree][dfs序+树状数组求区间数的种数]

    Split The Tree 时间限制: 1 Sec  内存限制: 128 MB 提交: 46  解决: 11 [提交] [状态] [讨论版] [命题人:admin] 题目描述 You are giv ...

  7. 树状数组求逆序对_算法系列之-数组中的逆序对

    题目来源 剑指offer 01 题目描述 在数组中如果前一个数字大于后一个数字,则称为这个数字组合组成一个逆序对.输入一个数组,求所有的逆序对的总数. 如 数组 {7,5,6,4} 则它的逆序对是 ( ...

  8. 快速求区间和的有趣算法——树状数组

    好久没写东西,感觉有写些什么的必要了.(高仿鲁迅) 树状数组虽然听起来名字高大上,但是不是很难(前缀和是名字高大上,却水得像海洋) 树状数组在单纯的查询一个区间的和和修改某一个数的效率要超过线段树哦! ...

  9. 求序列最长不下降子序列_树状数组解决最长不下降子序列 讲讲主要思路就好...

    展开全部 不降子序列求的是一个元素的值单调e69da5e887aa62616964757a686964616f31333361306430不降的序列. 传统的状态设计便是使用f[n] 表示到达第n位时 ...

  10. 夜深人静写算法(三)- 树状数组

    目录   一.从图形学算法说起       1.Median Filter 概述       2.r pixel-Median Filter 算法 3.一维模型       4.数据结构的设计     ...

最新文章

  1. Log4net之配置文件
  2. 数据库 sql 语句优化
  3. 阿里1582.73亿营收背后的持续交付如何玩?
  4. [云炬创业学笔记]第三章商业创意的发掘与评估测试1
  5. 华为云服务器配置ipv6,华为云获“IPv6支持度优秀奖”,持续助推云网融合
  6. wxWidgets:wxDateTime类用法
  7. 【ubuntu】ubuntu14.04上安装搜狗输入法
  8. mysql 本地连接_mysql开启远程连接及本地连接
  9. hertz接触理论_角接触轴承的组配和预紧技术及影响
  10. MYSQL的replace into
  11. python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟
  12. 浅谈红帽认证RHCE 8.0学习与考试
  13. mean shift 跟踪算法
  14. 如何获取节假日的方法
  15. 五合一建站系统YouDianCMS开源啦
  16. ETS 题库 c java_最新ETS阅读真题56篇完整版(TPO+ETS在线试题+官方模拟题+OG)
  17. 从零基础入门Linux系统
  18. 桌面天气秀 3.6 正式版
  19. bootstrap之栅格化
  20. git rebase使用简介

热门文章

  1. [公告]积分算法问题改正
  2. redis java客户端封装_redis的java客户端Jedis简单封装
  3. 使用Shader进行UGUI的优化
  4. 用python股票_十分钟学会用Python交易股票
  5. android 手机关机代码非root,Android手机获取root权限并实现关机重启功能的方法
  6. java无法启动安装程序,Windows Fix中无法启动Java更新安装程序错误
  7. 未分配利润与利润表不一致_财务报表中未分配利润和净利润不一样,这正常吗?...
  8. hdoj1043 Eight(逆向BFS+打表+康拓展开)
  9. Centos yum安装snmp
  10. 修改Wordpress插件---advanced-access-manager.1.7.3---