@[toc]
一、复习题
二、第五次测试题E
#复习题
输入2个时刻, 定义一个时间结构体类型(包括时分秒),计算2个时刻之间的时间差。



#第五次测试E
Let's call a binary string �T of length �m indexed from 11 to �m paranoid if we can obtain a string of length 11 by performing the following two kinds of operations �−1m−1 times in any order :
Select any substring of �T that is equal to 01, and then replace it with 1.
Select any substring of �T that is equal to 10, and then replace it with 0.
For example, if �=T= 001, we can select the substring [�2�3][T2T3] and perform the first operation. So we obtain �=T= 01.
You are given a binary string �S of length �n indexed from 11 to �n. Find the number of pairs of integers (�,�)(l,r) 1≤�≤�≤�1≤l≤r≤n such that �[�…�]S[l…r] (the substring of �S from �l to �r) is a paranoid string.
Input
The first line contains an integer �t (1≤�≤10001≤t≤1000) — the number of test cases. The description of test cases follows.
The first line of each test case contains a single integer �n (1≤�≤2⋅1051≤n≤2⋅105) — the size of �S.
The second line of each test case contains a binary string �S of �n characters �1�2…��S1S2…Sn. (��=Si= 0 or ��=Si= 1 for each 1≤�≤�1≤i≤n)
It is guaranteed that the sum of �n over all test cases doesn't exceed 2⋅1052⋅105.
Output
For each test case, output the number of pairs of integers (�,�)(l,r) 1≤�≤�≤�1≤l≤r≤n such that �[�…�]S[l…r] (the substring of �S from �l to �r) is a paranoid string.
Sample 1
Inputcopy | Outputcopy |
5 1 1 2 01 3 100 4 1001 5 11111 | 1 3 4 8 5 |
Note
In the first sample, �S already has length 11 and doesn't need any operations.
In the second sample, all substrings of �S are paranoid. For the entire string, it's enough to perform the first operation.
In the third sample, all substrings of �S are paranoid except [�2�3][S2S3], because we can't perform any operations on it, and [�1�2�3][S1S2S3] (the entire string).
题意:例如10010的所有子字符串有多少个能最后转化成一个字符。
方法:首先你举几个例子就会发现0前面相连的所有1会被转换成0,例如111110=0;相反1前面所有相连的0会被转换成1,比如00001=1;
代码:
