最終更新: 2020-10-18T20:31+0900
D 問題をしばらく考えて、
完全に内 = lambda{|n,a| next (1+(n-a).abs).pow(2,M) } はみだし = lambda{|n,a,y| n,a = a,n if n < a y = a-1 if a-1 < y next [完全に内[n+y,a]-完全に内[n,a],0].max }
みたいな関数を書いたりしていたんだけど、ここから詰め切れる見通しが立たなか
方針はすぐに決ま
もちろんグリ
lambda P が4方向の探索を省力化する工夫なんだけど、2回の P の合計が後半の N^2 のル
TLE の山を見てわかる通り、Ruby にと
構造はほとんど同じ。lambda P の代わりの lambda F が4、5倍速いおかげで AC にな
それと、2の冪乗を含む掛け算は展開すると一部がル
最終更新: 2020-10-17T17:20+0900
C 問題が解けなくて大爆死した回の ABC。「時間内に B 問題までしか解けなか
どういうデ
「LOC (last occurrence of colors)」とか「QIR (q in range)」とい
色の列を空間としてではなく時間として処理すること*が振り返
でも TLE。ソ
BIT を持ち出しても TLE とは恐れ入りました。ソ
TLE の山と AC 提出の実行時間を見るに、Ruby にと
配列と BIT に余分な要素を付け加えて単項マイナス演算子と引き算の数を減らしたり、配列の初期値を工夫してルi-=i&-i
を i&=i-1
に代えて演算子を1つ減らしたり、とい
こういう脳筋的努力は考察不足の可能性がちらつくと身が入らないのだけど、その心配はなさそうなので心置きなく。
これが Ruby で一番速い(しかも Ruby で一番早い AC でもある)。速さの秘密はよくわからない。クラスやメソ
3 | b = (0..n).map{|x|x&-x} |
BIT 実装のキ
BIT の初期化が多少複雑になAns[q] = r-l+1-Dup[N-l]
(変数 Dup が BIT) だけど、BIT の初期値の工夫により -l
が消せても +1
も N-l
も残る。そもそも BIT を使用する向きが違
* この「空間」と「時間」はユニバ
<script>$(function(){$('var').each(function(){var html=$(this).html().replaceAll('<sub>','_{').replaceAll('</sub>','}');$(this).html('\\('+html+'\\)');});});</script>
が「replaceAll is not a function.」というエラ
String.prototype.replaceAll = function(s,r){ return this.split(s).join(r); };
とか、グロ最終更新: 2021-01-19T03:44+0900
最近こういう記事を読んだ(20200912p01)。「【Python】平衡二分木が必要な時に代わりに何とかするテク【競プロ】 - Qiita」
その少し前に雰囲気で書こうとしたけど、バランスの取り方に対する理解が雑で完成しなか
Ruby の標準添付ライブラリにある SortedSet は内部構造がハRBTree ライブラリ (https://rubygems.org/gems/rbtree) が利用可能である場合、内部記憶としてハ
」ということが書いてあるけど、RBTree が利用可能だ
性能はま
注意すれば省メモリにはなるかもしれないけど、出し入れのたびに配列の全長のおよそ半分を右へ左へ動かしていたのでは、他に何も期待できない。
注意を要するのは rotate_l/rotate_r の実装。このとき(20200905p01.07)のように、不必要に膨大なメモリ要求が実行速度まで低下させかねない。
すばらしき(20200912p01.03) Array#fill メソ
内部構造は「社長から始めて決ま
その後の検索で「最小共通祖先 [いかたこのたこつぼ]」というペ
ち
苦労の 70 % くらいは sink と push の2メソ
以前にも似たようなことを書いている。「メソ
ソ
つまり、現在の向き(行きか帰りか)と次の添字がわかるならスタ
あ
メモリブロ
持
入れ子にな
最終更新: 2020-10-14T18:33+0900
ACL は ARC と AGC の中間あたりの位置づけだそうな。この A 問題は 300 点問題。1問目のこれしか解けそうにない。
移動可能な範囲が第Ⅰ象限と第Ⅲ象限に限られるが、移動先の点からさらに移動先を選ぶことができる。双方向に移動可能だし、X と Y の比率を変えながらジグザグに Y=-X 方向に移動することもできる。ともあれこの感じ(「友達の友達は友達」)は UnionFind だと思
問題は Union する点の選び方で、見境なく Union したら TLE にな
見境なくとは言
Union した中で一番条件のいいものだけ代表として残すようにしたら AC。
よくわからないが UnionFind ではない。キif x + min_y == N+1:
だと思う。UnionFind で形作られるグル
右上がりの対角線上に並ぶ場合と右下がりの対角線上に並ぶ場合を対極として、その中間の状態がうまく考えられない。
X 座標と Y 座標がともに 1..N の順列だということから導かれる論理的必然性を何か見落としてると思う。
検索してたら答えらしきものが見えち
頂点をソ
ートして x 座標が小さい順に見ます。 頂点 i と頂点 i+1 について、「y1, …, yi が (N,…, N−i+1) の順列」であるときのみ非連結であり、そうでないとき必ず連結になることがわかります(あとで証明かなんかできたらいいな、、)
AtCoder ACL contest 1 A問題 Reachable Towns - Qiita
「わかります
」(わかりません)
maspy さんの提出に沿
しかし、ガイドなしの独力でこの道筋が見つけられるとは思わん。
けんち
「ACL Contest 1 A - Reachable Towns (300 点) - けんち
でも図を見てみたらある意味わかx + y = N+1
という X と Y の関係式を見て幾何学的性質について考えたのだし、であれば、その性質は y = -x + N+1
という直線に関わるものでしかありえない。答えを目の前にしながら「わからんなあ」と悩むふりをしていたのだ
* ~に沿
最終更新: 2020-10-10T17:39+0900
コンテスト時間は D 問題で詰ま
一日経
もうち
移動可能地点ひとつひとつに対してメモしていては TLE になる>提出 #16879797。
S の要素数は N に準ずるが、S を定義する区間の数は幸いにも最大で 10 に制約されている。メモの仕方を工夫して、絶対値ではなく変化量を記録する。どうせ地点を端から端まで処理するつもりなので、変化量をつどつど加算していけば絶対値は得られる。これでル
ここから途中過程で余りをうまく求められなか
D 問題で詰ま
すんなり書き下してデバ
D 問題で詰ま
すんなり書き下してデバ
@chokudai「F問題とても好きな問題なんだけど、デ
Twitterータ構造でいくらでも殴れち ゃうのが残念……O(N)で解いてみてね><
BIT は読み書きともに対数時間なので、さ
N に比例したル
ひと工夫しないと配列への書き込み量が N×N になメインのデ
」
ゴルフをしながら Ruby の中で最速タイムを記録していたのだ
お風呂でなんとなし思い付いた。
メインル
前回の提出では更新軸のメモが更新の対象だ
メインル
更新軸が更新軸である所以はそれが「ブロ
参照軸のメモは「何枚裏返すことができたか」の記録として捉え直すことができるんだろうな、き
更新軸の更新部分に当たる1行を削除してみたが AC のまま。たしかに参照軸のメモだけ更新していれば十分みたいだ。
「ある座標より後ろは何枚裏返せたかの記録がまだない」というのが、参照軸のメモから読み取るべきもうひとつの情報であり、これは変数 ii の意味とほぼ同じ。だから十分。
create table P (N integer primary key); create view NP as with recursive NI(N) as (select * from (values(2) union select N+1 from P order by N+1 desc limit 1) union select NI.N+1 from NI where exists (select * from P where P.N*P.N <= NI.N and NI.N % P.N == 0)) select * from NI order by N desc limit 1;
素数を記録する表 P と、表 P を参照しながら次の素数を返すビinsert into P select * from NP;
効率は知らない。SQL with recursive N(N) as (values(1) union all select N+1 from N) select * from N;
)。でも素数は?周りに迷惑をかけまいというのは、何でも自分で決めたいという一種のエゴ。生きているかぎり人は誰かに頼るほかない。だから、うまく迷惑をかけあう能力を磨くほうが先」 お坊さんの言葉なので、これで気を楽にして生きやすくなる人もいるのだろうな。あるいは戒めとしても。
役人が恐れるのは、人事の影響を受けるのは自分だけではないと思うからです。直属の上司、その上の上司、部下、ひいてはト」 どうして忖度してしまうのか、そんなに我が身がかわいいか、と思ップの事務次官、大臣らの人事にも響く、と感じています。私もふるさと納税の時、総務省のある先輩から『君だけの問題じ ゃ済まなくなるからな』と言われました
女性はもう一つ、被害を訴えにくい理由に「チ」 ここでも。連帯責任は人を縛るのに有効なのだなあ。ームに迷惑がかかること」を挙げる。「みんなソフトボ ールで日本一になりたくて大学に来ていた。だから、自分さえ黙 っていれば、と」