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
hdu1394
hdu1394
(对循环数列求最小逆序数)
题意:给你一个数组,求出这个数组的所有循环移位状态的逆序数,求出最小值解题思路:对于一个数组中求逆序数是比较简单的,其实就是把每个数前面的大于它的数的数目加起来就是逆序数了。利用树状数组加速的话,就是把没输入一个数就先查询再更新,查询出的值是比当前数要小或相等的 且 在当前数前面的数的数目,假如前面有i个数,查询值为k,则当前数前面的比当前数大的数目为i-k,把这些值加起来就是逆序数了。对于每循环
qeroLai
·
2014-02-13 17:32
C语言
最小逆序数
循环数列
hdu1394
(对循环数列求最小逆序数)
题意:给你一个数组,求出这个数组的所有循环移位状态的逆序数,求出最小值解题思路:对于一个数组中求逆序数是比较简单的,其实就是把每个数前面的大于它的数的数目加起来就是逆序数了。利用树状数组加速的话,就是把没输入一个数就先查询再更新,查询出的值是比当前数要小或相等的且在当前数前面的数的数目,假如前面有i个数,查询值为k,则当前数前面的比当前数大的数目为i-k,把这些值加起来就是逆序数了。对于每循环左移
qeroLai
·
2014-02-13 17:32
c语言
循环数列
最小逆序数
ACM之路--线段树
hdu1394
Minimum Inversion Number
MinimumInversionNumberTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):8317 AcceptedSubmission(s):5109ProblemDescriptionTheinversionnumberofagivennumber
magicnumber
·
2013-11-27 14:00
HDU1394
:Minimum Inversion Number(线段树单点更新)
ProblemDescriptionTheinversionnumberofagivennumbersequencea1,a2,...,anisthenumberofpairs(ai,aj)thatsatisfyiaj.Foragivensequenceofnumbersa1,a2,...,an,ifwemovethefirstm>=0numberstotheendoftheseqence,wew
libin56842
·
2013-10-22 17:00
线段树
HDU
HDU1394
(最小逆序数)-线段树单点更新
一、题目 ProblemDescription Theinversionnumberofagivennumbersequencea1,a2,...,anisthenumberofpairs(ai,aj)thatsatisfyiaj. Foragivensequenceofnumbersa1,a2,...,an,ifwemovethefirstm>=0numberstotheendoftheseqe
u012350533
·
2013-10-07 09:00
hdu 1394 Minimum Inversion Number
点击打开
hdu1394
思路:线段树+单点更新分析:1题目要求的是n个数的n个序列中找到的最小逆序数对2首先我们都知道所谓的逆序数对就是给一个序列,如果前面的数比当前的数大,那么这两个数就是逆序数对。
cgl1079743846
·
2013-09-01 19:00
Minimum Inversion Number(
hdu1394
(线段数or暴力))
/*http://acm.hdu.edu.cn/showproblem.php?pid=1394MinimumInversionNumberTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7678 AcceptedSubmission(s):4708Proble
JHC23
·
2013-08-11 17:00
hdu1394
Minimum Inversion Number 树状数组
#include #include #defineMAX5005 intarr[MAX],n; //树状数组 intlowBit(intx)//二进制后面为0的个数 { return(x&(-x)); } voidadd(intindex) { while(index0) { sum+=arr[num]; num-=lowBit(num); } returnsum; } intmain()
lezong2011
·
2013-07-14 09:00
hdu1394
Minimum Inversion Number 归并排序
#include #include #include #defineMAXNUM5010 intarr[MAXNUM]={0}; intarr_temp[MAXNUM]; intarr1[MAXNUM]; intans; //归并排序,写的有点乱 voidmerge(intleft,intmiddle,intright) { inti,j,k; i=left;j=middle+1;k=0; wh
lezong2011
·
2013-07-14 00:00
hdu1394
求最小逆序数
线段树:单点更新#include #definelsonl,m,rtb?b:a; } voidPushUp(intrt) { sum[rt]=sum[rt>1; build(lson); build(rson); } voidupdate(intp,intl,intr,intrt) { if(l==r) { sum[rt]++; return; } intm=(l+r)>>1; if(p>1; i
wahaha1_
·
2013-03-06 18:00
HDU1394
:Minimum Inversion Number
ProblemDescriptionTheinversionnumberofagivennumbersequencea1,a2,...,anisthenumberofpairs(ai,aj)thatsatisfyiaj.Foragivensequenceofnumbersa1,a2,...,an,ifwemovethefirstm>=0numberstotheendoftheseqence,wew
libin56842
·
2013-01-22 18:00
线段树
ACM
HDU
杭电
解题报告
逆序数
hdu 1394 Minimum Inversion Number
点击打开
hdu1394
思路:树状数组分析:1题目要求的是n个数的n个序列中找到的最小逆序数对2首先我们都知道所谓的逆序数对就是给一个序列,如果前面的数比当前的数大,那么这两个数就是逆序数对。
cgl1079743846
·
2012-12-25 21:00
HDU1394
Minimum Inversion Number
原题传送:http://acm.hdu.edu.cn/showproblem.php?pid=1394求逆序数。题目上来一看,发现直接暴力可过,复杂度O(n2),300+ms,代码简短得要命:ViewCode1#include 2 3inta[5005]; 4 5inlineintmin(intx,inty) 6{ 7returnxa[j]) 22ans++; 23m=ans;
·
2012-09-24 21:00
version
hdu1394
Inversion后的最小逆序数 线段树 树状数组
题意就是给定一个数列,可以将每次的第一个数列换到最后面去。然后所有数列中的最小逆序对的和,比方说987654321那么9的逆序数为0,1的逆序数为8因为前面8个都比它大线段树是参照大牛写法做的,下面树状数组是自己写的要快很多#include #include usingnamespacestd; #defineN5005 intsum[N>1; build(l,m,rt>1; if(p
luyuncheng
·
2012-09-19 15:00
query
Build
hdu1394
Minimum Inversion Number
有点思考难度主要是用线段树求逆序对利用线段树保存区间和的性质#include #definelsonl,m,rt>1; build(lson); build(rson); Pushup(rt); } intquery(intL,intR,intl,intr,intrt) { intm,temp=0; if(L>1; if(L>1; if(q<=m)updata(q,lson); elseupdat
zy691357966
·
2012-07-15 10:00
query
Build
hdu1394
Minimum Inversion Number
MinimumInversionNumberTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3796 AcceptedSubmission(s):2309ProblemDescriptionTheinversionnumberofagivennumber
magicnumber
·
2012-07-13 15:00
HDU1394
Minimum Inversion Number 求逆序数
求逆序数,不解释#include usingnamespacestd; #defineMAX50005 #include"NiXuShu.h" intmain() { inta[MAX],b[MAX]; intn,i; while(scanf("%d",&n)==1) { memset(a,0,sizeof(a)); intsum=0; for(inti=1;i<=n;i++) { scanf(
mishifangxiangdefeng
·
2012-01-04 19:00
HDU1394
用线段树求逆序数
题意:一个由0..n-1组成的序列,每次可以把队首的元素移到队尾, 求形成的n个序列最小逆序对数目算法:将元素依次插入线段树,每次增加的逆序对数为比它大的已经插入的 数的个数,可以用线段树维护,由于元素值为0..n,每次移动可求出增减 逆序对的数量更新。#include #defineMAXN100000 #defineROOT1 structnode { intleft
mishifangxiangdefeng
·
2011-12-28 15:00
算法
struct
Build
HDU1394
用树状数组求逆序数
题意:一个由0..n-1组成的序列,每次可以把队首的元素移到队尾,求形成的n个序列最小逆序对数目算法:由树状数组求逆序对。加入元素i即把以元素i为下标的a[i]值+1,从队尾到队首入队,每次入队时逆序对数+=getsum(i-1),即下标比它大的但是值比它小的元素个数。因为树状数组不能处理下标为0的元素,每个元素进入时+1,相应的其他程序也要相应调整。求出原始的序列的逆序对个数后每次把最前面的元
mishifangxiangdefeng
·
2011-12-28 15:00
c
算法
线段树求逆序数
hdu1394
贴代码,重要的地方有详细注释。#include #include usingnamespacestd; #defineN5005 intsum[N>1; build(l,m,rt>1; if(p=L&&r>1,ans=0; if(m>=L)ans+=query(L,R,l,m,rt<<1); if(m
Non_Cease
·
2011-12-13 17:00
query
Build
HDU1394
Minimum Inversion Number [暴力] [线段树-单点更新]
题意:分析://ACCODE(暴力):#include #include usingnamespacestd; intsec[5010]; intmain() { intn,i,j,sum,Min; while(scanf("%d",&n)!=EOF) { sum=0; for(i=0;i=0;j--) { if(sec[j]>sec[i]) sum++; } } Min=sum; for(i=0
lmyclever
·
2011-10-05 20:00
query
ini
Build
上一页
1
2
下一页
按字母分类:
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
其他