摘要:
编写折叠代码块: <details> <summary>查看代码</summary> <pre> <code> 这里写需要被折叠的代码 </code> </pre> </details> 阅读全文
摘要:
[USACO23OPEN] Pareidolia S 对于这种题,两种思路,一种是直接 \(dp\),一种是考虑每个 bessie 产生的贡献。 显然直接考虑 bessie 产生的贡献难以解决 bbessie 的情况,所以考虑 \(dp\)。 设 \(f_{i}\) 表示以 \(i\) 开头的字符串 阅读全文
摘要:
F. Make a Palindrome 给定一个由 \(n\) 个整数组成的数组 \(a\) 。 让函数 \(f(b)\) 返回使数组 \(b\) 成为回文所需的最小操作次数。您可以进行的操作有: 选择两个相邻的元素 \(b_i\) 和 \(b_{i+1}\) ,删除它们,并用一个元素 \((b_ 阅读全文
摘要:
给定 \(n\) 个字符串,长度总和不超过 \(m\),试求这 \(n\) 个字符串的最长公共子串长度。 \(1\le n,m\le 10^5\) 对于这种求最长公共子串的问题,我们可以用哈希解决。 不难发现,最长公共子串具有单调性,这提示我们二分答案。 对于二分的长度 \(len\),考虑如何检验 阅读全文
摘要:
题目链接 给出 n 个数,要求从中选出任意个数,使之能划分为和相等的两组,求方案数。 \(1\le n\le 23,1\le x\le 10^8\). 一道非常不错的”折半“搜索。 注意:同样一组选数,划分方法不同不会重复计数。 “划分为和相等的两组” 可以进行一定的转化,比如:对于数列:\(1,2 阅读全文
摘要:
题目链接 先将题目进行抽象(此处省去一定的数学分析),有以下式子: 设 \(S(i)=\sum_{j=1}^{i}j\times a_j\) ,及 \(S2(i)=\sum_{j=1}^{i}a_j\) 那么一段区间 \([l,r]\) 的贡献计算即: \[S(r)-S(l-1)-(l-1)\tim 阅读全文
摘要:
[题目链接](Restorer Distance - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 发现,操作三(移动砖块)也可以转化为先拿一个砖块(操作二),再放一个砖块(操作一),那么当 \(M\le A+R\) 时,当然尽可能使用操作三,但是当 \(M>A+R\) 时,使用操 阅读全文
摘要:
Manacher 算法可在 \(O(n)\) 解决最长回文串的问题。 通过预处理 \(d_i\) 表示以 \(i\) 为中心的回文串向两边延伸的最长长度来解决原问题。 如对于字符串 abcba(下标从\(1\)开始),\(d_3=3\),即 \(cba\)。 P3805【模板】manacher 算法 阅读全文
摘要:
题目链接 \(50 pts\) 对于没有 \(Y\) 砖的情况,可以用分组背包解决,算出每一列打 \(j\) 块砖需要的子弹以及对分数的贡献,按照分组背包即可。 对于包含 \(Y\) 砖的情况,不能直接分组背包解决。这实际上是打的顺序问题,比如: N Y N Y 如果手上有两枚子弹,最优策略是先打掉 阅读全文
摘要:
题目描述 首先将彩蛋按照横坐标从小到大排序,依次标号为 \(1\sim n\)。 显然,\(Sue\)走过一段时间后,走过的点一定属于一段连续区间。所以本题采用区间 \(dp\)。 不妨先做一个简单转化,由于每个彩蛋初始高度确定,若想让总分最高,就要使扣分最少。所以下面的 \(dp\) 从扣分最少入 阅读全文
摘要:
题目链接 设 \(f_{i,t1,t2}\) 表示前 \(i\) 本书,第一层的宽度为 \(t1\),第二层的宽度为 \(t2\),所需要的最小高度。 第三层宽度 \(t3=\sum_{i=1}^{i}t_i-t1-t2\)。 但本题还有一个重要限制:每层的高度取决于该层最高的书,如果直接按照顺序加 阅读全文
摘要:
题目链接 思考方向:构造方法满足 \(A\) 的要求,再满足 \(B\) 的要求。 如果只考虑 \(A\),有一种显然的方案:将 \(A\) 从大到小排序,选出前 \(\left \lfloor \frac{n}{2} \right \rfloor+1\) 大的即可。但这样显然难以扩展,所以需要另寻 阅读全文
摘要:
题目链接 如果没有“配对数字不相同”的限制,将 \(a,b\) 数组排序后一 一配对就能得到最小值。 回到原题,考虑一种极端情况,\(\forall i\in [1,n],a_i=b_i\) 即排序后全等。 若 \(n\) 为偶数,一种显然的构造方法是: 1 2 3 4 5 6 2 1 4 3 6 阅读全文
摘要:
题目链接 方向:由 \(2^{40}=10^{12}\),以及对若干坐标的表示,不难想到从二进制入手。 首先奇偶性不同必然无解。 阅读全文
摘要:
题目链接 两个常规转化: 灯的坐标与区间坐标都很大,不妨将其离散化,转化为 \(1\sim n\) 的点与\(1\sim n\) 的操作区间。 对于一段区间取反,可以理解为对一段区间异或 \(1\),转化为在异或差分数组上操作,即差分数组 \(diff_i=a_i\bigoplus a_{i-1}\ 阅读全文
摘要:
题目链接 下为口胡题解: 入手方向推导: 直接考虑题目所给式子显然困难: \[w(S)=\sum_{i\in S}A_i-\sum_{i\notin S}A_i \]因为两个式子虽然相关但是都在变化,不妨转化为: \[w(S)=2\times \sum_{i\in S}A_i-\sum_{i=1}^ 阅读全文
摘要:
题目链接 题意简述:给定正整数 \(K\),求数位之和最小的 \(K\) 的倍数的数位和。 错误方向:\(K\) 的倍数一定满足 \(K\times S\),根据 \(K\) 的特征构造出合适的 \(S\)。 正确方向 考虑直接构造出 K 的倍数, 由于从 1 开始可以通过 ×10 和 +1 构造出 阅读全文