2013年8月29日

UVA 11235 频繁出现的数值 RMQ

摘要: 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2176RMQ,就是范围最小值的缩写,这个算法是Tarjan 的 Sparse-Table 算法,复杂度为O(n*log(n)).就是用数组d[i][j]表示范围[i,i+2^j-1]中的最小值。然后有递推式d[i][j] = min(d[i][j-1],d[i+2^(j-1)][j-1]).有边界条件d[i][0] = A[i].然后就能求出所有的d[i][j].查询时只 阅读全文

posted @ 2013-08-29 18:40 allh123 阅读(242) 评论(0) 推荐(0) 编辑

LA 4329 ping-pong树状数组

摘要: 题目链接:刘汝佳,大白书,P197.枚举裁判的位置,当裁判为i时,可以有多少种选法,如果已经知道在位置i之前有ci个数比ai小,那么在位置i之前就有i-1-ci个数比ai大。在位置i之后有di个数比ai小,那么在位置i之后就有n-i-di个数比ai大。这样,选法数有ci*(n-i-di)+di*(i-1-ci).注意到ai的值各不相同且ai的值最大不超过10^5,那样就可以用v[a[i]]表示a[i]是否已经存在,这样当顺时针扫描的时候,每次更新v[a[i]] = 1;//表示已经存在。比ai小的数的个数就是sum(v[j]) j 2 #include 3 #include 4 using n 阅读全文

posted @ 2013-08-29 16:34 allh123 阅读(344) 评论(0) 推荐(0) 编辑

导航