ACM•zoj&uva&so on
文章平均质量分 86
kksleric
这个作者很懒,什么都没留下…
展开
-
uva3143Fast Matrix Operations(线段树)
刘汝佳数据结构专场F题,点击打开题目链接。 在一个矩阵内完成以下操作: 1.将某子矩阵的值全部加v 2.将某子矩阵的值全部变为v 3.输出某子矩阵的最大值最小值及总和。 由于矩阵至多只有20行,因此可以维护20棵线段树。维护变化统计量时要考虑多种次序,例如未更新的节点先加后边和先边后加,变化的优先级应高于加。 import java.io.BufferedReader; impor原创 2012-03-30 16:05:26 · 448 阅读 · 0 评论 -
CF(173E) Camping Groups
题目链接 题意:一个俱乐部有 n名成员,每名成员有两个属性:声望r和年纪a(均为109)。若干个个可以组成一个小组,每个小组中有一名组长,要求这名组长的声望高于其他成员且这名组长与组内任意成员的年龄差小于k,先给出10000条查询,问如果a、b两人在一个小组中,那么这个小组最多可以有多少人。 解法:1.由于n和a相差很大,因此首先要对声望和年纪进行离散化 2.每个小组原创 2012-08-20 12:22:43 · 875 阅读 · 0 评论 -
spoj 861 SWAPS & uva 11990 "Dynamic'' Inversion(动态维护逆序对)
题意:有150000个数,10000条操作,每次将第i个数变为x,讯问每次操作后逆序对的数目。 解法1:树状数组+treap,树状数组的每个元素都是一棵树,这样可以在lognlogn时间内查询前i项有多少个小于等于k的元素,当某个元素法师改变时,只需从树状数组中对应的treap中进行元素的删减,每次修改前后统计的第i个元素形成的逆序对数,便可知每次操作后逆序对的数目。由于Treap常熟很原创 2012-08-31 16:35:16 · 2167 阅读 · 0 评论