2022年11月7日
摘要: 看到序列操作,又是区间加,想到线段树。 但是维护斐波那契数列的和无法打标记,但发现对于一个区间,加上一个斐波那契数列后仍然满足递推公式 \(f_i=f_{i-2}+f_{i-1}\),只是递推起点 \(f_1,f_2\) 变了,这启发我们将这个数列里的数都和 \(f_1,f_2\) 取得联系,这样每 阅读全文
posted @ 2022-11-07 12:05 cool_tyl 阅读(14) 评论(0) 推荐(0)
摘要: 容易想到维护 \(c_i=a_i-b_i\),最后只用看 \(c\) 是否全是 \(0\)。 看到区间加后想到维护 \(c\) 的差分,而且 \(c\) 全为 \(0\) 等价于差分全为 \(0\),但普通的差分可行是因为增量满足递推式 \(a_i=a_{i-1}\),这样前减后就刚好抵消,但现在增 阅读全文
posted @ 2022-11-07 10:52 cool_tyl 阅读(14) 评论(0) 推荐(0)
摘要: 考虑把不存在负环转换为存在差分约束。 由于 \(i \rightarrow i+1\) 的 \(0\) 边不能删,因此有 \(x_i\geq x_{i+1}\),然后是经典操作,把大小限制转为差分,令 \(q_i=x_{i}-x_{i+1}\),那么这个限制就是 \(q_i\geq 0\)。 考虑保 阅读全文
posted @ 2022-11-07 09:55 cool_tyl 阅读(20) 评论(0) 推荐(0)
  2022年11月6日
摘要: 涉及位运算,考虑拆位。 即统计每一位的贡献。 假设现在统计第 \(i\) 位的贡献。 首先枚举 \(b_i\),然后看有多少个 \(a_j\) 和 \(b_i\) 相加后第 \(i\) 位是 \(1\),如果只看第 \(i\) 位,如果和是 \(1\),则不能进位,否则必须进位,若要求进位,则满足 阅读全文
posted @ 2022-11-06 23:42 cool_tyl 阅读(36) 评论(0) 推荐(0)
摘要: 考虑暴力 \(dp\),把这条链上的点抽出来,并设 \(a_i\) 等信息都是从 \(i\) 向 \(i+1\) 的信息。 设 \(dp_{i,0/1}\) 表示在 \(i\) 这个点无/有船的最小时间。考虑从 \(i\) 递推到 \(i+1\)。 如果顺流: \(dp_{i+1,0}=\min(d 阅读全文
posted @ 2022-11-06 22:33 cool_tyl 阅读(29) 评论(0) 推荐(0)
摘要: 为了方便,如果 \(a_i=-1\),则将其赋值为 \(n+1\)。 不难从小的位置连向大的位置建图,对于 \(i\),如果 \(a_i\neq n+1\),则 \(i\) 向 \(a_i\) 连边,然后遍历 \(j\in[1,a_i)\),如果 \(j\) 未被标记,则 \(j\) 向 \(i\) 阅读全文
posted @ 2022-11-06 21:16 cool_tyl 阅读(5) 评论(0) 推荐(0)
摘要: 看到 \(m\) 很小,可以想到状压或容斥。 状压比较困难,考虑容斥。 枚举没有被照亮的点的集合,记为 \(S\),\(f(S)\) 为其方案数。 \[ans=\sum_{S}(-1)^{|S|}f(S) \]考虑计算 \(f(S)\)。发现 \(S\) 里的点会把原区间划分为 \(|S|+1\) 阅读全文
posted @ 2022-11-06 17:19 cool_tyl 阅读(22) 评论(0) 推荐(0)
摘要: 将要计数的图称为第一种图,关键树成为第二种图。 考虑从小到大考虑每个边权。 对于每个边权,当它连接到第一种图时,有两种选择。 什么也不做。 将这条边加入第二种图。 对于第一种边,它不能将两个双连通分量连接成一个双连通分量,因为这样分别在两个连通分量里的点的答案将会是这条边权(此时所有的环都有这条边, 阅读全文
posted @ 2022-11-06 17:18 cool_tyl 阅读(13) 评论(0) 推荐(0)
摘要: 做法来自官方题解。 首先,假设 \(b\) 是固定的,计算不同 \(a\) 的数量。 可以发现如下性质: 如果 \(b_i\neq i\),说明 \(i\) 被 \(b_i\) 占领,一定有 \(a_{b_i}=i\)。 如果 \(b_i=i\),意味着对于所有 \(a_j=i\),\(j\) 攻击 阅读全文
posted @ 2022-11-06 17:06 cool_tyl 阅读(23) 评论(0) 推荐(0)
摘要: 对于极差,一般思路是固定最小值,然后去找最大值的最小值。 有一个比较显然的性质:相同的数可以执行相同的操作,这样可以看作各个数互不相同。 考虑动态规划:\(f[i][j]\) 表示只考虑 \(j\) 这个数,把它分解成若干个大于等于 \(i\) 的因数,其最大值的最小值是多少。 \[\left\{ 阅读全文
posted @ 2022-11-06 17:05 cool_tyl 阅读(10) 评论(0) 推荐(0)