摘要:
H 贡献法 考虑计算01串中每一位对答案的贡献并求和: 由于每个连续段的贡献只有1,故可设定一个连续段的贡献是由这个连续段的第一个数字造成的。那么计算某一位的贡献,就只需要让这个数字成为某个连续段的开头即可。 具体地,假设计算第 位且 。要计算这一位对答案的贡献,则要让这一 阅读全文
摘要:
一般这种题都涉及到概率。对于这种类型题目,直接用递归式表示状态来进行状态间的转移,并在计算过程中记忆化即可。若在转移式两侧出现了相同的状态,直接移项即可。 牛客周赛80 G ABC 350 E 阅读全文
摘要:
题目链接:problem 大致意思就是给定一个0~9字符串,计算所有结尾非0,且能被结尾数字整除的子串个数。 很容易想到能dp,但是如何推导是一个难点。具体需要利用到模运算式子来推导。 直接参照灵神题解:editoral 注意单独一个非0数字也合法,在每一个位置的转移前要赋上初值。 阅读全文
摘要:
多项式乘法可以用 逐项得到,但不高效。而FFT可以用 快速计算 利用FFT来解决算法题的例子: ABC392 G 要找给定数组中满足 的升序三元组 的数量,可以通过构造多项式的方式巧妙计算: 设\(a=[1,2 阅读全文
摘要:
问题:给定 ,对于每个 ,求出从 左侧开始数 第一个和第二个 元素值 的位置 只求第一个,可以用单调栈来做。但要得到第 个,应该怎么做呢? 将数组按顺序构建双向链表 先将原数组按值排序,排序时要记录每个元素原来的 阅读全文