UVA - 10324 Zeros and Ones
Posted wzzkaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA - 10324 Zeros and Ones相关的知识,希望对你有一定的参考价值。
Description
Given a string of 0‘s and 1‘s up to 1000000 characters long and indices i and j, you are to answer a question whether all characters between position min(i,j) and position max(i,j) (inclusive) are the same.
Input
There are multiple cases on input. The first line of each case gives a string of 0‘s and 1‘s. The next line contains a positive integer n giving the number of queries for this case. The next n lines contain queries, one per line. Each query is given by two non-negative integers, i and j. For each query, you are to print Yes if all characters in the string between position min(i,j) and position max(i,j) are the same, and No otherwise.
Output
Each case on output should start with a heading as in the sample below. The input ends with an empty string that is a line containing only the new line character, this string should not be processed. The input may also with end of file. So keep check for both.
Sample Input
0000011111 3 0 5 4 2 5 9 01010101010101010101010101111111111111111111111111111111111110000000000000000 5 4 4 25 60 1 3 62 76 24 62 1 1 0 0
Sample Output
Case 1: No Yes Yes Case 2: Yes Yes No Yes No Case 3: Yes
题意:给你一个01串,推断连续的字串[l, r]是否仅仅含同一个种字符
思路:用dp[i]记录到当前位置有多少个连续的同样字符,假设询问的区间的大小<=dp[r],那么代表就是能够的
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int maxn = 1000005; int dp[maxn]; int n, q; char str[maxn]; int main() { int cas = 1; while (scanf("%s", str) != EOF) { int len = strlen(str); dp[0] = 1; for (int i = 1; i < len; i++) if (str[i] == str[i-1]) dp[i] = dp[i-1] + 1; else dp[i] = 1; printf("Case %d:\n", cas++); int l, r; scanf("%d", &q); while (q--) { scanf("%d%d", &l, &r); if (l > r) swap(l, r); if (r - l + 1 <= dp[r]) printf("Yes\n"); else printf("No\n"); } } return 0; }
以上是关于UVA - 10324 Zeros and Ones的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode474 - Ones and Zeros - Medium (Python)
CodeForces - 556A Case of the Zeros and Ones
APP One Link ,android and ios qrcode merge as One QRCode and one short link