树状数组
Last0rder
最后之作
展开
-
蓝桥杯 小朋友排队
历届试题 小朋友排队 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的原创 2014-12-13 12:47:07 · 3013 阅读 · 2 评论 -
康托 Codeforces Round #285 (Div. 2) D. Misha and Permutations Summation
然后Rank和为(p1[i]+p2[i])*(n-1)! + ... + (p1[n]+p2[n])*0! = p3[1]*(n-1)! + ... + p3[n]*0! ,但是得出的表达式可能不是规整的形式,这是我们需要检测一边,从后往前扫,如果p3[i] >= (n-i+1), 说明第 i 项已经超过 (n-i+1)*(n-i), 那么就应进位到(n-i+1)!, 即p3[i-1]+=1,原创 2015-01-18 00:40:03 · 877 阅读 · 0 评论 -
hdu5032 Always Cook Mushroom
题意是这样,给定一个1000x1000的点阵,m组询问,每次询问一个由(0,0)、(x,0)点一以及从原点出发的方向向量(a,b)构成的直角三角形包围的点的权值和。 点的权值是(x+A)(y+B),其中A,B是给定的常数 做法也很显然,将查询离线下来按照方向向量排序,之后的操作就相当于用一根断点在原点的线从x轴开始往y轴扫,不断地把扫到的点的权值加入到树状数组中。每次扫到某个查询的方向原创 2015-07-19 10:14:27 · 791 阅读 · 0 评论