提出 #14702134
ソースコード 拡げる
class ST
def initialize a
@l = (1<<(a.size-1).bit_length)-1
@h = [nil]*@l + a
(@l-1).downto(0){|i|
j = 2*i+1
@h[i] = fn(@h[j],@h[j+1])
}
end
def [] l,r=l
return q(l,r,0,0,@l)
end
def []= i,x
i += @l
@h[i] = x
while 0<i
i = (i-1)/2
j = 2*i+1
@h[i] = fn(@h[j],@h[j+1])
end
end
private
def fn a,b
return a ? (b ? a|b : a) : b
end
def q l,r,i,il,ir
return if ir<l || r<il
return @h[i] if l<=il && ir<=r
return fn(
q(l,r,2*i+1,il,il+(ir-il)/2),
q(l,r,2*i+2,il+(ir-il+1)/2,ir)
)
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
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Simple String Queries |
| ユーザ | ds14050 |
| 言語 | Ruby (2.7.1) |
| 得点 | 500 |
| コード長 | 835 Byte |
| 結果 | AC |
| 実行時間 | 449 ms |
| メモリ | 39004 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-00 | AC | 61 ms | 14204 KiB |
| 01-handmade-00 | AC | 339 ms | 39004 KiB |
| 01-handmade-01 | AC | 65 ms | 14220 KiB |
| 01-handmade-02 | AC | 231 ms | 38648 KiB |
| 01-handmade-03 | AC | 416 ms | 38576 KiB |
| 01-handmade-04 | AC | 446 ms | 38376 KiB |
| 01-handmade-05 | AC | 322 ms | 38852 KiB |
| 01-handmade-06 | AC | 332 ms | 38856 KiB |
| 01-handmade-07 | AC | 327 ms | 38864 KiB |
| 01-handmade-08 | AC | 439 ms | 38700 KiB |
| 01-handmade-09 | AC | 435 ms | 38552 KiB |
| 01-handmade-10 | AC | 449 ms | 38740 KiB |
| 01-handmade-11 | AC | 442 ms | 38880 KiB |
| 02-small-00 | AC | 115 ms | 14060 KiB |
| 02-small-01 | AC | 139 ms | 14164 KiB |
| 02-small-02 | AC | 130 ms | 14216 KiB |
| 02-small-03 | AC | 156 ms | 14128 KiB |
| 02-small-04 | AC | 120 ms | 14180 KiB |
| 02-small-05 | AC | 116 ms | 13940 KiB |
| 02-small-06 | AC | 153 ms | 14200 KiB |
| 02-small-07 | AC | 122 ms | 14076 KiB |
| 02-small-08 | AC | 121 ms | 14236 KiB |
| 02-small-09 | AC | 122 ms | 14212 KiB |
| 02-small-10 | AC | 152 ms | 14168 KiB |
| 02-small-11 | AC | 121 ms | 14200 KiB |
| 02-small-12 | AC | 115 ms | 13964 KiB |
| 02-small-13 | AC | 149 ms | 14244 KiB |
| 02-small-14 | AC | 138 ms | 13964 KiB |
| 02-small-15 | AC | 138 ms | 14076 KiB |
| 02-small-16 | AC | 137 ms | 14232 KiB |
| 02-small-17 | AC | 117 ms | 14080 KiB |
| 02-small-18 | AC | 132 ms | 14252 KiB |
| 02-small-19 | AC | 132 ms | 14208 KiB |
| 03-large-00 | AC | 322 ms | 38680 KiB |
| 03-large-01 | AC | 332 ms | 38484 KiB |
| 03-large-02 | AC | 326 ms | 38448 KiB |
| 03-large-03 | AC | 329 ms | 38600 KiB |
| 03-large-04 | AC | 329 ms | 38852 KiB |
| 03-large-05 | AC | 328 ms | 38640 KiB |
| 03-large-06 | AC | 326 ms | 38476 KiB |
| 03-large-07 | AC | 337 ms | 38424 KiB |
| 03-large-08 | AC | 330 ms | 38788 KiB |
| 03-large-09 | AC | 328 ms | 38812 KiB |