Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

QBRACKETS - Truy vấn dãy ngoặc

Cho một xâu độ dài N chỉ gồm các kí tự (), các kí tự được đánh số từ 1 đến N theo chiều từ trái qua phải.

Một dãy ngoặc đúng được định nghĩa như sau:

  • Xâu rỗng là một dãy ngoặc đúng;
  • Nếu A là một dãy ngoặc đúng thì (A) là một dãy ngoặc đúng;
  • Nếu A và B là hai dãy ngoặc đúng thì AB là một dãy ngoặc đúng.

Cho M truy vấn, mỗi truy vấn thuộc một trong hai loại sau:

  • 0 i: thay đổi kí tự dấu ngoặc ở vị trí i của xâu kí tự thành kí tự dấu ngoặc ngược lại;
  • 1 i j: in ra 1 nếu xâu con từ vị trí i đến vị trí j là một dãy ngoặc đúng, in ra 0 trong trường hợp ngược lại.

Dữ liệu vào:

  • Dòng đầu chứa hai số nguyên dương N, M là độ dài dãy ngoặc và số truy vấn;
  • Dòng thứ hai chứa xâu ký tự độ dài N chỉ gồm các ký tự ();
  • M dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong hai loại nêu trên.

Dữ liệu ra:

  • Một chuỗi gồm các ký tự 0 hoặc 1 tương ứng với câu trả lời mỗi truy vấn loại 1 i j.

Ví dụ:

Dữ liệu vào:

8 7
()))(())
1 1 2
1 3 4
0 3
1 1 4
1 5 8
0 6
1 5 8

Dữ liệu ra:

10110

Giới hạn:

  • 1 ≤ N, M ≤ 10⁵; 1 ≤ i ≤ j ≤ N.

Được gửi lên bởi:noname00.pas
Ngày:2017-11-29
Thời gian chạy:0.100s-5s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3
Nguồn bài:Bài tập Ôn HN 01/2017 (Thầy Lê Minh Hoàng)

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.