![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
双指针
文章平均质量分 82
用两个有关联的指向指针来优化时间复杂度的神奇算法
盖乌咪·A·埃迪尔
这个作者很懒,什么都没留下…
展开
-
Codeforces-1697 C: awoo‘s Favorite Problem 【构造、双指针】
题目传送门:Codeforces-1697 C 给定两个长度为 nnn 的字符串 sss 和 ttt。每个字符串中包含三种字符:a、b、c。 现在可以做两种操作:将 sss 字符串中的 “ab” 换成 “ba”;将 sss 字符串中的 “bc” 换成 “cb”。问能否经过任意数量的这两种操作,将 sss 转换为 ttt。 首先,两个字符串里的各种字符对应的数量应该是一样的。 之后我们考虑给出的两个移动方式,这个题是将交换移动变成了单向交换,若是 a 与 b 可以互换,b 与 c 可以交换,那么我原创 2022-06-26 21:40:43 · 485 阅读 · 0 评论 -
Codeforces-1690 E: Price Maximization 【排序、双指针】
题目传送门:Codeforces-1690 E 给定一个长度为 nnn 的数组 {ai}\{a_{i}\}{ai}(nnn 是偶数)和一个整数 kkk,可以将里面的数两两打包,例如,打包 ai,aja_i,a_jai,aj 后对应包裹的价值为 ⌊ai+ajk⌋\lfloor \frac{a_i + a_j}{k} \rfloor⌊kai+aj⌋。 求将整个数组里的数两两打包后,能得到的最大价值总和是多少。 为了让价值更大,我们就要减少浪费,即我们要将约数都利用起来。两个数对 kkk 的约原创 2022-06-10 00:31:35 · 261 阅读 · 0 评论 -
Codeforces-1659 D: Reverse Sort Sum 【双指针、排序】
Codeforces-1659 D: Reverse Sort Sum题目链接:Codeforces-1659 D题目题目截图样例描述题目大意 给定一个只包含 nnn 个值为 000 或 111 的数组 AAA。 设函数 f(k,A)f(k, A)f(k,A) 代表将数组 AAA 的前 kkk 个元素进行排序,剩余 n−kn-kn−k 个元素位置不变的操作。设 B1,B2,⋯BnB_1,B_2,\cdots B_nB1,B2,⋯Bn 代表 f(1,A),f(2,A),⋯ ,f(n原创 2022-04-30 03:12:56 · 176 阅读 · 0 评论 -
Codeforces-1672 D: Cyclic Rotation
Codeforces-1672 D: Cyclic Rotation题目链接:Codeforces-1672 D题目题目截图样例描述题目大意 给定一个数组长度 nnn,并给定数组 aaa。 可以对 aaa 数组实行一个操作,选择两个下标 l,r for 1≤l≤r≤n and al=arl, r \; \text{for}\; 1 \le l \le r \le n \; and \; a_l=a_rl,rfor1≤l≤r≤nandal=ar,将 ala_lal 放到原创 2022-04-25 00:59:48 · 840 阅读 · 0 评论