摘要:
题目链接:https://codeforces.com/problemset/problem/1253/C 贪心 按甜度排序,选出前 k 颗糖,先吃甜度大的 维护前缀和,每隔 m 颗糖果添加一次前缀和,维护按天数递增的效果 #include<cstdio> #include<cstring> #in 阅读全文
摘要:
题目链接:https://codeforces.com/problemset/problem/1272/D DP 设 \(dp[i][0/1]\) 表示上升子序列的最后一个位置是 i ,之前是/否删除过的最大长度 当前元素不删,考虑前一个元素删不删, 则状态转移方程为: $$ if(a[i] > a 阅读全文
摘要:
题目链接:https://codeforces.com/problemset/status?my=on 按时间排序,集合取交集 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cma 阅读全文
摘要:
题目链接 : https://codeforces.com/problemset/problem/1307/C 看起来等差数列这个条件非常难做,但仔细分析后发现,任何长度大于 2 的序列,都可以拆分成长度为 1 或 2的序列 于是从前向后扫,考虑每个位置的字母对答案的贡献 对长度为 1 的序列的贡献 阅读全文
摘要:
相较于 easy version ,本题规模扩大到 50w 考虑优化, 对于每个高楼,我们要找的其实是最靠近且比这座楼矮的楼, 中间的楼都建成这座高楼的高度 所以使用单调队列,求出每座高楼的前缀和与后缀和, 再扫一遍所有高楼,找到楼高最大的答案 #include<cstdio> #include<c 阅读全文