题解:SP30738 ADACOINS - Ada and Coins
摘要: 解题思路 bitset 裸题。 利用 bitset 优化零一背包。 遍历数组,每次左移一下再或一下即可。 最后利用前缀和输出答案即可。 注意:题目的数据最大可以凑到 \(10^9\) 的价值,但是查询最多到 \(10^5\),所以没必要存那么多。 核心代码 b[0] = 1; for (int i
4
0
0
题解:SP4226 MSE06H - Japan
摘要: 解题思路 先可以看一个特例。 如图: 得出结论两条路相交的条件为 \(x_i<x_j\) 且 \(y_j < y_i\)。 发现如果按第一个数排序,只有第二个数成逆序对的两条路才会相交,所以直接按第一个数排序后求逆序对数量即可。 代码 #include <bits/stdc++.h> #define
3
0
0
分块
摘要: 分块 简单理解一下,分块就是优雅的暴力。 分块的分类 静态分块(只做查询,预处理): 静态分块指的是放一些关键点,预处理关键点到关键点的信息,来加速查询的,不能支持修改。 目前认为,如果可以离线,静态分块是莫队算法的子集。 动态分块(支持修改和查询): 动态分块指的是把序列分为一些块,每块维护一些信
7
0
0
题解:P7082 [NWRRC2013] Dwarf Tower
摘要: 涉及知识点:动态规划。 解题思路 设 \(dp_i\) 为得到 \(i\) 最小的花费。 可以得到转移方程:\(dp_{a_i} = \min(dp_{x_i} + dp_{y_i}, dp_{a_i})\)。 很明显最多迭代 \(n\) 次,还需要再外面套一个循化即可。 但是有些 OJ 没有洛谷跑
7
2
1
CSP2024 游寄
摘要: 洛谷专栏 day -X 因为抵得要看,所以一些奇怪的东西被删除了。 day -N 开始复习。 day -2 lyj 讲了圆方树,不知道会不会考…… day -1 刷模板题。 day 0 继续刷…… 晚上学习可持久化线段树,脑子废了。 听说赛前内卷会减 \(RP\)。 day 1 AM. T1 用一个
121
3
1
AT_abc195_e 题解
摘要: 思路 这道题需要倒序计算。 定义 \(dp_{i,j}=f\) 表示第 \(i\) 轮结束后余数为 \(j\) ,\(f=1\) 时, Takahashi 必胜,否则 Aoki 必胜。 动态转移方程式 令: \(x=dp_{i,(j \times 10 + a_i)\bmod 7}\) \(y=dp
10
0
1
题解:AT_abc369_e [ABC369E] Sightseeing Tour
摘要: 解题思路 纯粹的暴力题,赛时脑子抽了没写出来。 我们发现 \(n\) 和 \(K_i\) 的范围都很小,所以考虑暴力模拟。 先用 Floyd 算法求出任意两点之间的最短距离,\(i\) 与 \(j\) 的最短距离存放在 \(a_{i, j}\) 里。 接下来,再枚举每一座桥的方向,里面再枚举经过每一
3
0
0
题解:AT_abc369_c [ABC369C] Count Arithmetic Subarrays
摘要: 解题思路 由题可知,题目中的算数级数就是我们熟悉的等差数列。 对于 \(i\) 开始的一个最长的等差数列,它可以构成的等差数列的个数是 \(\frac{t \times (t + 1)}{2}\)(\(t\) 为当前等差数列的长度)。 我们又发现这个等差数列的最后一个数可能是下一个等差数列的第一个数
22
0
0
题解:AT_abc209_e [ABC209E] Shiritori
摘要: 解题思路 考虑利用拓扑序逆推答案。 对于每一个单词,显然,只用考虑它的前 \(3\) 个字母和后 \(3\) 个字母。可以对每一种组合都编一个编号。 设当前字母组合为 \(s\),那么编号为 \(mp_s\)。 建立一张图,从每个单词的后 \(3\) 个字母组成的字符串向前 \(3\) 个字母组成的
4
0
0
题解:AT_abc210_d [ABC210D] National Railway
摘要: 涉及知识点:动态规划 解题思路 因为 \(W\) 和 \(H\) 的范围都很大,直接枚举两个车站的位置肯定会时间超限的,所以考虑动态规划。 定义 \(dp_{i, j}\) 表示所有横坐标小于等于 \(i\) 且纵坐标小于等于 \(j\) 的点的最小的 \(a_{i', j'} + c\times
7
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起