10 2020 档案

摘要:题目链接:传送门 题目思路: 显然,最长的偶权链的两个端点中,至少有一个是直径的端点。 简单证明一下, 若直径的权为偶,那么最长链肯定就是直径 若直径的权为奇,那么对于直径上任意一个点可以把直径分割为一段奇权链和一段偶权链。 那么可以使用反证法,假设最长的偶权链的两个端点都不是直径的端点。如下图所示 阅读全文
posted @ 2020-10-29 17:10 DeepJay 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 大致题意:给一个长度为6的数组a ,一个长度为n的数组b,对于每一个b[j] ,必须选择任意一个a[i] 并产生一个差值 x=b[j]-a[i] ,问所有方案中 MIN(最大差值-最小差值),即最小化 最大差值-最小差值; 题目思路:预处理出所有的差值(6n个),并对其排序,枚举l 阅读全文
posted @ 2020-10-27 15:42 DeepJay 阅读(122) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 题目思路:通过观察 题解 规律 ,总结出: 1. 最后的答案 ans = Σpi * ai , pi = { -1 ,1 } ; 2. 系数集合p满足: 但是有一个特例 p = {1,-1,1,-1,... , 1} ,显然第一次选择两个个数相加,知道最后这两个数字的pi应该是相等 阅读全文
posted @ 2020-10-20 20:09 DeepJay 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 题目思路: 以i 为右端点 ,令 h[j] = s[j]=='0'? 0 : h[j+1]+1 ,其中 j < i ; 枚举右端点i , 对于任意一个左端点j ,其f(j,i) = max ( h[j] , h[j+1] , ... , h[i] ); 显然,对于固定的右端点 i 阅读全文
posted @ 2020-10-20 19:16 DeepJay 阅读(254) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 题目思路:由于初值是不定的,因此很难直接去求01背包,况且s范围是 1e-9 ~ 1e9; #include<bits/stdc++.h> /* #include<cstdio> #include<cmath> #include<cstring> #include<vector> 阅读全文
posted @ 2020-10-15 20:27 DeepJay 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 题目思路:传送门 排序时,以A段长度l为第一关键字 ,以rk[i+l] 即 B段的rank 为第二关键字 但是依然不对,这里有一个非常精妙的处理; 对于A段来说,是0开头和0结尾,但是 aa ->01 , aaa->011 , a->0 对于 01(A段长度为2)显然 是小于001 阅读全文
posted @ 2020-10-14 21:08 DeepJay 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 题目思路:枚举w的排列,然后dp;求dp[i] ,要满足所有关于 j 的不等式 dp[i] >= len_max(v[i]<w[i]+w[i-1]+...+w[j]) + dp[j] ,len_max 指满足不等式的所有v[k]对应的l[k] 取max 因此,状态转移方程为:dp[ 阅读全文
posted @ 2020-10-13 16:29 DeepJay 阅读(148) 评论(0) 推荐(0) 编辑
摘要:题目链接:传送门 大致题意:现给定字符串s和t ,求s和t的长度不小于k的公共子串个数; 题目思路: 对于s的每一个后缀和t的每一个后缀求lcp,如果匹配出的lcp=x,那么ans+=x-k+1(x>=k),直接暴力显然不行,就有了下面的方法: 将两个串做连接得到字符串str,中间隔一个绝对不会出现 阅读全文
posted @ 2020-10-09 22:01 DeepJay 阅读(118) 评论(0) 推荐(0) 编辑

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