题意就是求 逆序数。
依然线段树水过。
→_→ 模版题。这下严格注意各种坑。1A。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define ...
分类:
其他好文 时间:
2015-02-17 18:48:16
阅读次数:
167
转自九野:http://blog.csdn.net/qq574857122/article/details/43643135题目链接:点击打开链接题意:给定n ,k下面n个数表示有一个n的排列,每次操作等概率翻转一个区间,操作k次。问:k次操作后逆序数对个数的期望。思路:dp[i][j]表示 a[i...
分类:
其他好文 时间:
2015-02-17 12:53:49
阅读次数:
201
题意:给定n,k。k次操作,每次等概率将一个区间翻转,问最后逆序数对的期望。
思路:设dp[i][j]表示a[i]在a[j]前面的概率。每次枚举翻转的区间,更新dp[i][j],复杂度为O(n^4×k)。详见代码:
/*********************************************************
file name: G.cpp
author : k...
分类:
其他好文 时间:
2015-02-09 23:10:25
阅读次数:
242
题目链接:点击打开链接
题意:
给定n ,k
下面n个数表示有一个n的排列,
每次操作等概率翻转一个区间,操作k次。
问:
k次操作后逆序数对个数的期望。
思路:
dp[i][j]表示 a[i] 在a[j] j前面的概率
初始就是 dp[i][j] = 1( i
则对于翻转区间 [i, j], 出现的概率 P = 1 / ( n * (n+1) /2)
并且会导致 [i,...
分类:
其他好文 时间:
2015-02-08 21:59:57
阅读次数:
275
The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i aj.
For a given sequence of numbers a1, a2, ..., an, if we move the first m >= 0 numbers to the end of the seqence, we will obtain ...
分类:
其他好文 时间:
2015-02-06 15:03:24
阅读次数:
126
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. For the input sequence
9 1 0 5 4 ,
...
分类:
编程语言 时间:
2015-02-06 09:38:14
阅读次数:
168
数组的逆序,只能用于数组,不能用于哈希表
function reverseTable(tab)
local tmp = {}
for i = 1, #tab do
local key = #tab
tmp[i] = table.remove(tab)
end
return tmp
end
// 示例
local t = {"one", "two", "three"}
...
分类:
编程语言 时间:
2015-02-04 21:50:25
阅读次数:
6498
http://acm.neu.edu.cn/hustoj/problem.php?cid=1047&pid=4题意:数字1到n 任意排列 求排列成有序序列最少交换次数思路:求最小交换次数有两种 1 交换的两数必须相邻 (poj 2299) 通过归并排序求出其逆序数即为所求值 ...
分类:
其他好文 时间:
2015-02-01 16:01:00
阅读次数:
502
(转)树状数组可以用来求逆序数, 当然一般用归并求。如果数据不是很大, 可以一个个插入到树状数组中, 每插入一个数, 统计比他小的数的个数,对应的逆序为 i- getsum( data[i] ),其中 i 为当前已经插入的数的个数, getsum( data[i] )为比 data[i] 小的数的个数i- sum( data[i] ) 即比 data[i] 大的个数, 即逆序的个数但如果数据比较大...
分类:
编程语言 时间:
2015-01-29 22:35:54
阅读次数:
285
题意 :交换相邻的两个数来排序 最少交换几次思路:题意可以转化成求 数列中存在几个逆序数可以看作冒泡排序 但是复杂度过高 用归并排序来完成(注意 n#include#include#includeusing namespace std;int a[5000000+100];int t[5000000...
分类:
编程语言 时间:
2015-01-29 22:19:57
阅读次数:
173