摘要: 通过打表证明发现答案就是把序列划分成若干段,每段的b都是这一段a的平均数。50分做法比较显然,就是单调栈维护,每次将新元素当成一个区间插入末尾,若b值不满足单调不降,则将这个区间与单调栈前一个区间合并。 由于题目要求每次只修改一个数,所以可以前后缀拼起来,单调栈要改变,然后发现这个显然满足二分的性质 阅读全文
posted @ 2019-05-06 10:02 hfctf0210 阅读(428) 评论(0) 推荐(0)
摘要: 首先,对于从每个点出发的路径,答案一定是过这个点的路径所覆盖的点数。然后可以做树上差分,对每个点记录路径产生总贡献,然后做一个树剖维护,对每个点维护一个动态开点线段树。最后再从根节点开始做一遍dfs,把每个节点对应的线段树启发式合并即可。时空复杂度均为O(nlog2n)。听说还有一个log的做法,但 阅读全文
posted @ 2019-05-05 22:21 hfctf0210 阅读(251) 评论(0) 推荐(0)
摘要: 为什么ABC那么多?建议Atcoder多出些ARC/AGC,好不容易才轮到AGC…… A 签到。就是以黑点为源点做多元最短路,由于边长是1直接bfs就好了,求最长路径。 #include<bits/stdc++.h> using namespace std; const int N=1007,dx[ 阅读全文
posted @ 2019-05-05 13:50 hfctf0210 阅读(352) 评论(0) 推荐(0)
摘要: 一道神仙题,考察选手对KMP的深入理解。 先考虑没有2操作的做法。设每一段为一个二元组(x,c),考虑一段前缀匹配后缀,除了第一段的字符,其他段的二元组(x,c)必须相等,所以可以将其视为特殊字符进行匹配。在串末尾加入(x,c)时,显然不断跳next数组,如果当前前缀后接的字符为c ,那么可以增加一 阅读全文
posted @ 2019-05-02 10:01 hfctf0210 阅读(362) 评论(0) 推荐(0)
摘要: 什么垃圾比赛,A题说的什么鬼楞是没看懂。就我只会BD(其实C是个大水题二分),垃圾游戏,技不如人,肝败吓疯,告辞,口胡了E就睡觉了。 B 很容易发现,存在一种方案,使得相同字母连在一起,然后发现,当字母出现种类数大于等于4时,可以奇偶性相间地连接,然后讨论种类数<=3的:种类数为1,显然直接输出;种 阅读全文
posted @ 2019-05-01 23:49 hfctf0210 阅读(229) 评论(0) 推荐(0)
摘要: 30分的O(m^2)做法应该比较容易想到:令f[i][j]表示i->j是否有解,然后把每个路径点数不超过2的有解状态(u,v)加入队列,然后弹出队列时,两点分别向两边搜索边,发现颜色一样时,再修改答案,加入队列即可。 100分是挺难想的,是个思维题,可以把边分成连接同色和异色两种。发现走过的路径一定 阅读全文
posted @ 2019-05-01 20:49 hfctf0210 阅读(270) 评论(0) 推荐(0)
摘要: 看到数据范围n<=1000,但感觉用O(n^2)不现实,所以考虑方向应该是O(n^2logn)。 一种暴力做法:用vector存到1点相同的2点和到2点相同的1点,然后枚举A,枚举BC,再枚举D,然后枚举EF,O(n^4),但复杂度远远不满(符合条件的太少,而且也卡不掉),所以可以获得40pts的好 阅读全文
posted @ 2019-04-30 22:37 hfctf0210 阅读(353) 评论(0) 推荐(0)
摘要: 题解:首先根据题意,可以猜到结论:最终图一定是从n号点向其他所有点各连一条边。然后发现一个结论:每次把图中一条(a,b)边连成(c,n)。然后50pts的劣质O(mnlogn)的分治做法就有了:对于分治区间[l,r],可以枚举从n号点是否有在(l,r)间的剖边,如果有则直接分治,如果没有,则找到能转 阅读全文
posted @ 2019-04-30 19:00 hfctf0210 阅读(201) 评论(0) 推荐(0)
摘要: A 容易发现i,i+1至少有一个数出现,于是可以让尽量多的2和奇数出现 #include<bits/stdc++.h> using namespace std; int n,s1,s2; int main() { scanf("%d",&n); for(int i=1,x;i<=n;i++) { s 阅读全文
posted @ 2019-04-30 13:47 hfctf0210 阅读(293) 评论(0) 推荐(0)
摘要: 看到这题,首先想到将求和转期望,即每次操作进行概率为1/2,求节点打标记概率。 首先对于每次区间修改操作,对节点进行分类: 1、这个点和其父亲都和修改区间无交,这种情况可以无视。 2、这个点和修改区间无交但父亲和修改区间有交,这样该区间有无标记只和本身及是否存在一个祖先有标记相关。 3、这个点被修改 阅读全文
posted @ 2019-04-29 17:20 hfctf0210 阅读(175) 评论(0) 推荐(0)