智乃去註冊賬號,他發現**的的密碼必須符合以下幾個條件
現在智乃有乙個長度大小為\(\)的字串\(\),她想知道s串中有多少個子串是乙個符合條件的密碼,請你幫助智乃統計符合條件的密碼數目。
子串是指字串中某一段連續的區間,例如對於字串"abcde"來說,"abc","cde"都是它的子串,而"ace"不是它的子串。
第一行輸入三個正整數\(\),表示s串的長度,合法密碼長度應該在\(\)到\(\)個字元之間。
接下來一行輸入乙個長度為\(\)的字串\(\),字串僅包括①大寫英文本母、②小寫英文本母、③數字、④特殊符號四類字元。
僅一行乙個整數,表示有多少子串是乙個合法的密碼。
輸入
10 6 8
asdfeg111*
輸出3
說明
"eg111","feg111","dfeg111*"
雙指標先構建乙個 \(l\) 長度的滑動視窗,即動態維護考慮每個進入視窗對答案的貢獻,
// problem: 智乃的密碼
// contest: nowcoder
// url:
// memory limit: 524288 mb
// time limit: 2000 ms
// %%%skyqwq
#include #define pb push_back
#define fi first
#define se second
#define mp make_pair
using namespace std;
typedef long long ll;
typedef pairpii;
template bool chkmax(t &x, t y)
template bool chkmin(t &x, t y)
template void inline read(t &x)
while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar();
x *= f;
}const int n=1e5+5;
int n,l,r,left[4][n];
char s[n];
inline int get(char &c)
int main()
; for(int i=1;i<=n;i++)
ll res=0;
for(int r=l,l=1;r<=n;r++)
; sort(a,a+4);
if(a[1]res+=min(a[1],r+1-l)-l+1;
} printf("%lld",res);
return 0;
}
2022牛客寒假演算法基礎集訓營1
賽場上完成度 11 12 rank 33 a和的數根 數根的和,因此每個人的權值等價於權值的數根。設f i j 表示前i個人湊出j的方案數,直接根據意義轉移即可。includeusing namespace std const int mo 998244353 int a 1000010 b 100...
《2022牛客寒假演算法基礎集訓營3》
c 首先我們可以知道重量為1的方案數就是重量為2的物品的數量,因為只有2 2 1可以影響它。那麼如果我們從小到大迭代的話,對於當前位置i,只能賦值2 i才能影響當前位置,那麼如果當前方案數的差為d,那麼就還需要放d個2 i。這裡要注意的是差值可能為負數。includeusing namespace ...
2022牛客寒假演算法基礎集訓營1
揹包 分塊,預處理每個塊以 0 1 2 的分數進入時出來後的分數是多少 看了題解發現可以用分塊思想倍增,複雜度優化成 nlogn 模擬題,就不說了 求 h x frac 考慮 phi x x prod frac 則 h x prod frac 則問題一是 2 3 5 7 問題二是 2,n 中最大的素...