摘要: 题目链接:https://codeforces.com/contest/1435/problem/D 考虑维护一个栈,对于每一个封闭的栈,出栈的$cost$的顺序必须是递增的,否则必然不满足条件 那么就维护与当前元素$i$形成封闭栈的元素的位置$pos[i]$,$a_i$就是第 \(pos[i]\) 阅读全文
posted @ 2020-10-25 23:55 Tartarus_li 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1436/D 对于每个子树,最好的情况是所有的人都平均分配到每个叶子上, 但有些人是不能往回走的,不过这并不影响答案,因为如果有人过不来,那答案必定比当前节点的 \(sum[u]/lev[u]\) 大 所以 阅读全文
posted @ 2020-10-25 19:08 Tartarus_li 阅读(430) 评论(0) 推荐(2) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1436/C 先在有序序列二分查找 pos ,统计出按二分路径分别需要向左和向右查找的次数 向左查找即该位置的数比 x 大,向右查找即该位置数比 x 小 也就是从比 x 大的数中选出 cntr 个,比 x 阅读全文
posted @ 2020-10-25 17:29 Tartarus_li 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://codeforces.com/problemset/problem/566/F 最大团即找出能相互整除的最长子序列长度 令$dp[i]$表示以 i 结尾的序列能组成的最长子序列长度 采用刷表法,枚举$a[i]$的倍数更新 时间复杂度: #include<cstdio> # 阅读全文
posted @ 2020-10-25 17:23 Tartarus_li 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1433/F 注意dp前初值的处理 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cm 阅读全文
posted @ 2020-10-25 17:18 Tartarus_li 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/676/C 考虑尺取法 枚举 L,对于每个 L,尽可能向右扩展 R,当 R 不能继续向右扩展时,更新答案 更新 L,同时将 k 随 L 的更新还原 **当前的区间为 \([L+1,R]\) ** #incl 阅读全文
posted @ 2020-10-25 17:14 Tartarus_li 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1428/F 令 \(pre[i]\) 表示从 i 位置开始向前最长的 1 的连续序列的长度 令 \(mx[l,r]\) 表示 \([l,r]\) 内最长 1 的连续序列的长度 从前向后扫描,每次扫到一个新 阅读全文
posted @ 2020-10-25 17:05 Tartarus_li 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://codeforces.com/problemset/problem/1428/G1 仔细分析发现,贪心地选取 0,3,6,9 组成的数字一定是最优的, 而且这样的贪心策略,最多会有一个数字,不是全部由 0,3,6,9组成的 考虑按位分组dp,每组都有体积为:3,6,9 * 阅读全文
posted @ 2020-10-25 16:53 Tartarus_li 阅读(188) 评论(0) 推荐(0) 编辑
摘要: ## 阅读全文
posted @ 2020-10-25 00:45 Tartarus_li 阅读(52) 评论(0) 推荐(0) 编辑