博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

05 2018 档案

摘要:给定字符串S,求其第K小子串。(若T=0,不同位置的相同子串算1个;否则算作多个) 阅读全文
posted @ 2018-05-31 19:40 SovietPower 阅读(176) 评论(0) 推荐(0) 编辑
摘要:后缀自动机 整理 阅读全文
posted @ 2018-05-31 19:38 SovietPower 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:题目链接 题意:q次询问仙人掌上两点的最短路。 圆方树。做题思路不写了。。 就是当LCA是方点时跳进那个环可以分类讨论一下用树剖而不必须用倍增: 如果v是u的(唯一的那个)重儿子,那么u的DFS序上+1的点即是要找的;否则v会引出一条新的链。 不用圆方树的做法(代码错了不想改了,但是能A)。 //3 阅读全文
posted @ 2018-05-31 16:56 SovietPower 阅读(228) 评论(0) 推荐(0) 编辑
摘要:题目链接 Description 求最多10个串的LCS(最长公共子串)。 Solution 类比上题,对一个串建SAM,我们可以逐串地求出其在每个节点所能匹配的最大长度mx[i]。 对于每个点i,所有串的mx[i]的最小值即为在点i n个串的LCS长度。枚举所有点即可。 这需要把每个点都匹 阅读全文
posted @ 2018-05-31 08:17 SovietPower 阅读(240) 评论(0) 推荐(0) 编辑
摘要:求两个字符串最长公共子串 阅读全文
posted @ 2018-05-30 21:52 SovietPower 阅读(348) 评论(13) 推荐(0) 编辑
摘要:HDU.1028.Ignatius and the Princess III(母函数) //0MS 1500K //母函数。。背包、DP都行。。 #include <cstdio> #include <cstring> typedef long long LL; const int N=122; i 阅读全文
posted @ 2018-05-27 11:41 SovietPower 阅读(355) 评论(0) 推荐(0) 编辑
摘要:二维平面上初始有n个点,m2种操作:在二维平面上加一个点;询问离某个点曼哈顿距离最近的点是多少。 n,m3×105阅读全文
posted @ 2018-05-13 21:43 SovietPower 阅读(252) 评论(0) 推荐(0) 编辑
摘要:"题目链接 BZOJ" "洛谷" AC代码: 区间DP,f[i][j]表示消掉i~j需要的最少珠子数。 先把相邻的相同颜色的珠子合并起来。 枚举方法一样,处理一下端点可以碰撞消除的情况就行。 当然合并会出现问题,比如有多个同色珠子但是可以分配给两边分别匹配,比如:https://www.luogu. 阅读全文
posted @ 2018-05-08 22:02 SovietPower 阅读(227) 评论(0) 推荐(0) 编辑
摘要:题目链接 Descripiton 给出文本串S和模式串T和k,S,T为DNA序列(只含A,T,G,C)。对于S中的每个位置i,只要s[ik]s[i+k]中有一个位置匹配了字符c,那么就认为i可以匹配c。求S中有多少位置匹配了T。 Solution 阅读全文
posted @ 2018-05-05 08:47 SovietPower 阅读(291) 评论(0) 推荐(0) 编辑
摘要:题目链接 Descripiton 给出q[ ]F[j]=i<jqiqj(ij)2i>jqiqj(ij)2E_i=\frac,求所有E[i]Solution 这的挺详细了 阅读全文
posted @ 2018-05-04 16:50 SovietPower 阅读(194) 评论(0) 推荐(0) 编辑
摘要:题目链接 Descripiton 给定A[ ],B[ ],求 C[k]=i=kn1A[i]B[ik] (0k<n) Solution (先令n=n1) 首先往卷积上想。。 iik的差值是一定的,但是卷积的形式是 阅读全文
posted @ 2018-05-04 10:25 SovietPower 阅读(277) 评论(0) 推荐(0) 编辑
摘要:[TOC] 2018.5.3 Test 得分:9+8+100=117 昨天刚看过T3。。 T1 "题目链接" 离散化区间后好像很好想到O(n2)?调不出来算了。。 做不下去 先不改了 T2 "题目链接" 也不想改。再说。。 T3 UOJ.206.[APIO2016]Gap(交互) "题目链接" 阅读全文
posted @ 2018-05-03 17:35 SovietPower 阅读(216) 评论(0) 推荐(0) 编辑
摘要:"题目链接" Description 在一个nn的二维平面中有两个不相交的整点矩形,每次可以询问两个矩形有几个完全在你给出的一个矩形中。200次询问内确定两个矩形坐标。 Solution 容易想到二分。整个矩形好像不好判断?那就每次二分判断矩形两个点的横纵坐标。次数为 8 26 inc 阅读全文
posted @ 2018-05-02 20:46 SovietPower 阅读(280) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 随机化 暴力: 随便从一个点开始DFS,每次从之前得到的f[i]最大的子节点开始DFS。f[i]为从i开始(之前)能得到的最大答案。 要注意的是f[i]应当有机会从更小的答案更新, 9.10求直径。 就82分了。 本来想的SPFA啥的也不对。。正解思路是 "这的" 。 cpp incl 阅读全文
posted @ 2018-05-02 18:19 SovietPower 阅读(261) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 环可以拆成链;对字符串排序能想到后缀数组。 完了。输出时忽略长度不足n的串,输出s[sa[i]+n 1],即排名为i的字符串的末尾。 阅读全文
posted @ 2018-05-02 10:43 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑
摘要:难得写出一道不(很)水的题。 阅读全文
posted @ 2018-05-02 09:03 SovietPower 阅读(202) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 直接排序显然怎么都不行。 先按毁坏时间排序,优先修损坏早的,中途我们再改修的建筑。 枚举每个建筑x,如果能,就修;不能的话,从之前要修的建筑中找一个花时最大的need[top],如果need[x] include include include define pr std::pair 阅读全文
posted @ 2018-05-01 21:56 SovietPower 阅读(143) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 枚举对子,枚举每张牌,先出完它的刻子,剩下的出顺子。O(n3). 不是这样 出完所有刻子,最后出顺子。(日常zz) 优先仨相同的,然后顺子,有一次且一定要用一次机会补顺子的空位,即把刻子换成对子。这样好像是O(n2). 不写O(n2)的了,特判之类大概非常麻烦。。 c 阅读全文
posted @ 2018-05-01 20:15 SovietPower 阅读(206) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 搜索,枚举切的n 1刀。 对于长n宽m要切x刀,可以划分为若干个 长n'宽m'要切x'刀 的子问题,对所有子问题的答案取max 对所有子问题的方案取min 就是当前状态答案。 这显然是会有很多重复状态的,用map记忆化(长宽都是double)。 每一刀会将当前分成两份。比如当前是横着切 阅读全文
posted @ 2018-05-01 16:21 SovietPower 阅读(176) 评论(0) 推荐(1) 编辑
摘要:题目链接 洛谷 题意:给定仙人掌图,边权为1,求其直径。 类似求树的直径,可以用(类似)树形DP求每个点其子树(在仙人掌上就是诱导子图)最长链、次长链,用每个点子节点不同子树的 max{最长链}+max{次长链} 更新答案。(不需要存次长链,求解过程中先更新ans,然后再更新最长链即可) 设f[i] 阅读全文
posted @ 2018-05-01 15:28 SovietPower 阅读(199) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 数位DP。傻了。。 前导0是有影响的,影响第一位的选择,所以要记。再记录上限,然后在没有限制时记忆化。 阅读全文
posted @ 2018-05-01 11:26 SovietPower 阅读(147) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示