E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
2299
线段树求逆序数(离散化)POJ
2299
POJ
2299
题意: 给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列。
128kj
·
2012-12-06 08:00
java
数据结构
编程
算法
poj
2299
id=
2299
树状数组+离散化。我一开始用的map+树状数组暴搞。。哪知超时了。 这题如果用树状数组,还是需要离散化才行。。
w00w12l
·
2012-11-22 12:00
POJ
2299
Ultra-QuickSort
求快排的交换次数,也就是逆序数写个归并排序来算就ok了,注意逆序数会超int#include #include #include #include usingnamespacestd; longlonga[500100],b[500100]; longlongMergeSort(longlongs,longlonge) { longlongmid,cnt,t1,t2,i; if(
sssogs
·
2012-11-17 02:00
Lucene 3.6.1:中文分词、创建索引库、排序、多字段分页查询以及高亮显示
p=
2299
最后优化了排序查询语句,囧,文章乱发反而降低了自己网站的访问量。:(
Wizzer
·
2012-11-14 15:00
Lucene
中文分词
poj
2299
求逆序数 树状数组入门
/* 这一题题意很简单... 就是求将其排列好后所需的最小排列顺序..... 我们可以按照冒牌排序的思想来看.... 也就是说....统计每个数比它本身小且在它之后的数的个数.... 感觉这里不该叫做离散化,应该叫做"紧凑化"才对 把n个数据范围很大的数据一映射到a[(1~n)]=1.2.3...上 然后对于每个数,把它更新, 求和就是求前面小于自己的数的个数, 用当前总数-前面
azheng51714
·
2012-11-14 15:00
poj
2299
Ultra-QuickSort(线段树,离散化求逆序数)
id=
2299
分析与总结:一看到这题的第一反应就觉得是求逆序数==|先用归并排序求逆序数AC之,这应该是速度最快的一种求逆序数方法,391MS然后用树状数组做,因为每个元素范围0≤a[i]≤999,999,999
shuangde800
·
2012-11-13 22:00
poj
2299
Ultra-QuickSort(线段树,离散化求逆序数)
id=
2299
分析与总结: 一看到这题的第一反应就觉得是求逆序数 = =| 先用归并排序求逆序数AC之,这应该是速度最快的一种求逆序数方法,391MS 然后用树状数组做,因为每个元素范围0
king_tt
·
2012-11-13 22:00
Quicksort
POJ
2299
树状数组求逆序数
给定n个数,要求这些数构成的逆序对的个数。除了用归并排序来求逆序对个数,还可以使用树状数组来求解。树状数组求解的思路:开一个能大小为这些数的最大值的树状数组,并全部置0。从头到尾读入这些数,每读入一个数就更新树状数组,查看它前面比它小的已出现过的有多少个数sum,然后用当前位置减去该sum,就可以得到当前数导致的逆序对数了。把所有的加起来就是总的逆序对数。题目中的数都是独一无二的,这些数最大值不超
alongela
·
2012-11-03 10:00
poj
2299
Ultra-QuickSort
#include #include #include #include usingnamespacestd; intn; structnode { intval; intnum;//编号 }inPut[500050];//用于处理输入的数组 inta[500050];//离散化后的数组 intc[500050];//数状数组 intlowbit(inti) { returni&(-1*i); }
zhangwei1120112119
·
2012-10-27 23:00
POJ
2299
归并排序求逆序数
本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序。两个数(a,b)的排列,若满足a>b,则称之为一个逆序对。很明显可以知道,如果相邻的两个元素满足前一个大于后一个,则肯定要交换一次,因为最终位置是小的在前,大的在后。因此本题其实就是求原数组中的逆序对的数目。求逆序对的数目可以使用归并排序,其实逆序对的数目是归并排序的一个附属产品,只是在归并排序的过程中顺便算
alongela
·
2012-10-27 19:00
poj
2299
树状数组离散化逆序数 水
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defineiinf2000000000 #definelinf1000000000000000000LL #definedin
Lawrence_Jang
·
2012-10-09 21:00
struct
树状数组题目总结(一)
我做的第一道树状数组的题是POJ
2299
Ultra--QuickSert,这道题是求,要将一个序列非降序排列,需要做多少次交换。而实际上就是求逆序数。
AClion
·
2012-10-07 22:00
树状数组题目
先提个注意点,由于Lowbit(0)=0,这会导致x递增的那条路径发生死循环,所有当树状数组中可能出现0时,我们都全部加一,这样可以避免0带来的麻烦~~ 简单: POJ
2299
Ultra-QuickSort
luyuncheng
·
2012-09-24 20:00
apple
c
tree
mobile
Matrix
POJ
2299
- Ultra-QuickSort
——byACodeRabbitDescription输入一个序列,求序列的逆序数。TypeMergeSortAdvancedDataStructures:: SegmentTreeAdvancedDataStructures:: BinaryIndexedTreeAnalysis求逆序数,用树状数组来做。不过求逆序数的题目按惯例说应该用归并排序比较正宗。况且这道题用树状数组还需要离散化,离散化也需
Ra_WinDing
·
2012-09-15 16:00
POJ
2299
Ultra-QuickSort
id=
2299
归并排序求逆序数,nlog(n),500多ms。答案最大可以达到n*(n+1)/2,要开longlong。
·
2012-09-14 12:00
Quicksort
[树状数组] PKU
2299
Ultra-QuickSort
[树状数组]PKU
2299
Ultra-QuickSort维护名次即可(不需要离散化)。
CSniper
·
2012-09-02 17:00
POJ
2299
(逆序对数)
水题裸的求逆序对数ProgramP
2299
; const maxn=500100; Var tt,i,j,k,n:longint; a,le,re:array[1..maxn]oflongint; ans
nike0good
·
2012-09-01 17:00
POJ
2299
Ultra-QuickSort
DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswappingtwoadjacentsequenceelementsuntilthesequenceissortedinascendingorder.Fort
ultimater
·
2012-08-26 10:00
struct
Integer
input
merge
output
sorting
【树状数组】 poj
2299
Ultra-QuickSort
id=
2299
题意:给n个数字,每次只能交换相邻两个数字,问最少需要交换多少次可以将n个数字从小到大排序题解:可以通过模拟冒泡排序发现,对于每个数字,要把它交换到排序后对应的位置,交换次数就等于它的逆序数
ACM_Ted
·
2012-08-19 11:00
c
poj
2299
题意:求冒泡的交换次数。分析:求快排的逆序数。这题直接用冒泡会超时的,虽然时间有7000MS,所以选择时间效率高的归并排序。代码:#include #include usingnamespacestd; ints[500010]; intleft_t[500010]; intright_t[500010]; longlongct; voidmerge(ints[],intp,intq,intr)
hellobabygogo3
·
2012-08-16 11:00
ini
merge
n2
POJ
2299
Ultra-QuickSort
经典问题,归并排序,求逆序数。代码如下:#include#include#include#include#include#includeusingnamespacestd;longlonga[500002],b[500002],cct;voidmerge_sort(intx,inty){if(y-x>1){intm=x+(y-x)/2;intxx=x,yy=m,i=x;merge_sort(x,m
goomaple
·
2012-08-14 21:03
POJ
杂题
POJ
2299
Ultra-QuickSort
经典问题,归并排序,求逆序数。代码如下:#include #include #include #include #include #include usingnamespacestd; longlonga[500002],b[500002],cct; voidmerge_sort(intx,inty) { if(y-x>1) { intm=x+(y-x)/2; intxx=x,yy=m,i=x
GooMaple
·
2012-08-14 21:00
merge
POJ
2299
Ultra-QuickSort
Description Inthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswappingtwoadjacentsequenceelementsuntilthesequenceissortedinascendingorder.F
ultimater
·
2012-08-14 08:00
poj
2299
Ultra-QuickSort(求逆序数,树状数组)
Ultra-QuickSortTimeLimit:7000MS MemoryLimit:65536KTotalSubmissions:27736 Accepted:9946DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctinte
nealgavin
·
2012-08-11 20:00
poj
2299
Ultra-QuickSort(归并排序求逆序数)
题目分析:求逆序数,,,思路:归并排序,关键在于统计逆序数,如果arr[i]>arr[j],则,ans+=m-i+1,代码:#include #include usingnamespacestd; intn; __int64ans; intarr[1001000],arr1[1001000]; voidMerge(ints,intm,intt); voidMergeSort(ints,intt)
wconvey
·
2012-08-06 11:00
poj
2299
Ultra-QuickSort(离散化+树状数组)
按照 http://hi.baidu.com/czyuan_acm/blog/item/49f02acb487f06f452664fbc.html的思路写的代码,1.先离散化,要倒着编号2.求出每个点左边比它小的点的个数代码:#include #include #include usingnamespacestd; structnode{ intvalue,no; }arr[1000100];
wconvey
·
2012-08-05 12:00
poj
2299
--逆序对
poj
2299
--逆序对题目大意是求解快排最坏情况下的交换次数,我们知道,快速排序在最坏情况下会退化为冒泡排序,因此快排最坏情况下的交换次数也就是冒泡排序对应的交换次数。
HooLee
·
2012-07-18 17:00
美国服务器
双至强八核心l54202.5Ghz8GB500GB100M独享不限流量5个IP特价
2299
元/月(数量有限售完为止)双
5zidc
·
2012-06-28 10:01
英文版
中文简体
机房
美国服务器
圣安娜
LG与谷歌互相借“力”
据悉,其即将推出的两款电视命名为“G2Series”,大小分别为47英寸和55英寸,售价1699美元和
2299
美元。LG与谷歌互相借“力”此次LG推谷歌电视,可以说是LG与谷歌互相借“力”,共同进步。
·
2012-05-07 12:00
谷歌
移动互联网
电视
lg
POJ
2299
Ultra-QuickSort(归并排序)
手好生啊,归并排序,敲了这么久……题目意思是用冒泡排序的交换方式(只能交换相邻的俩个元素)最少几次可以把给出的序列做成升序,N有50W归并同时,统计需要往后移动的元素移动的距离之和,即为答案Code:#include #include constintN=500001; inta[N],tt[N]; __int64count; voidmerge_pass(intleft,i
l04205613
·
2012-05-05 21:00
POJ
2299
树状数组+离散化
上课前看了下题,上课时构了下思,下课敲了10min...交了就A了...好吧..这题弱爆了!题目大意:求一个数列中的逆序数....这题可以用坐标离散化。然后...从大的数向树状数组更新..查的时候求和,把这个数前面的大的数求出来就OK了。水爆了...1Y#include #include #include usingnamespacestd; structnode{ intval,pos; }a
sevenster
·
2012-04-16 16:00
c
poj
2299
Ultra-QuickSort(逆序对)
【题目大意】:给你n个数,求其逆序对【解题思路】:归并排序或者树状数组【代码】://树状数组 #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; #defineeps1e-8 #definepiacos(-1.0
new_wu
·
2012-03-22 02:00
c
递归和分治:poj
2299
/*总体思想使用分治法,进行归并排序,求出每次合并的逆序总数累加。说明一下:按照算导中方法写的程序有可能会超时,因为每次merge都重新分配两个数组,且需单独循环计算逆序,操作较多。另外,最后结果sum使用longlong,在最坏情况下是n^2级的,n#include#includeconstintN=500005;longlongsum;intvec[N],back[N];voidmerge(i
kimili1987
·
2012-02-23 15:00
POJ
2299
Ultra-QuickSort
Ultra-QuickSortTimeLimit:7000MSMemoryLimit:65536KTotalSubmissions:24310Accepted:8696DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintege
cmonkey_cfj
·
2012-02-03 22:00
VC下Base64编码及解码程序源代码
defined(AFX_BASE64_H__8D85F486_CD10_4A0A_A689_
2299
C9DE52CB__INCLUDED_)#defineAFX_BASE
zhongguoren666
·
2012-02-02 16:00
c
File
Class
interface
POJ_
2299
_归并排序_统计逆序数
id=
2299
分析:统计给定序列中的逆序数,蛮力法复杂度达O(n^2)会超时,由于归并排序复杂度为O(nlogn)并且,在排序过程中可以顺便统计逆序数,所以用归并排序可以求出。
Coco_young
·
2012-01-13 15:00
数据结构
mergesort
POJ-
2299
Ultra-QuickSort
id=
2299
题目大意:给你N个数组成的序列,求这个序列的逆序数一共有多少个。这个序列个数不超过100000.解题思路:很经典的一个问题,解决方法有两种:第一种方法是归并排序,第二种方法是树状数组。
niushuai666
·
2011-12-14 16:00
算法
merge
归并排序(合并排序)
##Poj
2299
这道题充分印证了,即使merge本身可能用的不多,但分冶的思想却是无所不在 **/ #include intleft[250003],right[250003]
morgan_xww
·
2011-11-26 12:00
merge
n2
POJ
2299
离散化+树状数组求逆序数
貌似用的stable_sort是多余的#include #include #include usingnamespacestd; #definetypevint//typeofres typevar[500005];//index:1~N intlowb(intt){returnt&(-t);} voidadd(inti,typevv){ for(;i0;s+=ar[i],i-=lowb(i
dingyaguang117
·
2011-11-02 21:00
poj
2299
题意:给出一个长度为n的数列,你每一次可以随意交换其中两个数字的位置。问你至少交换几次,才能使得这个数列是个单调递增数列。 思路:逆序数。归并排序求逆序数: 归并排序主要是二路归并排序,采用分治的思想:对于某个数组a[n]排序,先将前半部分排序,再将后半部分排序,最后归并两部分。归并排序是一种稳定的排序方式,且时间复杂度为O(n*log2n)。归并排序还可以求一串数中的逆序数
cavenkaka
·
2011-10-25 23:00
poj
树状数组总结
2)poj
2299
Ultra-QuickSort难度:1题意:给你n个不同的数,求逆序对个数。分析:有两种方法:归并排序;树状数组。这里提一下树状数组的方法。倒着处理,每次统计比当前
fjsd155
·
2011-10-18 11:00
数据结构
apple
c
tree
mobile
Matrix
今天运气真不赖
此外,索尼爱立信LT15i以及HTCDesireHD等机型同样不甘示弱,最终以2350元以及
2299
元低价收盘。
跟帖局老衲 軒轅無雙
·
2011-09-18 15:00
运气
poj
2299
Ultra-QuickSort(求逆序数:离散化+树状数组)
Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 22147 Accepted: 7897 Description In this problem, you have to analyze a particular sorting
gzhu_101majia
·
2011-08-08 16:00
数据结构
C++
c
算法
ACM
poj
2299
树状数组求逆序数
TimeLimit: 7000MS MemoryLimit: 65536KTotalSubmissions: 15773 Accepted: 5563DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswapp
q573290534
·
2011-08-06 11:00
POJ
2299
Ultra-QuickSort
POJ
2299
Ultra-QuickSort求逆序对个数。我是用离散化+树状数组做的。
心如止水
·
2011-08-05 23:00
POJ
2299
-Ultra-QuickSort
转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1304259927题目大意:给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列。 解题思路:一看就是冒泡,交换一次记录一次就可以了但是n的范围达到50W,冒泡O(n^2)的复杂度铁定超时(即使有7000ms,其实这是一个陷阱)直接用快排又不符合题目的要求(
lyy289065406
·
2011-07-30 21:00
c
delete
input
编译器
output
POJ1804-Brainman
转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1304317886 大致题意:和POJ
2299
一摸一样,区别在于数据规模缩小了而已 解题思路:
lyy289065406
·
2011-07-30 21:00
算法
delete
iostream
poj
2299
归并排序求逆序对
注意必须使用longlong 或__int64#include #include usingnamespacestd; longlongans; voidMerge(inta[],inttmpArray[],intl_sta,intr_sta,intr_end) { intl_end=r_sta-1; intid=l_sta; inti,size=r_end-l_sta+1; while(l_
Non_Cease
·
2011-07-23 20:00
merge
POJ
2299
Ultra-QuickSort 归并排序
题意:每次交换两个数,求排序所做的交换次数题解:用归并排序求逆序数#include inta[500000],b[500000]; longlongcnt,n; voidmergesort(intl,intr) { if(l>=r)return; intmid=(l+r)/2; mergesort(l,mid); mergesort(mid+1,r); inti=
Tsaid
·
2011-07-23 11:00
poj
2299
归并排序--逆序对
Ultra-QuickSortTimeLimit: 7000MSMemoryLimit: 65536KTotalSubmissions: 21264Accepted: 7578DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctin
xymscau
·
2011-07-12 21:00
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他