码迷,mamicode.com
首页 >  
搜索关键字:逆序对    ( 1060个结果
UVA 11990 ``Dynamic'' Inversion
题目要求可转化为查询一个区间内有多少数比val大(或者小)。区间用线段树分解(logN),每个区间维护一rank树。rank可用BIT查询,但是为了保证不同区间的BIT互不影响要先离散。首先进行分治,分治的同时归并排序完成离散并计算保存出每个元素和其他元素构成的逆序对iv[i]。初始值将所有iv求和...
分类:其他好文   时间:2015-10-08 16:21:53    阅读次数:179
【线段树】HDU1394 - Minimum Inversion Number
【题目大意】给出0..n-1组成的一段数,可以移动前几个数到结尾。求出最小的逆序对个数。【思路】先用线段树求出逆序对,方法和树状数组是一样的。然后对于当前第一个数num[0],在它之后比它小的数有num[0],则它移动到末位之后减小的逆序对是num[0],增加的是n-1-num[0]。 1 #inc...
分类:其他好文   时间:2015-10-06 11:31:05    阅读次数:179
算法导论2-9章补充几道题
本篇博文意在对前几章中遗漏的,本人觉得有意思的习题当独拿出来练练手。1、习题2-4,求逆序对,时间复杂度要求Θ(nlgn)定义:对于一个有n个不同的数组A,当iA[j],则称对偶(i, j)为A的一个逆序对。譬如:有5个逆序对。解题思路:归并排序的思想:逆序对的数量=左区间的逆序对+右区间的逆序对+...
分类:编程语言   时间:2015-10-05 20:49:15    阅读次数:457
codeforces 351B B. Jeff and Furik(概率)
题目链接:codeforces 351B题目大意:给出一个游戏,先手选择一对相邻的数交换位置,后手随机找一对数,然后掷硬币决定是否交换,如果不能交换,那么就重新找。问大致序列有序的采取最优策略的布数的期望。题目分析: 定义dp[i]表示减少i个逆序对的步数的期望。 dp[i]=1+1+dp[i?2]?0.5+dp[i?1+1]]?0.5dp[i] = 1+1 + dp[i-2] \cdot 0.5...
分类:其他好文   时间:2015-10-05 13:05:07    阅读次数:303
bzoj-2212 Tree Rotations
题意: 给出一个二叉树,叶子结点上有权值; 共有n个叶子结点,权值分别为1-n; 现可将所有结点的左右儿子交换,求最小的逆序对数; 2 题解: 这题读入有点鬼畜,但是写起来还是比较优雅的; 考虑到一个结点的子树具体形态与它是否和它的兄弟交换是无关的; 所以我们可以像分治一样,先计算子树之间的最小逆序对数; 然后将所有的权值扔到一个线段树中,向它的父亲传递; 它的父亲是没...
分类:其他好文   时间:2015-09-30 13:08:06    阅读次数:210
归并排序的利用
归并排序可以用其O(nlgn)的速度解决很多问题,另外在其归并的过程中,还可以做一些小动作。例如:求一系列点[1,3,8,4,.....]的逆序对数,或正序对数。(两两比较左小于右为正序)然后,就有了《灯塔问题》这个题目。/* 灯塔的坐标为(x,y),且各不相同,灯塔处于另外一个灯塔的东北角90度范...
分类:编程语言   时间:2015-09-28 16:18:50    阅读次数:271
【树状数组逆序对】USACO.2011JAN-Above the median
【题意】给出一串数字,问中位数大于等于X的连续子串有几个。(这里如果有偶数个数,定义为偏大的那一个而非中间取平均)【思路】下面的数据规模也小于原题,所以要改成__int64才行。没找到测试数据,自己编的几组。简单来说读入每个数,大于等于中位数设为1,小于设为-1,前i个数的和建立一个树状数组,求逆序...
分类:编程语言   时间:2015-09-23 23:13:03    阅读次数:419
【算法题目】数组中的逆序对
题目来源:《剑指offer》面试题36 题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这两个数组中的逆序对的总数。例如数组{7,5,6,4}中,一共存在5个逆序对,分别是(7,6),(7,5),(7,4),(6,4)和(5,4)。 下面...
分类:编程语言   时间:2015-09-20 13:10:29    阅读次数:181
POJ2299 求逆序对总数 归并算法解决
逆序对 比如 3 2 1 3之前的数没有比它大的(或者说前面没有数了),所以没有逆序对2之前的数有3比它大 所以有逆序对+11之前的数有 3 2 比它大 所以有逆序对+2所以 3 2 1 序列 的 总的逆序对为3对-----在归并算法中 合并两个已经排序好的序列时 是从两个序列的首个位置开始进行比较...
分类:编程语言   时间:2015-09-18 15:40:15    阅读次数:152
逆序数 HDOJ 4911 Inversion
题目传送门题意:可以交换两个相邻的数字顺序k次,问最后逆序对最少有多少分析:根据逆序数的定理如果逆序数大于0,那么必定存在1#include #include #include #include #include #include #include #include #include #includ...
分类:其他好文   时间:2015-09-12 21:46:11    阅读次数:190
1060条   上一页 1 ... 79 80 81 82 83 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!