- 博客(7)
- 收藏
- 关注
原创 至多删三个字符(DP)
很显然 只有当当前字符与前一个同样字符的距离小于等于要删除的字符时 才会出现重复计算。namo 当发生重复时 i 和 lst[s[i]] 之间一定删除了。很显然这部分是重复计算了两遍 所以减掉一次即可。比如aca 当删除两个时 都能得到 a。那么lst[s[i]]前面的就删除了。思路就是首先重复计算是什么情况。
2024-04-19 10:51:12 383
原创 CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!) D. Ones and Twos
因此,我们可以记录序列中所有1的下标,并每次贪心地选取第一个1和最后一个1,并计算与其相连的序列最大和,在这里可以用树状数组或线段树维护,注意还有一种情况就是 比如第一个1与后面所有的数的和小于s,但在这个1前面还有若干个2,因此还需考虑前面若干个2的影响。一个序列与1连接后 这个序列可以构造出小于等于这个序列和的任何一个数。既然整个数组只有1和2 那么就往边界方向去想。
2023-12-02 21:09:55 1118
原创 洛谷P3917 异或序列
若当前位为1 贡献为前面没有贡献的区间 + 1(自身)按位考虑 单独算每一位的贡献区间数、若当前位为0 贡献为前面有贡献的区间。
2023-11-29 12:04:12 518 1
原创 AtCoder Beginner Contest 329 F - Colored Ball
合并两个集合时 将小集合往大集合里面合并以此降低时间复杂度。
2023-11-19 00:12:51 101 1
原创 Codeforces Round 667 (Div. 3) E. Two Platforms
从后向前预处理当前点之后(包括自身)的最大save量。枚举每一个点 二分找这个点范围外的最大值 取max。
2023-11-17 16:56:37 44
原创 set重载小于号
set重载小于号 自定义结构体并重载 struct dat{ int a, b; //重载 inline bool operator < (const dat &tmp) const{ return r != tmp.r ? r < tmp.r : id < tmp.id; } }
2023-11-17 16:25:36 37
原创 TOJ4483 Common Digit Pairs(状压)
给定N个互不相同且均不超过1018整数, 输出能组成多少对能有相同数字的整数对。例如,给定三个整数1,11,21,结果为三:, , 。
2023-11-08 08:32:32 68 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人