摘要: 题目链接:https://codeforces.com/problemset/problem/1084/C ###思想:对于元素不连续的序列统计方案,可以考虑每个元素的贡献,用之前的答案与当前元素组合来求解 统计出每组 a 的个数,转换成如下问题: 给定 n 个数,求 n 个数组合的乘积之和 做法: 阅读全文
posted @ 2020-10-15 22:52 Tartarus_li 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1081/C 直接dp 考虑第 i 块砖,可以与左边相同,也可以不同 #include<cstdio> #include<cstring> #include<algorithm> #include<iost 阅读全文
posted @ 2020-10-15 21:32 Tartarus_li 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1105/C $dp[i][0/1/2]$表示前 i 个数之和模 3 余 0/1/2 时的方案数 直接转移即可 #include<cstdio> #include<cstring> #include<alg 阅读全文
posted @ 2020-10-15 20:55 Tartarus_li 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1207/C 直接dp即可 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> 阅读全文
posted @ 2020-10-15 20:19 Tartarus_li 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1234/C 直接dfs 管道分为两种 只可能向上/下/右方向走,把边界范围限制好 #include<cstdio> #include<cstring> #include<algorithm> #inclu 阅读全文
posted @ 2020-10-15 19:38 Tartarus_li 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1253/C 贪心 按甜度排序,选出前 k 颗糖,先吃甜度大的 维护前缀和,每隔 m 颗糖果添加一次前缀和,维护按天数递增的效果 #include<cstdio> #include<cstring> #in 阅读全文
posted @ 2020-10-15 11:51 Tartarus_li 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1272/D DP 设 \(dp[i][0/1]\) 表示上升子序列的最后一个位置是 i ,之前是/否删除过的最大长度 当前元素不删,考虑前一个元素删不删, 则状态转移方程为: $$ if(a[i] > a 阅读全文
posted @ 2020-10-15 11:07 Tartarus_li 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/status?my=on 按时间排序,集合取交集 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cma 阅读全文
posted @ 2020-10-15 09:52 Tartarus_li 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目链接 : https://codeforces.com/problemset/problem/1307/C 看起来等差数列这个条件非常难做,但仔细分析后发现,任何长度大于 2 的序列,都可以拆分成长度为 1 或 2的序列 于是从前向后扫,考虑每个位置的字母对答案的贡献 对长度为 1 的序列的贡献 阅读全文
posted @ 2020-10-15 08:55 Tartarus_li 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 相较于 easy version ,本题规模扩大到 50w 考虑优化, 对于每个高楼,我们要找的其实是最靠近且比这座楼矮的楼, 中间的楼都建成这座高楼的高度 所以使用单调队列,求出每座高楼的前缀和与后缀和, 再扫一遍所有高楼,找到楼高最大的答案 #include<cstdio> #include<c 阅读全文
posted @ 2020-10-15 00:25 Tartarus_li 阅读(92) 评论(0) 推荐(0) 编辑