题目 题意: 求字符串中不含’P’且至少有k个’R’的子串个数。 思路: Binary Search找合法和不合法位置,我写了半小时,各种特判。一看std,自己又写复杂了。可以用双指针O(n)解决战斗。我们可以根据’P’来分割字符串,对于剩余的被分割的字符串,采用双指针统计贡献。枚举右端点,当有k个’R’时,右移左端点到第一个不合法位置,统计贡献。 时间复杂度: O(n) 代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i
关注
打赏