随笔分类 -  算法竞赛 / 好题记录

摘要:prrblem 有个常规套路:每次选取一个后缀的物品,就可以保证选择的物品数量单调不降。因此将物品价值作后缀和处理,每次选取一个后缀的物品。 要满足“选取时间单调不降”的性质,可以对 t 数组这样处理:将所有时间取后缀最小值,得到一个单调不降的序列。按照这个序列与按照原序列选是等价的。 采用 阅读全文
posted @ 2025-02-23 20:07 jxs123 阅读(4) 评论(0) 推荐(1) 编辑
摘要:H 贡献法 考虑计算01串中每一位对答案的贡献并求和: 由于每个连续段的贡献只有1,故可设定一个连续段的贡献是由这个连续段的第一个数字造成的。那么计算某一位的贡献,就只需要让这个数字成为某个连续段的开头即可。 具体地,假设计算第i位且s[i]=0。要计算这一位对答案的贡献,则要让这一 阅读全文
posted @ 2025-02-12 15:59 jxs123 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:problem 大致意思就是给定一个0~9字符串,计算所有结尾非0,且能被结尾数字整除的子串个数。 很容易想到能dp,但是如何推导是一个难点。具体需要利用到模运算式子来推导。 直接参照灵神题解:editoral 注意单独一个非0数字也合法,在每一个位置的转移前要赋上初值。 阅读全文
posted @ 2025-02-09 15:25 jxs123 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接:problem f[i][j]: 将str[i]变为字符j,将str[in]变为合法字符串,需要的最小操作次数。 nxt[i][j]:将str[i]变为字符j的所有方案中,最优方案转移过来的字符。其中: \(nxt[i][j]==j 阅读全文
posted @ 2025-02-04 08:34 jxs123 阅读(3) 评论(0) 推荐(0) 编辑
摘要:最近刚学完主席树,找了道题巩固一下,还是非常有收获的。 题目链接:problem 若只让求f(1),则还是比较简单的——用权值树状数组维护dfs路径上的数,每次查一下在 递归路径中>当前结点值 的结点数量,累加起来即为f(1)。 可是题目要求将\(f(1)到f(n)\ 阅读全文
posted @ 2025-01-16 18:54 jxs123 阅读(2) 评论(0) 推荐(0) 编辑
摘要:一道练习单调栈 + 单调队列的好题 题目链接:problem 对于求合法子数组数量的题目,可以先考虑传统的枚举右端点,二分左端点的套路。此题用这种方法恰好可行,因为对于一个序列,左端增加一个数不会让操作数更少。因此对于固定右端点,合法的左端点一定是一段区间。 所以现在问题转化为:用双指针枚举子区间左 阅读全文
posted @ 2025-01-13 17:11 jxs123 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩