02 2020 档案

摘要:模板: 阅读全文
posted @ 2020-02-16 22:05 A_sc 阅读(135) 评论(0) 推荐(0)
摘要:从集合的角度思考DP问题 如上图展示了DP问题思考的一个简单步骤来自y总直播,“就像计算乘法一样,学会分析DP问题就像学会列竖式一样,让处理DP问题更简单”这就话让我瞬间意识到分析问题的重要性,处理DP问题不应该是想出转移过程,应该是一步步分析出来的。这篇博客记录以后做题过程中我对DP分析方法的理解 阅读全文
posted @ 2020-02-09 21:50 A_sc 阅读(325) 评论(0) 推荐(0)
摘要:被3整除的子序列 题目: 给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除 答案对1e9+7取模 题解: 将所有字符转成数字在对3取模,那么序列中只有0,1,2三个数字 如果是子序列,那么 $dp[i][0]$ 表示$1到i$ 中子序列和模3等于0的个数,$dp[i][1]$ 和 阅读全文
posted @ 2020-02-08 11:24 A_sc 阅读(643) 评论(0) 推荐(0)
摘要:J. u's的影响力 题目: ​ 输入$n,x,y,a,b$ 。输出 $x^{f(n 2)} y^{f(n 1)} a^{[f(n) 1] b}$ .其他f(i)表示Fibonacci数值 题解: 通过观察前几项得到上面的公式。利用矩阵快速幂可以计算很大的Fibonacci数,然后用快速幂求结果。 阅读全文
posted @ 2020-02-07 22:55 A_sc 阅读(259) 评论(0) 推荐(0)
摘要:题解 假如k 1的图我们知道,那么得到k的图,相当于就是将k 1的图再复制4次,具体见代码。 代码: 阅读全文
posted @ 2020-02-04 12:06 A_sc 阅读(148) 评论(0) 推荐(0)
摘要:题解: 这道题第一眼和前面的最短哈密顿路径很相似,但是不太相同。这道题数据不大,可以朴素枚举每行的所有情况,用二进制压缩表示每行的各种情况,也就是0 ~ 1 using namespace std; typedef long long ll; const int MA=1e2+5; int a[6] 阅读全文
posted @ 2020-02-04 09:16 A_sc 阅读(137) 评论(0) 推荐(0)
摘要:题解: 按照蓝书介绍,我们另l,r表示一段区间,p为要测试区间长度,初始时l=r=0,p=1; 1 根据题意,要让分的区间个数越小,那么每个区间尽量大。 所以我们做这道题思考切入点,就是对区间左边界l,这个区间的右边界最大到哪里? 2 最初r=l,p=1.当[l,r+p]这个区间的校验值k,那么缩小 阅读全文
posted @ 2020-02-03 19:28 A_sc 阅读(140) 评论(0) 推荐(0)
摘要:题解: 想象一下,假如x,y(p using namespace std; typedef long long ll; const int MA=1e4+5; mapmp; int n,p,h,m,cnt=0; int b[MA]; int main() { scanf("%d%d%d%d",&n, 阅读全文
posted @ 2020-02-02 22:55 A_sc 阅读(120) 评论(0) 推荐(0)
摘要:题解: b[i]存a[i]的差分序列,我们要把b[]中除了第一个值以外的其他位的值都通过选择两位一个+1,一个 1变成0。 为了使次数减少,我们要把b数组中i 1位的能够两两消除的先消掉,然后剩下的再和1位或者n+1位组合。 这样总次数就是min(pos,neg)+|pos neg|=max(pos 阅读全文
posted @ 2020-02-02 22:19 A_sc 阅读(134) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-02-02 22:16 A_sc 阅读(124) 评论(0) 推荐(0)