GDOI2016口胡题解

DAY 1

t1:暂无。

t2:先把区间合并,然后每个位置都会属于一个区间。设f[i,j]表示以A串第i位和B串第j位匹配为结尾的LCS。那么转移有两种情况,一种是第j位可以放一个和A串第i位一样的字符,只要当前j所在的区间还未被使用的A串第i位字符个数不为0即可。如何知道使用了的个数?因为你清楚f[i-1,j-1]的值,而A串又是固定不动的,设i-f[i-1,j-1]=k,belong[j]表示j所属区间的左端点,设j-belong[j]=l。那么就是看区间[i-min(k,l),i-1]有多少个与a[i]相同的。预处理A串每个字符的前缀和以及B串每个区间每种字符的个数即可解决第一种转移。

第二种是当前j所属区间有a[i]但没有可用的了,那么最前匹配位置要后移到A串从当前匹配位置开始往后第一个a[i]的后面。预处理A串每个位置往后的每个字符都第一次出现在哪个位置即可。

t3:暂无。

t4:暂无。

DAY 2

t1:按照抄近道次数分层,每一层内跑最短路,然后再转移到下一层。

t2:暂无。

t3:把环的最中间那条边断开做点剖。把环的左右两端两个结点称为关键点。接着对于每个点用二元组(a,b)表示,a表示其到达最近关键点的最短距离,b表示其到底环的中线的最短距离。那么如果两个二元组(a,b)与(c,d)满足a+c>k-1而b+d<=k-1那么这两个二元组对应的结点也是通讯生效的。按照第一维排序,第二维线段树维护一下即可。

t4:暂无。

DAY 3

t1:暂无。

t2:暂无。

t3:暂无。

t4:暂无。

时间: 2024-12-18 12:41:18

GDOI2016口胡题解的相关文章

Topcoder口胡记 SRM 562 Div 1 ~ SRM 592 Div 1

传送门:https://284914869.github.io/AEoj/index.html Topcoder SRM 562 Div 1 - Problem 1000 InducedSubgraphs 当K*2<=N的时候,显而易见的是编号为i(K<=i<=N-K+1)的点一定会形成一条链. 枚举合法的这样的链,剩下的暴力dp吧. 当K*2>N的时候,显而易见的是编号为i(N-K+1<=i<=K)的点一定会形成一个联通快. 如果把这个联通块去掉,树会形成若干个不相交

BZOJ 口胡记录

最近实在是懒的不想打代码...好像口胡也算一种训练,那就口胡把. BZOJ 2243 染色(树链剖分) 首先树链剖分,然后记录下每个区间的左右端点颜色和当前区间的颜色段.再对每个节点维护一个tag标记.剩下的就是很normal的线段树区间合并和标记下传了. BZOJ 2245 工作安排(费用流) 很normal的拆边费用流.建立虚拟源点s和汇点t.s向产品连边,产品向可以生产它的工人连边,工人向t连边.这里的分段函数是个非递减的分段函数,由于最小费用流的特殊性.这里的分段函数可以用流和费用分割开

CF/SRM的口胡记录

感觉整体BZOJ做做丝毫没有前途,几个大爷都在淦SRM,我就来开个坑来口胡一波CF/SRM以便快速滚粗.(因为是口胡就不设计数器了,其实是我懒. [SRM645]Easy 按区间排排序直接扫一遍就可以了. [SRM645]Medium 如果每个点的方向向量相同那么就可能能够到达否则肯定不能.①如果偶数步,就是有两种向量的合成,我们可以用扩展gcd来判断是否可行.②如果是奇数步,就跑一步,然后按照①来做就可以了.

迷茫之中的口胡

WC冬眠营无聊之余,自己想了很多,想了很多自己的oi生活,想了很多自己,迷茫之中来口胡一些.     我觉得自己初三之前的oi经历都是挺顺利的,初一接触oi,初二下学期正式开始搞oi,初一普及组国一,初二提高组国一,并差一点进省队,初三成功进入省队.      然而noi因为一个字母的打错,造成了少了60分的悲剧,而看着同学们都不错的成绩,心里还是有一些失落.高一noip考试,我本带着信心去考试,却发现day1T3少考虑条件而少60分,day2T3竟然出现想得不在点上的情况,出了考场立马想出来的

口胡提交记录

为了偷懒提高刷题效率,有些题目只做口胡,并在此整理. 1.19 CF1101D GCD Counting pro:https://www.luogu.org/problemnew/show/CF1101D sol:https://www.cnblogs.com/Creed-qwq/p/10293719.html 原文地址:https://www.cnblogs.com/Creed-qwq/p/10293731.html

[HNOI2015]菜肴制作 题解(自带口胡证明)

[HNOI2015]菜肴制作 时间限制: 1 Sec  内存限制: 512 MB 题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予 1到N的顺序编号,预估质量最高的菜肴编号为1.由于菜肴之间口味搭配的问题, 某些菜肴必须在另一些菜肴之前制作,具体的,一共有 M 条形如"i 号菜肴'必须' 先于 j 号菜肴制作"的限制,我们将这样的限制简写为<i,j>.现在,酒店希望能求 出一个最

自选题口胡

上一个坑因为后来时间太紧,于是每天做做做,根本不想写题解了.这次我决定大概保持一天一题到两题的节奏,就不着急啦.(大概不会鸽啦 大概顺序是各处看看哪里有简单题,找找简单题做,无实力选手根本做不动题啊. 119:众数MAX 简单题,显然是卷积状物,不过贡献取决于较小的一项.按照套路根号分治下,大的之间的贡献暴力,小的部分枚举一个固定的值 x 从 1 到阈值,每次把所有 >=x 的拿出来卷积.发现卷积部分跑的很慢,最后大概优化到了 200ms 吧,阈值大概是 6,. 127:Ball cf 原题加强

杂题口胡

$Bitwise\ Xor$:给定一个长度为$n$的整数序列$a$和一个整数$k$,求$a$有多少子序列,两两异或值大于等于$k$.$n \leq 3e5,k<2^{60}$ 题解:发现两两异或值的最小值一定是排序后相邻的两个数,首先把$a$排序,设f[i]表示以i结尾的序列个数.用$trie$树优化$dp$,$trie$上每个节点维护子树$f$值的和,根据当前位要大于$x$应该是$0$还是$1$向下递归.$f[i]=query(a[i],x)+1$.加上他自己单独成串.$O(nlogk)$ $

【口胡】简谈福建省夏令营

Day1 t1:线段树区间修改 t2:字符串哈希+尺取 t3:dp Day2 t1:乱搞 t2:贪心 t3:八数码.各种搜索+剪枝 Day3 三题搜索 Day4 t1 t3普及组 t2:设状态f[i][j][k],前i行,j列一个,k列二个,每行每列最多两个炮.然后dp Day5 t1:正反计算一次最大子段和O(n) 枚举分界点 t2:用f(i,x,y,a,b)表示从1,1到x,y,从N,N到a,b,路径上相同的方案数,压掉y,b两维 t3:考虑次方的和可以这样计算 用表示后i个能获得的最大价值