上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 62 下一页
摘要: 明显是要上DP的。虽然我只能想出5个for起步。。。然后云里雾里瞎搞搞不知道乱搞成什么样 反正枚举到那个玉米那一维可以省掉,然后就一个操作数一个高度,看看范围可以用二维树状数组优化下 就是令f[i][j]表示到了当前操作了i次最高位为j最多保留的玉米,这个可以直接扔到树状数组里面 弄一个辅助数组更新 阅读全文
posted @ 2018-12-24 19:23 AKCqhzdy 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 斯坦纳树 f[i][zt]表示以i为根,连成的联通块包括那些景点 两个转移:f[i][zt]=f[i][tzt]+f[i][zt^tzt]-a[i] f[i][zt]=f[j][zt]+a[i] ((i,j)相邻) 后面这个可以用spfa优化 记得先进行前一个转移,还有容斥减掉a[i] 阅读全文
posted @ 2018-12-24 16:13 AKCqhzdy 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 总的来讲,SAM难想,SA难写,SAM跑得快 SAM: 这题其实巨像bzoj2780 建了广义SAM以后,用dfs序+树状数组求出每个点在多少不同的串里面 然后枚举每个串在上面跑就行了。 SA: 然后如果要上后缀数组的话,把它们接在一起弄,中间插不同的乱七八糟的符号,先套路一手st表求LCP 对于每 阅读全文
posted @ 2018-12-23 18:57 AKCqhzdy 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 首先先减下标转换成求最长不下降子序列(是个套路?见了几次还是不是很懂) 然后对于递增的直接取值就可以了,递减就来个中位数 可以构造出一个这样的算法: 每次插入一个新的区间[i,i],使用a[i],表示当前点最好用自己的值就可以了 和前一个区间比较,如果这个点选用的值较小,进行区间合并,这个区间用它的 阅读全文
posted @ 2018-12-21 20:58 AKCqhzdy 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 这个题意花里胡哨的zzzzz 其实它是个树啊。。。然后看一下范围很显然是一个树背包啦 设f[i][j]表示以i为根的子树分成j段 对于当前两个子树合并,可以合出max(j1,j2)~j1+j2范围的段数 难点就在于怎么计算方案了(是真的没有想到啊T_T) 方程是这样的:singema f[x][i] 阅读全文
posted @ 2018-12-21 15:37 AKCqhzdy 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 首先如果是有向无环图的话就是度数之积了 于是我们需要减去构成环的情况,这个环一定是过新加的边的 那么不合法的情况就是选了yy->xx的一条路径,其他点乱选 进行DP,fi表示选yy->i的路径其他点乱选的方案数,fv= sigema((u,v)属于E) fu / v的度数 阅读全文
posted @ 2018-12-21 10:43 AKCqhzdy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 这是一个结论题。。 要求的序=反图的最大字典序 也就是尽量把大的放在后面。。 阅读全文
posted @ 2018-12-21 08:12 AKCqhzdy 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 这个m的范围很有欺骗性啊。。。以为是要枚举C的 不管C的话其实就是要一个min{sigema (Y(i)-X(i+k))^2 } 把Y翻转过来,这样旋转k步的圈就是第n+k位 把它拆开的话其实只要算一个X*Y,就是fft的事儿了 再看看C怎么处理,我们带着C拆开,那么会多一个这个东西:sigema 阅读全文
posted @ 2018-12-21 07:40 AKCqhzdy 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 数组开小gg fft乱搞就可以了。 阅读全文
posted @ 2018-12-13 13:41 AKCqhzdy 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 我又变成sb了 首先通过%可以得到一个这样的柿子: 设s1是模版串,s2是匹配串,j表示模版串以j为起始的子串 fj(0<j<=s1len-s2len) =sigema(i=0~s2len-1) (s2[i]-s1[j+i])^2*s2[i] 当fj=0时j是一个解。 既然要fft,这个加号很不爽, 阅读全文
posted @ 2018-12-09 16:49 AKCqhzdy 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 62 下一页