上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 80 下一页
摘要: 可以看这篇题解 最开始的条件化简应该挺简单的,需要吸收的就是单独考虑\(a,b\)的极长合法子串(没做出来就是因为一直拘泥于二维的正方形,没有想到这个正方形可以映射到\(x\)轴和\(y\)轴的交线) 以题目给的样例为例,\(a\)的极长合法子串的长度为\(1,3\),\(b\)的为\(2,2\) 阅读全文
posted @ 2024-07-07 21:16 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目看到样例以及\(s=60\)的数据,可能会往将\(k\)拆成二进制的方向去想,然而事实却证明,一点关系也没有 官方题解的数学推导看看乐子就好了,但是对\(p_1\)从大于\(1\)的数开始讨论还是比较重要的,看这个评论 阅读全文
posted @ 2024-07-07 19:59 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目的官方题解写的听清楚的 给的样例二和样例三是提示;然后这种字符串的形式\(AbAbAb..AbA\)记住吧 阅读全文
posted @ 2024-07-07 19:26 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目不用写,因为必须要求用kotlin语言 讲一下我做这道题目的过程 我最开始正着想,如果\(k\)比较大的话,我们就想一次删的数少一点,所以考虑一次操作有哪些数被保留,于是我们发现,原序列的极大值点会被保留,于是一次操作被保留的数最多的情况就是如下的波浪形: 然后我们就发现正着想很难构造了,于 阅读全文
posted @ 2024-07-07 17:58 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 官解的方法二就是这篇博客(注意要先将\(a\)从小到大排序),补充一下,博客中说当\(a_j-j+1<0\)时,我们就找第\(j-a_j\)列的那个房子即可 我在做的时候,也想到了逐个构造的方法,然而我在构造新的一列时,却总是想让这一列的房子与前一列的房子来配对,事实证明,我们构造的时候不要拘泥于数 阅读全文
posted @ 2024-07-07 14:38 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 也不知道怎么想到的,反正放在对角线是没有什么问题的 就往特殊的想吧 当时的心路历程是这样的:肯定要利用\(a_i\)为偶数嘛,于是就想偶数是怎么走出来的,可以知道如果路线走成\(L\)形且\(L\)的两条直线长度相等(或者其旋转)那么就是偶数,于是就可以想到放在对角线上 阅读全文
posted @ 2024-07-07 13:43 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这里主要想一下怎么简化讨论 由于在同一块长方形中,横着走不用花费,于是我们可以统一地将\(S,T\)所表示的正方形,都变成其所在的长方形的左边一个正方形,这样发就好表示了,也就是这篇题解 阅读全文
posted @ 2024-07-07 10:11 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 我只能说,打表也是构造的一种 阅读全文
posted @ 2024-07-06 21:27 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目感觉还可以这么做(没试,有空了试一下) 尝试利用数据结构优化 看转移方程: \[f[i]=min_{sum_i-sum_j≤M}(f[j]+max_{j+1≤k≤i}(A_k)) \]显然当\(i\)加一后,可以利用单调栈去找那些\(j\)的后面一项贡献max要改变,再利用线段树维护即可 阅读全文
posted @ 2024-07-05 12:41 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 可以严格证明一下蓝书上说的“\(l\)~\(r\)的每一堆石子都被合并了” 利用数学归纳法,假设某一时刻的每一堆石子都是由最开始连续的一堆石子合并而成的(比如说现在有三堆石子,分别是由最开始的第一到第三堆,第四到第五堆,第六到第十堆组成),那么接下来的合并操作无论合并哪两堆,最终得到的每一堆石子仍然 阅读全文
posted @ 2024-06-28 20:20 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 80 下一页