关闭
当前搜索:

bzoj3238 [Ahoi2013]差异 后缀自动机

这个题虽然看起来比较麻烦,但其实有一点搞懂了就好做了 每一个后缀的前缀的lcp一定是这个串里的子串, 对于全部子串,如果它不是后缀,那一定可以找到这个串对应的后缀, 而这样的子串和后缀子串是没有区别的,因为他们出现的位置相同,而后缀自动机记录每个子串的出现次数, 这个子串和以它开头所在的后缀相同的都是这个子串,由于SAM的高压性,这个子串余剩的部分一定不会与它所在后缀相同(不然会被并成一个...
阅读(5) 评论(0)

bzoj2244 [SDOI2011]拦截导弹 cdq分治

这个题看起来是二维偏序,但实际上是三维偏序(高度、速度、顺序) 所以就用顺序减掉一维,cdq减掉一维,用数据结构减掉一维, 然后求每个点的概率就等于 经过他的方案数/方案总数 然后首先要知道lis的答案,用cdq分治转移一遍即可出解,但由于要算方案总数,所以需要记录 到一个点 dp值最大时的方案数 但经过他的方案数不只有到一个点的方案数,还有他到终点的方案数, 这时有一个比较显然的结论,...
阅读(6) 评论(0)

bzoj4517 [Sdoi2016]排列计数 组合数+错排

这个题描述的本身就很离散,所以就相当于选出m个位置,剩下的位置的错排 错排的公式也不是很难推,注意及时利用以前的结果就好了,实在不行根据印象打表找规律 设有n个数  ,n个位置,第一个数一定不能选第一个位置,所以可选的位置就有 n-1个 考虑剩下的n-1个数,一定有一个数可以放在1的位置,那这个数放在1的位置的方案数就等于这个数不放在1的位置+这个数放在1的位置= f(n-1)+f(...
阅读(6) 评论(0)

bzoj3572 [HNOI2014]世界树 虚树 +乱dp

这个题有Σ的条件,肯定还是用log结构求询问点相关了但这个题是点之间的距离关系,所以本来想用中点来代替原来的lca,但中点的个数不满足任何单调性,而且个数也不是n个所以还是要用lca,所以考虑lca和中点的关系,lca的好处就是n个点对之间只有最多n个lca这时就需要一定的转化,把原来的确定中点问题变成确定 最少影响点 问题因为如果把所有拐点表示出来,剩下的就都是线段了自然容易想到讨论lca的归属...
阅读(12) 评论(0)

bzoj2286 [Sdoi2011]消耗战 单调栈+lca

这个题意思非常明确,就是删除尽量小的边使1和指定点不连通对于一次询问,dfs一遍即可,但需要log级别的然后条件里有个Σ,显然复杂度和他有关,对每个点都需要一个均摊log的然后有两个基本思路,1、树分治2、lca1会打乱原树,所以不行,只有2然后手玩发现一些东西:1、一个点被选,子树就无所谓了2、在一个子树内,lca是单调往上的根据2,想办法利用这个单调性来解决问题想到取dfs序,然后子树里lca...
阅读(11) 评论(0)

bzoj2282 [Sdoi2011]消防 直径+二分+树dp

这个题要求最大值最小,那就是铁打的二分 然后考虑检验,可以根据二分值卡极限找距离然后判断是不是一条路径再判断路径和 这样其实dp就可以做了,但有更方便的做法,就是求出直径然后变成队列操作, 由于直径上的点最远的点都在直径上,所以就只用判断直径, 下限是非直径点到直径的最大距离 上限是直径长度 但注意有可能直径上的边每一条都比s大,这时需要扫一遍所有的边,判断这条边到直径两个端点的距离即...
阅读(11) 评论(0)

bzoj2245 [SDOI2011]工作安排 费用流

注意这里的分段函数只和个数有关,与种类无关, 然后直接建图,注意开long long 码: #include #include #include #include using namespace std; #define N 1000005 int tot=-1,zhong[N],hou[N],qj[N],xia[N],v[N],i,j,s,t,n,m,x,y; long long ...
阅读(15) 评论(0)

bzoj1941 [Sdoi2010]Hide and Seek 线段树

这个题其实应该算4个二维偏序,因为枚举每个点可以根据公式分成4个象限,4种计算方式,所以就考虑怎么求x和y的大小关系集合 首先,按x排序再枚举,可以保证后面的x大于前面的x,就相当于分成了两部分,剩下的就是区分y的大小关系,相当于是在两个x的区间里找一个值左侧和右侧的信息, 如果分成4个信息,就相当于维护四个值:x+y,x-y,y-x,-x-y的最大最小值,   对于查询,就是标准的线段树问题...
阅读(10) 评论(0)

bzoj2242 [SDOI2011]计算器 exgcd+ksm+bsgs

三个板子,注意bsgs的时候要特判无解,即a%p==0||b%p==0(bsgs还是很巧妙的。。) 码: #include #include #include #include using namespace std; #define ll long long mapma; mapdui; ll a,b,p,ans,x,y,i,j; int T,k; ll ksm(ll a,ll b...
阅读(26) 评论(0)

bzoj1975 [Sdoi2010]魔法猪学院 a*+堆

这个题型现在才做真是太失败了,因为noip去年就考了及其类似的题。。 方法还是暴力中比较巧的,就是不断增广,取和和当前估价值差值最小的操作,类似dijkstra的贪心方法,一直增广到目标为止 主要思想就是利用dp的结果指导暴力,然后用堆取贪心 码: // luogu-judger-enable-o2 #include #include #include #include using...
阅读(20) 评论(0)
441条 共45页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:54542次
    • 积分:4799
    • 等级:
    • 排名:第6692名
    • 原创:441篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10条
    郑重声明
    如果要看题解,千万别找我的blog~~ 如果你是来看题解的 那你绝对想打我
    如何找到我
    QQ:2604761105 (加本蒟蒻涨RP!)
    文章分类
    最新评论