Submission #10774518
Source Code Expand
def main():
import sys
b=sys.stdin.buffer
input=b.readline
n=int(input())
d=[0]*n+[1<<c-97for c in input()[:n]]
for i in range(n-1,0,-1):d[i]=d[i+i]|d[i-~i]
r=[]
add=r.append
input()
for q,a,b in zip(*[iter(b.read().split())]*3):
i,s=int(a)+n-1,0
if q<b'2':
d[i]=1<<b[0]-97
while i:
i>>=1
d[i]=d[i+i]|d[i-~i]
continue
j=int(b)+n
while i<j:
if i&1:
s|=d[i]
i+=1
if j&1:
j-=1
s|=d[j]
i>>=1
j>>=1
add(bin(s).count('1'))
print(' '.join(map(str,r)))
main()
Submission Info
| Submission Time | |
|---|---|
| Task | E - Simple String Queries |
| User | c_r_5 |
| Language | Python (3.4.3) |
| Score | 500 |
| Code Size | 613 Byte |
| Status | AC |
| Exec Time | 327 ms |
| Memory | 44708 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-00 |
| All | 00-sample-00, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 01-handmade-08, 01-handmade-09, 01-handmade-10, 01-handmade-11, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 02-small-10, 02-small-11, 02-small-12, 02-small-13, 02-small-14, 02-small-15, 02-small-16, 02-small-17, 02-small-18, 02-small-19, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-00 | AC | 17 ms | 3064 KiB |
| 01-handmade-00 | AC | 323 ms | 44708 KiB |
| 01-handmade-01 | AC | 17 ms | 3064 KiB |
| 01-handmade-02 | AC | 289 ms | 37924 KiB |
| 01-handmade-03 | AC | 286 ms | 38880 KiB |
| 01-handmade-04 | AC | 312 ms | 38236 KiB |
| 01-handmade-05 | AC | 251 ms | 19496 KiB |
| 01-handmade-06 | AC | 292 ms | 38984 KiB |
| 01-handmade-07 | AC | 299 ms | 41460 KiB |
| 01-handmade-08 | AC | 311 ms | 19492 KiB |
| 01-handmade-09 | AC | 327 ms | 38208 KiB |
| 01-handmade-10 | AC | 310 ms | 19492 KiB |
| 01-handmade-11 | AC | 309 ms | 19496 KiB |
| 02-small-00 | AC | 46 ms | 4084 KiB |
| 02-small-01 | AC | 59 ms | 4616 KiB |
| 02-small-02 | AC | 50 ms | 4256 KiB |
| 02-small-03 | AC | 61 ms | 4592 KiB |
| 02-small-04 | AC | 44 ms | 4084 KiB |
| 02-small-05 | AC | 42 ms | 3956 KiB |
| 02-small-06 | AC | 64 ms | 4676 KiB |
| 02-small-07 | AC | 46 ms | 4084 KiB |
| 02-small-08 | AC | 44 ms | 3956 KiB |
| 02-small-09 | AC | 48 ms | 4212 KiB |
| 02-small-10 | AC | 60 ms | 4552 KiB |
| 02-small-11 | AC | 45 ms | 4084 KiB |
| 02-small-12 | AC | 46 ms | 4084 KiB |
| 02-small-13 | AC | 54 ms | 3956 KiB |
| 02-small-14 | AC | 49 ms | 4132 KiB |
| 02-small-15 | AC | 52 ms | 4388 KiB |
| 02-small-16 | AC | 50 ms | 4260 KiB |
| 02-small-17 | AC | 45 ms | 4084 KiB |
| 02-small-18 | AC | 54 ms | 4388 KiB |
| 02-small-19 | AC | 49 ms | 4104 KiB |
| 03-large-00 | AC | 300 ms | 38436 KiB |
| 03-large-01 | AC | 295 ms | 38436 KiB |
| 03-large-02 | AC | 296 ms | 38476 KiB |
| 03-large-03 | AC | 290 ms | 38328 KiB |
| 03-large-04 | AC | 293 ms | 38436 KiB |
| 03-large-05 | AC | 292 ms | 38352 KiB |
| 03-large-06 | AC | 292 ms | 38440 KiB |
| 03-large-07 | AC | 291 ms | 38348 KiB |
| 03-large-08 | AC | 293 ms | 38400 KiB |
| 03-large-09 | AC | 293 ms | 38452 KiB |