2018CCPC吉林赛区(重现赛)- 1006 The Hermit

it2022-05-05  99

Problem Description

The Hermit stands alone on the top of a mountain with a lantern in his hand. The snow-capped mountain range symbolises the Hermit’s spiritual achievement, growth and accomplishment. He has chosen this path of self-discovery and, as a result, has reached a heighted state of awareness dhh loves to listen to radio. There are N radio stations on a number axis, and the i-th station is located at xi = i . The broadcasting scope of the i -th station is radi , which means stations in the interval [i - radi + 1, i + radi - 1] can receive the signal from the i -th station. For some unknown reason, the left boundary that can receive the i -th station’s signal is non-descending, which meansi i - radi + 1 ≤ i + 1 - radi+1 + 1. Now dhh wants to listen to the radio from station i , and he finds that the station k , satisfying both of the following conditions, can receive perfect signal from the station i :

k < i and station k can receive station i’s signal.There exists another station j (k ≤ j < i ) such that station k and i can both receive the signal from station j and the distance between station k and j is greater than or equal to the distance between station j and i .Now dhh wonders for each station i , how many stations can receive the perfect signal from station i .

Input

The first line of the input contains one integer T ≤ 20, denoting the number of testcases. Then T testcases follow. For each testcase:

The first line contains one positve integer N .The second line contains N positive integers rad1 , rad2 , ... , radN .It’s guaranteed that 1 ≤ N ≤ 106 ,i - radi + 1 ≥ 1 and i + radi - 1 ≤ N

Output

For the k -th testcase, output “Case k : ans ” in one line, where ans represents the xor result of answer for each radio station i . xor is a bitwise operation, which takes two bit patterns of equal length and performs the logical exclusive OR operation on each pair of corresponding bits. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1. In this we perform the comparison of two bits, being 1 if the two bits are different, and 0 if they are the same.

Sample Input

2 7 1 2 3 4 3 2 1 10 1 1 2 3 4 4 3 2 2 1

Sample Output

Case 1: 2

Case 2: 0

Hint

In the first testcase of the example, the number of stations that can receive the perfect signal from each station $i$ is respectively 0, 0, 1, 2, 1, 0, 0 in order, so the answer must be

0 xor 0 xor 1 xor 2 xor 1 xor 0 xor 0 = 2、

【题解】

异或问题

#include<cstdio> #include<algorithm> using namespace std; int main() { int repeat; scanf("%d",&repeat); for(int Case=1;Case<=repeat;Case++) { int n; int ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) { int R,temp; scanf("%d",&R); temp=max(0,min(i-2,R-2)); ans^=temp; } printf("Case %d: %d\n",Case,ans); } return 0; }

 


最新回复(0)