2015年10月25日

Killer Problem(暴力)

摘要: 题意:给定一个序列,每次询问l到r之间两个数差的绝对值的最小值。分析:开始以为是线段树离线处理,实际暴力就好!#include #include #include #include #include #include #include #include #include #include #incl... 阅读全文

posted @ 2015-10-25 22:46 积跬步、至千里 阅读(185) 评论(0) 推荐(0) 编辑

Permutation

摘要: 题意:求1-k的排列中第n大的序列,题目给出n的计算方法:n = si*(k-1)+s2*(k-2)...+sk*0!已知si分析:si的含义是剩下没用的数中第(si+1)大的数,用线段树,0,1表示处理情况#include #include #include #include #include #... 阅读全文

posted @ 2015-10-25 22:44 积跬步、至千里 阅读(203) 评论(0) 推荐(0) 编辑

SKYLINE

摘要: 题意:n个建筑,给出其左右坐标和高度,有可能发生覆盖,求每个建筑在多长部分是最高的(覆盖度),求各覆盖度之和。分析:线段树,两个懒惰标记same区间是否同一高度、val区间最高高度#include #include #include #include #include #include #inclu... 阅读全文

posted @ 2015-10-25 22:38 积跬步、至千里 阅读(162) 评论(0) 推荐(0) 编辑

RMQ with Shifts

摘要: 题意:n个数两种操作,1、给出一组位置,使各位置的数循环移动,2、求给定区间的最小值。分析:单点更新,区间最值#include #include #include #include #include #include #include #include #include #include #incl... 阅读全文

posted @ 2015-10-25 22:28 积跬步、至千里 阅读(158) 评论(0) 推荐(0) 编辑

Potentiometers

摘要: 题意:线段树的单点修改,区间查询#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include... 阅读全文

posted @ 2015-10-25 22:25 积跬步、至千里 阅读(174) 评论(0) 推荐(0) 编辑

Fast Matrix Operations

摘要: 题意:二维的区间增、改,求区间最值、和值。分析:把二维化为一维,注意懒惰标记。#include #include #include #include #include #include #include #include #include #include #include #include #in... 阅读全文

posted @ 2015-10-25 22:24 积跬步、至千里 阅读(156) 评论(0) 推荐(0) 编辑

Frequent values

摘要: 题意:n个数q个询问,每次询问区间[i,j]中数出现最多的数的次数,序列是非降序的。分析:相同的数都是相邻的,把每段相同的数,标记起来,每段的标号id,左右边界left,right,数量num,当查询时,由三部分right[i]-i+1、j-left[j]+1、和编号id[i]+1,id[j]-1数... 阅读全文

posted @ 2015-10-25 22:21 积跬步、至千里 阅读(206) 评论(0) 推荐(0) 编辑

Ping pong

摘要: 题意:n个人的能力值,任意两个人找第三人能力值位于两者之间,组成一场比赛,问一共能组成几场比赛。分析:对于第i个人,BIT求出前面小于它的人数c和后面小于他的人数d,根据乘法原理,c*(n-i-d)+(i-c-1)*d;#include #include #include #include #inc... 阅读全文

posted @ 2015-10-25 22:15 积跬步、至千里 阅读(426) 评论(0) 推荐(0) 编辑

Blocks

摘要: 题意:n个带颜色的方块,每次可以选择一段颜色相同的连续方块消除得分为消去块数的平方,消除所有方块得到的最大分数。分析:区间dp,dp[i][j][k] 表示,从i到j块且j后面有k块与第j块的颜色一样。dp[l][r][k] = max(dp[l][r][k],dfs(l,i,k+1)+dfs(i+... 阅读全文

posted @ 2015-10-25 22:08 积跬步、至千里 阅读(159) 评论(0) 推荐(0) 编辑

Minimizing Maximizer

摘要: 题意:最少需要多少个区间能完全覆盖整个区间[1,n]分析:dp[i]表示覆盖[1,i]最少需要的区间数,对于区间[a,b],dp[b]=min(dp[a...b-1])+1;用线段树来维护区间最小值。#include #include #include #include #include #incl... 阅读全文

posted @ 2015-10-25 22:02 积跬步、至千里 阅读(246) 评论(0) 推荐(0) 编辑

导航