摘要: POJ 3664 排序水题 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <stack> #inclu 阅读全文
posted @ 2024-01-04 16:24 .Ivorelectra 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 开26个multiset,对于aabaaa,遍历,对第0个multiset push 1 2,然后对第一个multiset push 1,然后又对第0个multiset push 1 2,这时第0个multiset size超过3了,删除最小的元素,然后继续push 3,最后取 \(max_{i=1 阅读全文
posted @ 2024-01-03 11:29 .Ivorelectra 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 全排列 模版题 AcWing 842. 排列数字 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <st 阅读全文
posted @ 2023-12-24 06:16 .Ivorelectra 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 被前面类似的题禁锢了思路,自己写的双指针,感觉题解很巧妙,记录一下。这个解法不用记录cnt。 通用解法 为了让解法更具有一般性,我们将原问题的「保留 2 位」修改为「保留 k 位」。 对于此类问题,我们应该进行如下考虑: 由于是保留 k 个相同数字,对于前 k 个数字,我们可以直接保留 对于后面的任 阅读全文
posted @ 2023-12-06 05:12 .Ivorelectra 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 12月4号完成 阅读全文
posted @ 2023-12-06 03:44 .Ivorelectra 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个序列。一个pair,不同时被序列中的某个数整除。求有多少个这样的pair。 题解:也就是他们的gcd并不是某一个数的倍数。只需要做一个gcd卷积。。?后缀和 gcd卷积 #include <cstdio> #include <vector> #include <queue> #inclu 阅读全文
posted @ 2023-12-03 20:44 .Ivorelectra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: jly:开始的想法:首先枚举max的位置。包含它的一定是全加,剩下的一定都不加。然后求所有位置的最小值。 初始全0,枚举max之后,因为是加区间,min一定在两端(最左或最右)。所以不需要枚举max,我们枚举min就好(因为加区间和初始全0,这个题的特殊性)。min只能在两端。 令 x 为最佳答案中 阅读全文
posted @ 2023-12-03 17:40 .Ivorelectra 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 自己写的两个都T了。。没找出问题 思路就是对于i,右面i位中1的pos和为sum1,个数为cnt,那么维护剩余位中最近的cnt个0的pos和为sum0,答案就是sum1-sum0。 jly:被 \(2^i\) 整除即最后 \(i\) 位必须是0。一定是把最右边的1往左移,维护一个区间[l,r)它变成 阅读全文
posted @ 2023-12-03 02:06 .Ivorelectra 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题解 阅读全文
posted @ 2023-10-18 21:05 .Ivorelectra 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题解 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <stack> #include <bitset> 阅读全文
posted @ 2023-10-17 20:22 .Ivorelectra 阅读(15) 评论(0) 推荐(0) 编辑