【題意】給出一串字元(全是英文小寫),找出含有k個不同字元的子串個數。
【思路】尺取法
ac**:
1 #include2 #include3 typedef longlong
ll;4
const
int n=1e6+9;5
char s[n];//
記錄輸入的陣列
6int
k; 7
int vis[300];//
標記所在區間每個字母出現的個數
8int
main()
9
20int head=0
;21 ll ans=0;//
記錄符合條件的區間的個數
22int cnt=0
;23 memset(vis,0,sizeof
(vis));
24for(int i=0;i)
2531 vis[s[i]]=1
;32 cnt++;
33if(cnt==k)//
次區間出現了k個不同的字母
3445
else
4650}51
}52}53 printf("
%i64d\n
", ans);54}
55return0;
56 }
尺取法求解HDU 5672
問題 給定字串string,求解至少有k種字元的子串數目有多少?解法 前指標j,後指標i,遍歷指標i 當子串的字元種類計數達到k時,可以得到包含該子串的所有子串數 len i,包括它自身 遞增指標j 若當前子串的字元種類計數仍為k,說明當前子串也是符合題意的,求出包含該子串的所有子串數 不包括j前面...
HPU無窮小數
無窮小數 在十進位制下,我們能夠很輕易地判斷乙個小數的位數是有窮的或無窮的,但是把這個小數用二進位制表示出的情況下其有窮性和無窮性就會發生改變,比如 十進位制下的 0.5 在二進位制下的值為 0.1 十進位制下的 0.75 在二進位制下的值為 0.11 十進位制下的 0.6 在二進位制下的值為 0....
HPU個人訓練3
題目大意 kefa住在編號為1的房子裡,現在kefa要去餐廳,餐廳位於樹的葉子節點,現在給乙個m,如果kefa去餐廳的路徑連續遇到貓的個數大於m,該餐廳kefa就不會過去,1位置上有貓。問kefa可以去的餐廳個數。解題思路 用dfs將圖跑一遍即可,過程中標記連續遇到貓的個數,還有乙個點就是需要判斷該...