Submission #14702882
Source Code Expand
Copy
class STdef initialize a@l = (1<<(a.size-1).bit_length)-1@h = [nil]*@l + a@h << a[-1] if a.size&1==1(@l-1).downto(0){|i|j = 2*i+1next unless @h[j]@h[i] = @h[j]|(@h[j+1]||0)}enddef [] l,r=lx,l,r = 0,l+@l,r+@lx,l,r = x|@h[l]|@h[r],l/2,r/2-1 while l<=rreturn xenddef []= i,xi += @l@h[i] = x
class ST def initialize a @l = (1<<(a.size-1).bit_length)-1 @h = [nil]*@l + a @h << a[-1] if a.size&1==1 (@l-1).downto(0){|i| j = 2*i+1 next unless @h[j] @h[i] = @h[j]|(@h[j+1]||0) } end def [] l,r=l x,l,r = 0,l+@l,r+@l x,l,r = x|@h[l]|@h[r],l/2,r/2-1 while l<=r return x end def []= i,x i += @l @h[i] = x while 0<i i = (i-1)/2 j = 2*i+1 @h[i] = @h[j]|(@h[j+1]||0) end end end gets bs = ST.new [0]+gets.chomp.bytes.map{|c| 1<<(c-?a.ord) } gets.to_i.times{ c,d,e = gets.split case c when ?1 bs[d.to_i] = 1<<e.ord-?a.ord when ?2 p 26.times.inject([0,bs[d.to_i,e.to_i]]){|(n,b),| next n+(b&1),b>>1 }[0] end }
Submission Info
Submission Time | |
---|---|
Task | E - Simple String Queries |
User | ds14050 |
Language | Ruby (2.7.1) |
Score | 500 |
Code Size | 708 Byte |
Status | AC |
Exec Time | 333 ms |
Memory | 38948 KB |
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 | 65 ms | 14152 KB |
01-handmade-00 | AC | 286 ms | 38776 KB |
01-handmade-01 | AC | 60 ms | 13988 KB |
01-handmade-02 | AC | 221 ms | 38852 KB |
01-handmade-03 | AC | 332 ms | 38792 KB |
01-handmade-04 | AC | 325 ms | 38688 KB |
01-handmade-05 | AC | 272 ms | 38604 KB |
01-handmade-06 | AC | 283 ms | 38812 KB |
01-handmade-07 | AC | 274 ms | 38636 KB |
01-handmade-08 | AC | 331 ms | 38404 KB |
01-handmade-09 | AC | 328 ms | 38612 KB |
01-handmade-10 | AC | 327 ms | 38728 KB |
01-handmade-11 | AC | 333 ms | 38760 KB |
02-small-00 | AC | 112 ms | 14140 KB |
02-small-01 | AC | 123 ms | 14180 KB |
02-small-02 | AC | 110 ms | 14028 KB |
02-small-03 | AC | 132 ms | 14168 KB |
02-small-04 | AC | 110 ms | 14028 KB |
02-small-05 | AC | 111 ms | 14216 KB |
02-small-06 | AC | 138 ms | 14064 KB |
02-small-07 | AC | 115 ms | 14156 KB |
02-small-08 | AC | 112 ms | 14144 KB |
02-small-09 | AC | 107 ms | 14108 KB |
02-small-10 | AC | 141 ms | 14148 KB |
02-small-11 | AC | 109 ms | 14096 KB |
02-small-12 | AC | 110 ms | 14064 KB |
02-small-13 | AC | 144 ms | 14076 KB |
02-small-14 | AC | 125 ms | 14160 KB |
02-small-15 | AC | 127 ms | 14064 KB |
02-small-16 | AC | 120 ms | 14164 KB |
02-small-17 | AC | 108 ms | 14072 KB |
02-small-18 | AC | 126 ms | 14192 KB |
02-small-19 | AC | 130 ms | 14180 KB |
03-large-00 | AC | 274 ms | 38460 KB |
03-large-01 | AC | 279 ms | 38772 KB |
03-large-02 | AC | 284 ms | 38516 KB |
03-large-03 | AC | 274 ms | 38948 KB |
03-large-04 | AC | 278 ms | 38428 KB |
03-large-05 | AC | 274 ms | 38944 KB |
03-large-06 | AC | 274 ms | 38512 KB |
03-large-07 | AC | 280 ms | 38896 KB |
03-large-08 | AC | 278 ms | 38592 KB |
03-large-09 | AC | 271 ms | 38644 KB |