摘要:
是一道有显然的贪心策略的题,建议难度评为普及-。 简化题意,即为求 \(\max(a_l,a_{l+1},\cdots,a_r)\times\min(a_l,a_{l+1},\cdots,a_r)\)。 不妨从特殊的 $a_i$ 考虑。如果 $a_i$ 就是最大值,那么 $a_{i+1}\g 阅读全文
摘要:
题目传送门。 在确定方向后,这道题也就不再是 NPC 问题了,而是询问从一个起点出发的,具有相同终点的两条路径的最小总长度。由此想到 DP 做法,且与 P1006 有相像之处。 不妨设 \(f[i][j]\) 为一个点走到 \(i\) 位置,一个点走到 $j$ 位置(由于 \(f[i][j]=f[ 阅读全文
摘要:
声明:对于这部分知识我也是从网上学习的,若有雷同绝非有意抄袭。 0x01 简介 珂朵莉树,又名 ODT,出自 CF896C 的正解。主要处理区间修改、查询问题。 是一种基于std::set的 ”指代一种特定的基于数据随机的算法“,它不是数据结构,这点 lxl 先生本人也承认了。 它的适用范围狭小,当 阅读全文
摘要:
题目传送门。 善良的出题人已经在题面中告诉你了: 尚未发现运行速度比平方时间明显更优的解法。 而 \(O(qn^2)\) 过不了,所以题目显然是让你以 \(O(n^2)\) 进行预处理,再进行 \(O(1)\) 查询。 思考在暴力 \(O(n^3)\) 处理时,我们是以三元组 \((i,j,k)\) 阅读全文
摘要:
题目传送门 第一眼看到题面时可能觉得需要用 dijstra 或分层图之类,但注意到数据范围很小(都是 \(\leqslant1000\)),因此考虑好写的 DP。 首先当然需要使用邻接表存图。 不妨设 \(f_{i,j}\) 为第 \(i\) 天在第 \(j\) 个城市所获利润,易得状态转移方程: 阅读全文
摘要:
!a \(\Leftrightarrow\) a==0 , a \(\Leftrightarrow\) a!=0 memset 只能对数组的一维赋值 sort 函数默认升序排列,即 \(x<y\) 把 INF 设到足够大,但也别大到 0x7fffffff 记得时刻取模,有减法时记得先 +mod 再 阅读全文
摘要:
这道题我们或许会首先想到列举出每一种情况,但这样太麻烦。这道题还是有规律可循。 自己列举几种情况后可以发现,无论初始状态是什么样,无论怎么挪动,在不算 \(\mathtt{X}\) 时,顺时针方向上 \(\mathtt{A,B,C}\) 的顺序恒定。 因此使用数组储存初始顺序,再将其与给出的结果顺序 阅读全文
摘要:
By Zhang_RQ 哈希 对于一个长度为 n 的字符串,其哈希值为 \(\sum\limits_{i=1}^ns_i\times base^{n-i}\bmod p\),其中 \(base\) 和 \(p\) 自选 判断两个字符串的一个方法是直接判断哈希值是否相等(虽然说有概率出错)。 可以快速 阅读全文
摘要:
题目传送门 先设 \(x\) 为当前得分,当又得到 \(1\) 分时,有: \[ (x+1)^3=x^3+3x^2+3x+1 \] 由于原先得分为 \(x^3\) ,可知每次 \(+1\) 都会增加 \(3x^2+3x+1\) 分。 在代码实现过程中,用 \(x\) 维护一维 \(x\) ,\(y\ 阅读全文
摘要:
0x01 读题 \(……\) 0x02 分析 仔细看看,发现是一道完全背包变形问题。 我们珂以想:以 \(V\) 为外层循环,枚举每一个总方案的值 先看看规律: 自己可以在画图工具上画画,枚举$4$~$5$种,蒟蒻画的太丑了 0x03 状态转移方程 \(f[j]=f[j-m[i]]\) 0x04 代 阅读全文