
HNOI2016
__HWQ
这个作者很懒,什么都没留下…
展开
-
HNOI2016 大数(number)<莫队>
题目分析一道典型的莫队。 先预处理出后缀,即f[i]表示i~(n-1) mod p 的值. 但p的值不小,显然不能直接存,加一个离散化。观察题目,发现一串数s(l~r)整除p满足s(l~n-1)%p==s(r+1~n-1)%p 但p值为2或5不满足这个性质需要特判(不过数据中好像没有,于是笔者没写,有兴趣的可以自己去写写。。。。。。)然后问题转化为求一段区间中有几对相等的f值。套一个莫队。(a原创 2016-04-30 15:04:58 · 1178 阅读 · 1 评论 -
HNOI2016 序列(sequence)<莫队>
题目分析与T3大数一样,又是莫队。 于是考虑怎么O(1)转移。 以(l,r)到(l,r+1)为例: 记l[i]为向左影响到的。 pre[i]为以i为左端序列的最小值之和。 对于某一段,RMQ找出最小值,左边的可以直接推算,右边的可以用pre向减得到。代码代码很丑很丑。 还预处理了log2,不然都要把我的卡到 3 second。#include<i原创 2016-05-02 12:02:51 · 501 阅读 · 0 评论 -
HNOI2016 Day2 T2 网络<树链剖分>
题意分析考虑树链剖分。 用线段树搞,线段树上每个点开一个优先队列(大根对)。 每次有新的交互(u,v),就把不在(u,v)路径上的点加入一个v值。 查询时,就查这个点的top。因为要删除,把优先队列换种写法,一个add队列,一个del队列,具体看代码。应该是最好理解的做法了,但并不好打。代码#include<cstdio> #include<iostream> #include<cstring原创 2016-05-16 21:01:39 · 699 阅读 · 0 评论