Guild icon
swift-developers-japan
main / atcoder
Avatar
AtCoder Swift対応していたのか
Avatar
火曜日 月曜日の夜に登録してやってみましたがいい感じですよ! (edited)
Avatar
おおー、ずっとleetcodeやっていたのでAtCoderもやってみるか
2:34 AM
あざます!
Avatar
昨晩AtCoderに登録して初めて競プロの問題に挑戦してみたんだけど、最近開催されたらしいAtCoder Regular Contest 104の問題に取り組んでみたら、問題B(↓)で大苦戦して1時間以上かかってしまった・・・。競プロむずい。 https://t.co/ldefCXxFbj
2:35 AM
AtCoder Beginners Selectionという初心者向け問題集があったのでやってみた。とりあえずABCの問題Cまでは解けそう。一問ミスっててWAを連発してしまったけど・・・。今のところSwiftでAtCoderも特に問題なさそう。
Avatar
leetcodeとちがってArgmentを取るところからかかないといけないんですね
3:01 AM
こっちのほうがやりやすい
Avatar
次回 #swiftzoomin の内容決定しました。みんなで AtCoder に登録して、 Swift で AtCoder の過去問に挑戦します! Swift で競技プログラミングに興味がある方は是非ご参加下さい。参加希望者の人数に合わせて枠は調整します。 https://t.co/tCcrS7nZHl
😅 1
Avatar
ただ、 Swift Zoomin' のために AtCoder を始めたというよりも(そうではあるのですが)、前から Swift で競プロに興味があって、それを Swift Zoomin' に持ってきたという感じです🙂
Avatar
前からそんなイメージでしたw Swift で競プロぼくも気になっていてleetcodeはちょくちょくやっていますね
Avatar
僕は leetcode も AtCoder もやったことなくて、今週初めて競プロに手を出しました。
7:59 AM
これはなかなかおもしろいゲームですね。
Avatar
これはなかなかおもしろいゲームですね。
wwwww たしかにこれはゲームっちゃゲームか
Avatar
ゲームにしか見えませんでした😅
Avatar
なんか「競プロ」っていう一種の競技種目のように見てました
8:01 AM
あーでも、競技種目 == ゲームか
Avatar
そうですね。あまり境目がないイメージです。
8:01 AM
遊びで競技をやる人もいるし、本気で勝負する人もいるし。
Avatar
今日は初めて↓のABCのD問題に挑戦してみましたが、結構難しかったです。 https://atcoder.jp/contests/abc138/tasks/abc138_d
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
↓当たり前とはいえ、要素数が限られてるなら Set 使うよりも Array を使った方が速かったです。 Set だと 375 ms 、 Array だと 354 ms 。 Set 版: https://atcoder.jp/contests/hhkb2020/submissions/17324446 Array 版: https://atcoder.jp/contests/hhkb2020/submissions/17324417
Avatar
昨日・今日でコンテスト初参加してみました。今のところ Swift で不利を感じることはなかったです。 ARC 107: https://atcoder.jp/contests/arc107/submissions?f.Task=&f.LanguageName=&f.Status=&f.User=koher ABC 181: https://atcoder.jp/contests/abc181/submissions?f.Task=&f.LanguageName=&f.Status=&f.User=koher
2:11 PM
強いて言えば、 Python みたいにデフォルトで Big Integer が使えると若干楽になりそうなケースがあるくらい?
Avatar
Kishikawa Katsumi 11/1/2020 2:24 PM
Pythonってそうなのかと思って調べたら桁数に制限がないんですね!
2:24 PM
BigInt的なものが必要な問題はどれくらいの桁数が必要なんですか?
Avatar
最終的には 64 bit に収まるように余りを計算させられるんですが、
2:27 PM
その場合、途中の計算をすべて % つけないといけなくて面倒で、
2:27 PM
Python だったら最後に % つけとけば良いみたいな問題がありました。
2:28 PM
ただ、基本的には Python だろうと % つけて都度計算しとかないととんでもない桁数になる問題が多いので
2:28 PM
ほとんどの場合は変わらないと思います。
2:29 PM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
Kishikawa Katsumi 11/1/2020 2:29 PM
なるほど。まあPythonがいろいろ入ってて便利そうというのはわかります。
Avatar
1 ≤ A, B, C ≤ 10^9 で、積の和を計算するので、とてもじゃないけど 64 bit じゃ収まらないです。
2:31 PM
Python で % 前の値を出力させてみたら↓でした。 1858445835049782285757026664950217712384527500000000
2:32 PM
ただ、この程度で収まるのは例外的なので、基本的には Python でも都度 % の計算が必要になります。なので、あまり変わらないかなと。
Avatar
Kishikawa Katsumi 11/1/2020 2:32 PM
Pythonはメモリがあればこの桁数を普通に使えるのか。
Avatar
Swift も標準ライブラリで BigInt が使えれば同じことができるんですが・・・。
2:34 PM
Python は↓を計算させてみると楽しいですよ。 2 ** (2 ** (2 ** (2 ** 2)))
Avatar
Kishikawa Katsumi 11/1/2020 2:39 PM
すごいすごい
2:39 PM
Pythonすごいなあ
Avatar
Swift でも Decimal で同じことできるかと思ったんですが、 pow の第 2 引数に Decimal を渡せないのでダメでした・・・。
Avatar
Kishikawa Katsumi 11/1/2020 2:42 PM
Decimalは意外と桁数制限がすぐに来なかったかな。あれはNSDecimalNumberだけかな?
2:42 PM
Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms. - apple/swift-crypto
Avatar
そうなんですか?使ったことないので知見がないです😅
Avatar
Kishikawa Katsumi 11/1/2020 2:42 PM
なくはないけど思ってたのと違う
Avatar
BigInt ↓これはあるんですが https://github.com/dankogai/swift-pons
Protocol-Oriented Number System in Pure Swift. Contribute to dankogai/swift-pons development by creating an account on GitHub.
2:44 PM
AtCoder ではライブラリを入れられないのでそのままじゃ使えないです😂
2:44 PM
Gives a precision of at least 38 decimal digits, 128 binary positions.
2:45 PM
普通に使うには十分な桁数だけどさっきの用途には足りなさそう。
Avatar
結構少ないんですね。
2:48 PM
コピペ用 BigInt 作るか・・・。
Avatar
Kishikawa Katsumi 11/1/2020 2:49 PM
https://github.com/mkrd/Swift-BigInt ワンソースファイルのBitInt
A lightweight, Multiple Precision Arithmetic Library for Swift! - mkrd/Swift-BigInt
Avatar
長っw
2:50 PM
コード長512KBiまでの制限があるけど、さすがにそれは大丈夫かな・・・。
Avatar
Kishikawa Katsumi 11/1/2020 2:52 PM
Doubleの部分はいらないから1000行は減らせるかな。。。
Avatar
まあでも、 AtCoder に限れば BigInt 必要と感じたことはないんですよね。
2:54 PM
あー、でも微妙にオーバーフローで実行時エラーになることはあるから、そういうのは Python や Ruby だと強そうですね。
2:54 PM
実行時エラーでもたしか 5 分のペナルティを受けるはず?
2:54 PM
あ、ちがった。 -Ounchecked だから実行時エラーにならないのか。
2:55 PM
単に Wrong Answer になるだけですね・・・。
2:56 PM
BigInt よりも ModInt を作りました。こっちで計算しておけば常に % で余りとってくれるので問題ないです。 BigInt では無理な桁数も扱ってくれるし。 https://github.com/koher/swift-atcoder-support/blob/main/Sources/AtCoderSupport/ModInt.swift
Contribute to koher/swift-atcoder-support development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 11/1/2020 2:59 PM
998244353 この値はなんですか?なんか競技プログラミングではよく出てくる値みたいですけど。
Avatar
素数で余りを計算させるのが定番みたいです。
3:14 PM
コピペ前提なので、問題によって modulus を書き換えて使うという荒業ですw
Avatar
Kishikawa Katsumi 11/1/2020 3:14 PM
ということは競技プログラミングでよく使われる値、ということなんですね。
3:14 PM
おもしろい
Avatar
1000000007 とかもよく使われるみたいです。
3:15 PM
まあ、たまたま一致とかがなくて、オーバーフロー気にせずに計算できるならなんでもいいんだと思います。
Avatar
Kishikawa Katsumi 11/1/2020 3:15 PM
そうそう 10の9乗+7というのも見ました。
Avatar
負の数の場合、 Swift の % だと結果が負になってしまうので、そこのケアも ModInt でやってます。
3:16 PM
最初は %+ とか %- とか作ろうかと思ったんですが、型にしました。
3:17 PM
でも型考えるの地味に面倒なので、 %+ とかの方が用途に合ってるかもしれません。
Avatar
Kishikawa Katsumi 11/1/2020 3:19 PM
競技プログラミング、おもしろそうですね。
Avatar
おもしろいですよ。ぜひ @Kishikawa Katsumi さんも!
3:29 PM
登録自体は 2, 3 分で終わりますし、登録が終わった後に初心者が練習で挑戦すべき過去問集↓があって、過去問だけど実際にコードを提出してクリアできるか試せます。テストを通すコードを書いてる感覚。 https://atcoder.jp/contests/abs/tasks
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
3:31 PM
2 秒の制限時間があるので、工夫しないと制限時間オーバー( TLE )になる問題(↓とか)もあって、制限時間クリアできたらうれしいです。 https://atcoder.jp/contests/abc180/tasks/abc180_c
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
3:31 PM
僕もまだ競プロ歴 1 ヶ月未満なので是非一緒に挑戦しましょう〜。
Avatar
今日の ARC は Swift で C 問題まで解けたの二人だけでした😂
2:30 PM
Go は 8 人、 Rust は 42 人。
Avatar
これはCompetitive Programming (1) Advent Calendar 2020の8日目の記事です。 AtCoder Tools for Xcode SwiftでAtCoderを楽しむ方が増えてきたので、k...
Avatar
はやい! ありがとうございます
Avatar
今日21時からBeginner Contestあります。初めてコンテストに参加するにはちょうど良いかと。 https://atcoder.jp/contests/abc185
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
これ見て行けると思って突撃したら見事に動作しないコードを生成してほぼ丸々書き直しました😇 https://twitter.com/koher/status/1352765051568943105?s=21
嘘です。仕様通り動くコードを書くだけでも難しいです。動くコードを書くのは簡単とか言ってる人はぬるいコードしか書いてないのでは?僕はこの前これ https://t.co/0CXJ7J8Ux7 を仕様通り動かすことすらできませんでした。 https://t.co/bm0D2KvlSk
👍 1
Avatar
書き直したってことは通ったってことですか?すごい!
11:35 AM
↑今日の Swift Zoomin' で問題解けて暇な人向けに使う予定だったので、別の問題用意しないと・・・。
Avatar
やばい、直前で予定に影響を与えてしまった😅
😆 1
Avatar
この問題は解を与える式と実装の距離が遠く感じましたね
Avatar
昨日の ABC 190 の E 問題で必要だった巡回セールスマン問題の Swift 実装です。なお、昨日の問題では最後にスタート地点に戻る必要がなかったので 5 行目の右辺を 0 にする必要があります。 https://github.com/koher/swift-atcoder-support/blob/main/Sources/AtCoderSupport/TSP.swift#L5
Avatar
今日は出ようかなと考えています
👍 1
Avatar
今日の22:40からの「Swift競プロ部」では音声チャットチャンネルの kyoprobu を使いますが、テキストチャットが必要な場合(コードやリンクを貼るとか)はこちらのチャンネルを使おうと思います。 https://connpass.com/event/202305/
# Swift競プロ部 Swift で AtCoder Beginner Contest 191 (以下、 ABC 191 )に挑戦し、コンテスト終了後にわいわい語り合います。会場は Discord の swift-developers-japan サーバーの音声チャンネル 🔊kyoprobu です。 ⛔ ABC 191 は個人戦です。コンテスト中に他人とコミュニケーションを取ることはできません。本イベントはコンテスト終了後に開催します。 # Swift と競プロ 競技プログラミングにおける Swift 使用人口は多くありません。だからこそ、 Swift 競プロerで集まってわい...
👍 1
Avatar
待機
Avatar
2問は解きたい・・・・・・
👍 1
Avatar
ぐえー
1:41 PM
3問目悔しい
Avatar
2完でした、くやしい
Avatar
おなじく2完・・!
Avatar
なかーま もう少し時間があれば3完できたかも…(かなり回りくどいやり方ですが)
1:49 PM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
1:49 PM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
1:50 PM
Aは print(D < V * T || V * S < D ? "Yes" : "No") で算出しました
Avatar
kashihararara 2/6/2021 1:52 PM
A はprint(!(v*t...v*s).contains(d) ? "Yes" : "No") にしてみました!
Avatar
かしはらさん 消えている範囲をrangeで示すの、わかりやすいですね…!
👍 1
1:54 PM
! を付けることで消えていないときに "Yes" を出しているのですね
1:55 PM
Bは print(aa.filter { $0 != X } .map { String($0) } .joined(separator: " ")) で算出しました
1:56 PM
mapの中身以外はこひーさんと同じ書き方だ
Avatar
kashihararara 2/6/2021 1:58 PM
自己交叉のない多角形 の意味がわからなくてググりました
Avatar
意味を知らなくてもいいかなぁと思い、わからないまま進めましたw
Avatar
kashihararara 2/6/2021 2:07 PM
tardigrade さんと同じだ 👀
Avatar
hotpepsiさんつよすぎるんですよね…笑
Avatar
kashihararara 2/6/2021 2:10 PM
おおお
2:11 PM
なるほど>辺の数から角の数
Avatar
あそっか 四角形は辺が4つ
2:15 PM
ちなみに他の人の説明を聞いても全然ついていけないw
Avatar
kashihararara 2/6/2021 2:15 PM
テストケースに凹の例ほしかったですね
Avatar
例が1つだけなの厳しい
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
私もそれを読んで「わからなくていいや」となりましたw
Avatar
ですよねw
2:23 PM
どういうことなんだってばよ…
2:24 PM
私も3x3で考えてパターン多すぎて終わりました
2:27 PM
これの意味がわからん
2:33 PM
D以降は考えてすらいないので抜けますm( )m
Avatar
kashihararara 2/6/2021 2:36 PM
# が 1or3 のだと角になる。の説明書いてみました
🙇‍♂️ 1
Avatar
31415939325
Avatar
kashihararara 2/6/2021 2:39 PM
だいたい円周率っぽくなるんですね
Avatar
Avatar
kashihararara
# が 1or3 のだと角になる。の説明書いてみました
おおおおおおお 理解できました、ありがとうございますm( )m
Avatar
自分もそろそろ音声チャット抜けます 🙏 おつかれさまでした!
Avatar
kashihararara 2/6/2021 2:48 PM
私も失礼します!おつかれさまでしたー!
Avatar
E以降は着手できていないのでこの辺りで失礼します 🙏 お疲れ様でした
Avatar
私も失礼します、色々勉強になりました 🙇
Avatar
iPad の Swift Playgrounds でやる場合、User Modules にこういう readLine() を定義しておくとコードの変更なしでテストできるのでそうやってました。 // Paste a sample input here var stdinString: [String] = """ 42782.4720 31949.0192 99999.99 <- ここに標準入力の内容を貼り付ける """.split(separator: "\n").map(String.init).reversed() public func readLine() -> String? { stdinString.popLast() }
Avatar
【非公式】AtCoderがもっと楽しくなるリンク集です。有志による非公式サービス・ツール・ライブラリ・記事などをまとめています。
Avatar
API client to develop tools for competitive programming - online-judge-tools/api-client
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
ありがとうございました〜 😄
Avatar
hとw逆なので30分ぐらいハマってた・・・・・・
Avatar
Avatar
giginet
hとw逆なので30分ぐらいハマってた・・・・・・
あるあるですね😣
Avatar
D問題WAが4個残ってましたが、10^4倍して無事ACなりましたー! 浮動小数点厄介ですね... 満足... 🙂
👍 1
Avatar
AtCoderの何角形問題についてです
Retweets
151
Likes
524
💯 1
👍 1
Avatar
今日も3完でした!Cでつまらないミスをしてしまい、時間がかかってしまいました
👍 1
Avatar
僕はDまではスムーズに行ったんですが、Eが前にやった https://atcoder.jp/contests/abc186/tasks/abc186_e の変化形だなとわかって、前の問題すら理解してなかったので半分途中から諦めてました。 (edited)
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👏 1
Avatar
Swiftで提出されたコードを見てると、意外とみんな 2... でループするってやってないですね。 @swift-5.2.5 let n = 10000000000 var aa: Set<Int> = [] for a in 2... { if a * a > n { break } aa.insert(a) } print(aa.sorted().last!) (edited)
Avatar
100000 (edited)
Avatar
AtCoder を始めて約 4 ヶ月、ついに入茶…! 本当に嬉しい😭 https://t.co/P9LOv8WnG3
👏 4
2:16 PM
今日知ったんですが、毎回, 解説放送が youtube で流れてるんですね パナソニックプログラミングコンテスト(AtCoder Beginner Contest 195) - YouTube https://www.youtube.com/watch?v=k2fzO_U7RnA
2:17 PM
みかんが怖くなりました 🍊
Avatar
知っていましたが、文字の解説だけで満足して1回も見たことなかったですw
Avatar
なるほどw
2:20 PM
今日は文字の解説だけでは理解できなかったので閲覧中〜
Avatar
その場合はよさそうですね、自分は解説読んでわからなかったら諦めていたので、動画も見てみようかな…w
Avatar
(ちなみにB問題がC問題より難しくて解説見てますw)
Avatar
わかりますw Cのほうが簡単でしたw
1:47 AM
そんな競技プログラミングのコンテストに、プログラミングのド素人・橋本ディレクターが挑戦。
さりげなく3完してるのすごいw
Avatar
Avatar
uhooi
わかりますw Cのほうが簡単でしたw
これ、僕も B パスして D までやってから B に戻りました。実際 difficulty も B は 483 で C は 265 になってますね😅 https://kenkoooo.com/atcoder#/list/
👀 1
Avatar
Avatar
koher
これ、僕も B パスして D までやってから B に戻りました。実際 difficulty も B は 483 で C は 265 になってますね😅 https://kenkoooo.com/atcoder#/list/
おおっ こんなサイトが!
Avatar
毎週コンテスト後は、今日の問題の難易度はどれくらいだったんだろうと楽しみに待機してます🙂
👀 1
Avatar
レッドコーダーの方の記事👀 https://engineer-lab.findy-code.io/redcoder
こんにちは、はじめまして。筑波大学附属駒場高等学校 3 年生(今年 4 月から東京大学に入学予定)の米田優峻(@e869120)と申します。私は競技プログラミング(競プロ)が趣味で、AtCoder・情報オリンピック・パソコン甲子園などの大会に出場しています。2021 年 3 月時点で、AtCoder では赤色(レッドコーダー)です。また、国際情報オリンピックの 2018 年/2019 年/2020 年大会で金メダルを獲得しています。*1 とはいえ、決して簡単にこの記録を手に入れられたわけではありません。何度も挫折と失敗を経験しながら自分のスキルを磨いた結果、競プロを始めてから 3 年後にはレッ…
Avatar
今週のabcは日曜開催だった https://atcoder.jp/contests/abc198 (edited)
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
お、ABCないなぁと思ってたら生えたんですね。
Avatar
昨日か今日、生えたみたいですねぇ
Avatar
🔊kyoprobuでやってます。ABC出た方他にもいらっしゃればご自由にどうぞ。 https://twitter.com/koher/status/1390973068940431376 (edited)
@koogawa @the_uhooi 今日のABC出ます?終了後Discordのボイチャで振り返りどうですか?
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
2:25 PM
numbers.filter(\.isEven)
Avatar
@takakengo
Avatar
@swift-5.4.3 extension Int { var isEven: Bool { isMultiple(of: 2) } } print([2, 3, 5].filter(\.isEven))
Avatar
swift54 BOT 5/8/2021 2:26 PM
[2]
Avatar
@swift-5.4.3 let n = 5 var sumToCount: [Int: Int] = [:] for i in 1 ... n { for j in 1 ... n { for k in 1 ... n { let sum = i + j + k sumToCount[sum, default: 0] += 1 } } } for sum in sumToCount.keys.sorted() { print(sum, sumToCount[sum]!) }
Avatar
swift54 BOT 5/8/2021 2:38 PM
3 1 4 3 5 6 6 10 7 15 8 18 9 19 10 18 11 15 12 10 13 6 14 3 15 1
Avatar
let n = readInt1() let aa = readIntN() var aToCount: [Int: Int] = [:] for a in aa { aToCount[a % 200, default: 0] += 1 } var ans = 0 for count in aToCount.values { ans += count * (count - 1) / 2 } print(ans)
2:43 PM
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
2:44 PM
@swift-5.4.3 var a = true a.toggle() print(a)
Avatar
swift54 BOT 5/8/2021 2:44 PM
false
Avatar
“Heart of Swift” は、 Swift の Heart である Value Semantics と Protocol-oriented Programming を軸に、 Swift という言語のコンセプトを説明するオンライン書籍です。
Avatar
聞く専門でしたが、私も失礼いたします。勉強になりました♪
🙂 1
👍 1
Avatar
AtCoderやってるとSwiftの dictionary[key, default: 0] += 1 みたいなのめっちゃよく使うな。 https://t.co/8Ot10eRyDG
2:01 PM
2回に1回は使ってる気がする。
👍 2
Avatar
dictionary[optional: index] みたいなのよく使う
3:31 PM
(実世界で)
Avatar
誰か #毎日アルゴ式 を Swift で解いてくれる人いないかな👀 https://twitter.com/algo_method/status/1427602147525361675?s=19
【#アルゴ式 新企画開始!】 本日から新企画「#毎日アルゴ式」を開始します! 毎日1題、様々な分野のコンテンツの練習問題を基礎から順番に公開する、というものです。 初回のテーマは「動的計画法」です! 動的計画法の導入はこちらから読むことができます→ https://t.co/XNT49VsH2f (続きます)
2:34 PM
ウホーイはとりあえずできるところまでは解いて GitHub に上げていくつもりです💪 https://twitter.com/the_uhooi/status/1427625425010823191?s=19
動的計画法を知らないけど解いてみた N <= 1_000 だからこれで AC 取れる気がする…? https://t.co/7Y9Jgcxkmc #アルゴ式 #毎日アルゴ式
2:35 PM
アルゴ式が Swift に対応していないから、つよい人が解いてその解答と照らし合わせたいw
Avatar
行列の計算に落とせばO(logN)ぐらいで解けるんじゃ無いかな?という気がします
2:58 PM
上の解法はO(N)かな?
3:04 PM
最初普通にループで解いたけど出題者の意図を組んで DP でも解いてみました。
3:06 PM
1個目はほぼウホーイさんと同じになりました。
Avatar
[A0,A1]×[[X,Y],[Z,W]]=[A1,A2]となる行列XYZWを求める。この時、mod100は最終項の下2桁を取れば良いので無視する。A2=A0+A1のとき、行列は[[0,1],[1,1]]なので、答えは([A0,A1]×[[0,1],[1,1]]^N)[0]%100となる。計算量はO(logN) (edited)
👍 1
3:07 PM
ザッと方針書いてみた↑ネタバレなので伏せてます
Avatar
Avatar
tarunon
ザッと方針書いてみた↑ネタバレなので伏せてます
N/2回2x2行列の掛け算を繰り返さないといけないのでO(N)じゃないでしょうか?
Avatar
正確には4logNですがまあ
Avatar
ああそうか
3:16 PM
log N か
3:16 PM
N乗はlogNでできるから
Avatar
X^Y=(X^(Y/2))^2なので
3:17 PM
動的計画法だったんですね、問題を壊してしまいました🤕
Avatar
これ、 O(logN) じゃないと TLE になる問題にしたら結構おもしろそう。普段競プロやってる人でも結構解けない気がする。
Avatar
初見で動的計画法な問題を行列計算に落とし込むのは、割と常套手段な予感もしますが、どうなんでしょうね、私は競プロガチ勢ではないからわからない
Avatar
AtCoder で普段僕が解いてるレベルの問題( 500 点問題くらいまで)では見たことがないです。もっと上位になるとわかりません&去年の11月からのコンテストで僕が出たものに限りますが。 (edited)
Avatar
なるほど、そんな感じなんですね
Avatar
この、行列式の解法もめちゃくちゃテクい方法で更に計算量を圧縮する(4logNの4の部分について)みたいなのもあったと思うんですけど、ちょっと覚えてない
3:29 PM
10×10行列とかだと結構効いてくる
Avatar
AtCoderで行列計算見たことないですねー。結構分野が偏ってるのかな。他に見たことがないのは SortedSet を使う問題。
3:32 PM
逆に、これまで見たことのなかったいくつかのデータ構造( Union Find とか Priority Queue とか)やアルゴリズム(ワーシャルフロイドとかベルマンフォードとか)は結構頻出ですね。
3:32 PM
特に Union Find は初回コンテストから使ったし、これまで何度も使ってる。
3:33 PM
上記がライブラリとしてある前提で、 AtCoder の解答はコードとしてはかなり短めのものが多いです。
3:35 PM
先週末1時間以上考えてわからなかった↓とか、解説見て書いたら実質13行でした。 https://atcoder.jp/contests/abc214/tasks/abc214_d
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
TLEにならないだけで、スコア上位の人は普通に使ってるテクニックだったりする、というのは有り得るかな
Avatar
制約を見て TLE にならない最も簡単な解法を選ぶことが多いですね。 O(log N) の解法が存在しても O(N) で簡単に解けるなら大体はそれを選びます。 (edited)
3:50 PM
逆に O(log N) が想定解なのに Swift が結構速いから O(N) でも通っちゃったみたいなのはあります。昔ウホーイさんがそれで二分探索の問題を線形探索で突破してました。 (edited)
🥺 1
Avatar
ひどいw
Avatar
Avatar
uhooi
誰か #毎日アルゴ式 を Swift で解いてくれる人いないかな👀 https://twitter.com/algo_method/status/1427602147525361675?s=19
私も解いてみました 実行結果を試せないのがもどかしい 😂 https://gist.github.com/koogawa/4a2de9795dc0a045dfe066fd47b867cb
https://algo-method.com/tasks/302. GitHub Gist: instantly share code, notes, and snippets.
👍 1
Avatar
みなさんありがとうございますー! ウホーイはアルゴリズムの知識なしで解いているので、いろいろ勉強になります🙇
Avatar
Avatar
koogawa
私も解いてみました 実行結果を試せないのがもどかしい 😂 https://gist.github.com/koogawa/4a2de9795dc0a045dfe066fd47b867cb
私と同じ解き方ですね! 毎日21:00に次の問題と前の解答が公開されるようですが、今回は「動的計画法(dp)」というアルゴリズムがテーマなので、我々の解答は出題者の意図とは違うようですw ↑でこひーさんがdpの解法をgistに上げてくださっています!(まだちゃんと理解していない)
Avatar
Avatar
uhooi
私と同じ解き方ですね! 毎日21:00に次の問題と前の解答が公開されるようですが、今回は「動的計画法(dp)」というアルゴリズムがテーマなので、我々の解答は出題者の意図とは違うようですw ↑でこひーさんがdpの解法をgistに上げてくださっています!(まだちゃんと理解していない)
なるほどw koher さんの解法、みてみます!
👍 1
koogawa started a thread. 8/18/2021 12:47 AM
Avatar
Avatar
tarunon
[A0,A1]×[[X,Y],[Z,W]]=[A1,A2]となる行列XYZWを求める。この時、mod100は最終項の下2桁を取れば良いので無視する。A2=A0+A1のとき、行列は[[0,1],[1,1]]なので、答えは([A0,A1]×[[0,1],[1,1]]^N)[0]%100となる。計算量はO(logN) (edited)
これ対角化すれば行列の累乗計算いらないですね。 pow((1-sqrt(5))/2, N) が出てきますがこれって計算量どうなるんですっけ
Avatar
おー
Avatar
powはO(logN)ですね
5:02 AM
行列が数値に変わっただけなんだけど
Avatar
なら変わらないですね。
Avatar
sqrt(5)が浮動小数なのがちょっと気になりますね
Avatar
定数のsqrtはコンパイラが計算してくれます
5:20 AM
そういう意味じゃなかった
Avatar
@swift-5.4.3 import Foundation func original(n: Int, x: Int, y: Int) -> Int { var (n, x, y) = (n, x, y) for _ in 2 ..< n { let t = (x + y) % 100 x = y y = t } return y } struct Mat { var m11: Double var m12: Double var m21: Double var m22: Double init(_ m11: Double, _ m12: Double, _ m21: Double, _ m22: Double) { self.m11 = m11 self.m12 = m12 self.m21 = m21 self.m22 = m22 } static func * (lhs: Mat, rhs: Mat) -> Mat { Mat( lhs.m11*rhs.m11 + lhs.m12*rhs.m21, lhs.m11*rhs.m12 + lhs.m12*rhs.m22, lhs.m21*rhs.m11 + lhs.m22*rhs.m21, lhs.m21*rhs.m12 + lhs.m22*rhs.m22 ) } } func mat(n: Int, x: Int, y: Int) -> Double { let S = Mat( -(1+sqrt(5))/2, -(1-sqrt(5))/2, 1, 1 ) let Jn = Mat( pow((1-sqrt(5))/2, Double(n-2)), 0, 0, pow((1+sqrt(5))/2, Double(n-2)) ) let St = Mat( -1 / sqrt(5), (5-sqrt(5)) / 10, 1 / sqrt(5), (5+sqrt(5)) / 10 ) let m = S * Jn * St let num = Double(x) * m.m12 + Double(y) * m.m22 return num - floor(num/100)*100 } print(original(n: 60, x: 2, y: 3), mat(n: 60, x: 2, y: 3)) print(original(n: 80, x: 2, y: 3), mat(n: 80, x: 2, y: 3))
Avatar
81 81.00830078125 91 64.0
Avatar
誤差対策は必要そう
Avatar
すぐ諦めちゃいました!!!
Avatar
解いてみました!動的計画法できてるかな https://gist.github.com/koogawa/79cd302dc86947cbf750d63c52dcb87d
https://algo-method.com/tasks/303. GitHub Gist: instantly share code, notes, and snippets.
👍 1
Avatar
おお、なんかそれっぽいです…
Avatar
昨日の koher さんの解法を真似してみました
Avatar
すごい…
Avatar
ちなみに、これを copy して Xcode にそのまま貼り付けると
1:43 PM
let aa = readLine()!.split(separator:" ").map { Int(String($0))! }
1:43 PM
で配列に分解できない 😂
Avatar
むむっ 最後Stringなくして Int($0)! でもダメですか?
1:46 PM
let aa = readLine()!.split(separator: " ").map { Int($0)! }
1:47 PM
もしくは文字コードの問題?
Avatar
Int($0) でもだめでした!
1:48 PM
aa を出力すると [] になります
1:48 PM
文字コードの問題かもしれないですねー
Avatar
数字かスペースが全角になってるとか?w
Avatar
貼り付けたあと、自分で return しないといけないのも気になる
Avatar
最近覚えたDPテーブルで解いてみました。 https://gist.github.com/koher/00bd76c909ff149d31d631676f1bcc48#file-303-swift (edited)
👀 1
11:40 PM
うまくペーストできないの気になりますよね。 VS Code に貼ってからコピペしなおすとうまくいきました。コンテストじゃないからいいですが、コンテストでこれだと辛いですね。
Avatar
おぉっ たしかにVS Code に貼ってからコピペしなおしたらうまくいきました 👏
Avatar
初めての動的計画法 間違っているかも…? https://t.co/ei6fGDeira #毎日アルゴ式
👀 1
12:12 AM
こひーさんとほぼ同じですね(なお dp テーブルの意味はわからないw) 配列って要素数がわかっているなら、 append() するより init(repeating:count:) で最初に確保するほうがパフォーマンスがいいのでしょうか?
12:13 AM
あと私は dp.last! で強制アンラップしていますが、 dp[N - 1] でインデックスを使えば ! は不要ですね、、
12:18 AM
文字コードの件、報告してみました↓ 動的計画法 1-2 について Xcode(Mac でしか動作しない IDE)のコンソールに入力例をコピペするとエラーになります。VSCode に貼ってからコピペし直すとうまくいくようなので、文字コードなどの問題かもしれません。 また、入力例を貼り付けたあとに自分で Enter キーを押下しないといけないのも地味に手間です。AtCoder では自動で Return まで入力されたので、同じ仕様だと嬉しいです。
👍 1
Avatar
Avatar
uhooi
こひーさんとほぼ同じですね(なお dp テーブルの意味はわからないw) 配列って要素数がわかっているなら、 append() するより init(repeating:count:) で最初に確保するほうがパフォーマンスがいいのでしょうか?
DP テーブルは↓で説明されています。少し前にテーブル作らないと TLE になる問題があって覚えました。なお、僕はこの記事の最初の 2, 3 個くらいまでしか読めてません。 https://qiita.com/drken/items/a5e6fe22863b7992efdb
はじめに --- DP は役に立つ はじめまして。NTTデータ数理システムでアルゴリズムを探求している大槻 (通称、けんちょん) です。 好きなアルゴリズムは最小カットやマッチングですが、会社ではなぜか「DP が好きな人」と呼ば...
👍 1
Avatar
Avatar
uhooi
こひーさんとほぼ同じですね(なお dp テーブルの意味はわからないw) 配列って要素数がわかっているなら、 append() するより init(repeating:count:) で最初に確保するほうがパフォーマンスがいいのでしょうか?
パフォーマンスは若干良くなりますが、結局 O(N) なのでどちらでも良いと思います。ただ、 DP テーブルが 2 次元になるケースなどでは最初から確保しておかないといけないので、 1 次元でも確保しちゃえばいいかなくらいの気持ちでした。最初に確保しようとすると初期値が必要になるのが若干気持ち悪いかもしれませんね。
👍 1
Avatar
Avatar
uhooi
あと私は dp.last! で強制アンラップしていますが、 dp[N - 1] でインデックスを使えば ! は不要ですね、、
! 不要ですが、 Array[i] でアクセスするのは ! 使ってるのと同じ( !nil[i] の範囲外も Logic Failure )なので、どちらが良いかと言われると微妙ですね。
👍 1
Avatar
Arrayは内部的に持てる要素数が決まっていてappendで場所が足りなくなったら場所を確保しなおすようになってます。 この場所を確保しなおすのが重い処理なので単純にappendして行くだけだと遅くなります。 予めArray#reserveCapacity(_:)で場所を確保しておけば問題ないです。
Avatar
Avatar
masakihori
Arrayは内部的に持てる要素数が決まっていてappendで場所が足りなくなったら場所を確保しなおすようになってます。 この場所を確保しなおすのが重い処理なので単純にappendして行くだけだと遅くなります。 予めArray#reserveCapacity(_:)で場所を確保しておけば問題ないです。
append でのバッファの確保は倍々に行われるので、バッファの allocate およびコピーの計算量がその長さに比例するとした場合、最終的に N 要素分の領域を確保するための計算量は reserveCapacity してもしなくても O(N) になります。もちろんそれでも reserveCapacity した方が定数倍速いんですが、競プロの問題は定数倍が原因で TLE になることは稀であり、成績を残すには速く解くことが重要なので、このようなケースでは reserveCapacity はほぼ必要ないと考えています。
Avatar
omochimetaru 8/19/2021 4:32 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
👍 2
1:38 PM
(これ atcoder チャンネルでやっていいのかな…?)
Avatar
競技プログラミング専用のチャンネルを新たに作るか、 もしくはこのチャンネル名を競技プログラミングっぽく変更するか
1:41 PM
とかですかねー
Avatar
atcoderだけで話題占有してるわけではないので後者で良さそう
1:45 PM
名前は変えなくても大きな問題は無いかなと思いますが、気になるなら治して良いと思います
Avatar
私も 今のチャンネル名のままで特に気になりません😀
Avatar
自分も気になりませんが、AtCoderの話がしたい人の邪魔にならないかと思い…
Avatar
AtCoderの話をしたい人が😡を表明しない限り大丈夫です
Avatar
はい! メンツほぼ変わらないので大丈夫そうですねw
👍 2
Avatar
Kishikawa Katsumi 8/19/2021 2:12 PM
意見じゃなくて単なる質問なんですけど競技プログラミングを表す英語ってあるんですか?
2:12 PM
あるかどうかでいうとそりゃあるか。同じくらいシンプルな訳語ってなんでしょう?
Avatar
competitive programingって見たことあるけど直訳かもしんない
2:13 PM
あってそう
Avatar
Kishikawa Katsumi 8/19/2021 2:15 PM
competitive、なるほど。
Avatar
competitiveん?ってなるぐらいなら日本語で競プロとかでもいいですけどね
Avatar
Kishikawa Katsumi 8/19/2021 2:20 PM
あ、日本語でチャンネル名ってことですね。
Avatar
他に日本語のチャンネルがないと気持ち的に作りづらいですよね
2:23 PM
Kyoproとか
Avatar
omochimetaru 8/19/2021 2:23 PM
competitive programmingは普通に言うと思う。この業界で。
2:23 PM
日本語チャンネル、そういえばそんなのもあった。
Avatar
kyoproとかでもいいかも。
2:45 PM
競技プログラミングは、東京大学競技プログラミング同好会2007年春台湾合宿から始まります。それまで、プログラミングコンテストは開催されてきましたが、競技プログラミングの名前が使われたのはこの合宿がはじめてで、このとき一つのジャンルが生み出されたのです。
https://nuc.hatenadiary.org/entry/2021/03/31
はじめに 「【転職エントリ】Googleに入社します|Lillian|note」という、医師から未経験で Google のソフトウェアエンジニアになった記事があります。 note.com 私は、この記事に出てくる「とある元 Google のソフトウェアエンジニア」で、面接の対策を立てました。 記事が出た当初から大反響で、私もそれなりの反応を見まして、いろいろと誤解されているなあ、と思う一方、アドバイザーはあくまでもアドバイザーだから、アドバイザーとして知りえた情報については、口をつぐむべきだと思っていました。 ただ、あまりにも誤解されており、悪影響が大きく、犠牲者も多くなってきたと思ったので、…
👀 1
2:46 PM
これが史実かはわからないけど、あまり英語にする意味のない言葉かも?
2:48 PM
↓ではcompetitive programming使われてた。 https://en.wikipedia.org/wiki/Topcoder (edited)
Topcoder (formerly TopCoder) is a crowdsourcing company with an open global community of designers, developers, data scientists, and competitive programmers. Topcoder pays community members for their work on the projects and sells community services to corporate, mid-size, and small-business clients. Topcoder also organizes the annual Topcoder O...
2:48 PM
いや、competitive programmerか。
2:49 PM
あ、competitive programmingも出てきてるな。
Avatar
名前は僕は atcoder のままでも変更になってもどちらでもいいです。
3:15 PM
DPについて、semisagi先生の教え。 https://twitter.com/semisagi/status/1428373622305873925
動的計画法、探索するパターンが多すぎるときにパターンを減らす手法だと思っていて、具体的には区別しなくてもいいものを同一視するとパターンが減るっていうので大体説明できると思う
👀 1
3:15 PM
階段を登る例だと段数が同じになるような登り方を同一視して、ナップサック問題では同じ重さになる選び方を同一視して、行列積問題ではi番目からj番目までの積を求める方法を同一視している
👀 1
3:20 PM
@koogawa @uhooi
1つのテーマについて、何パターンか解いていくと理解が深まりますねぇ それ思います! かなりいい練習になります…!
僕は未チャレンジですが、似たような感じで↓が評判良かったようなのでいいかもです。これなら AtCoder なので実行して試すこともできますし。 https://atcoder.jp/contests/typical90
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👍 1
3:22 PM
みんなでやる楽しさもあるので、今のが終わったらここで1日目からみんなで始めてもいいかも?
Avatar
Avatar
koher
みんなでやる楽しさもあるので、今のが終わったらここで1日目からみんなで始めてもいいかも?
典型90問、気になりつつもまったく手を付けられていないので、ぜひみんなでやりたいです!!!
Avatar
Avatar
uhooi
典型90問、気になりつつもまったく手を付けられていないので、ぜひみんなでやりたいです!!!
今のが終わったら(いつになるかわかりませんが😅 )参加者を募ってやってみましょー!
👍 1
Avatar
今日から問題と解説が同時に公開されるようですね https://algo-method.com/tasks/305
👍 1
2:14 PM
今日は見様見真似でcppで解いてみました https://algo-method.com/submissions/28697
😳 1
2:15 PM
他の人の回答までリアルタイムで見れちゃうんですね https://algo-method.com/tasks/305/submissions
uhooi started a thread. 8/21/2021 3:33 AM
Avatar
今回は 動的計画法 1-2の応用っぽい 動的計画法 1-5 https://algo-method.com/tasks/306
Avatar
今日の問題 https://algo-method.com/tasks/324 二次元になってきた
Avatar
koogawa さん、気づいたら C++ マスターしてそうw
Avatar
cin >> cout << hoge << endl; みたいな書き方にもだんだん慣れてきましたw
Avatar
これ何してるかよくわかっていませんw
Avatar
Kishikawa Katsumi 8/24/2021 1:33 PM
カスタム演算子ですね。
Avatar
let N = Int(readLine()!)! を cpp で書くと int N; cin >> N;
1:33 PM
みたいな雰囲気かな
1:34 PM
↑のように変換しながら解いてます
Avatar
std::scanf std::printf 派もいるみたいです(こっちのほうが正統?) (edited)
Avatar
Kishikawa Katsumi 8/24/2021 1:34 PM
printとString interpolationをその演算子を定義して割り当ててる、みたいな。
Avatar
なるほど、 cin → c-input, cout → c-output みたいな略かな
Avatar
cout が count みたいでややこしい!
Avatar
思いますw
Avatar
swift の print(hoge)cout << hoge << endl
Avatar
endl はなんやねんw
Avatar
↑これだけ抑えておけば、勢いでなんとかなる!
Avatar
Avatar
uhooi
endl はなんやねんw
末尾改行ですね
👍 1
Avatar
Kishikawa Katsumi 8/24/2021 1:36 PM
character in/outかな。endlessはend lineかな。
👍 1
Avatar
おおーありがとうございます! なんの略かわかると覚えやすいんですよね
Avatar
endl を end にすると改行しないバージョンかなーと予想して実行してみたんですが、 エラーになりました 😰
Avatar
Kishikawa Katsumi 8/24/2021 1:37 PM
まあ慣れですけど今どきのセンスではないですね。普及したから許されるやつだと思います。
Avatar
Apple 系のいいところは略語が少ないところです 悪いところは略さないから長くなり過ぎるところです
Avatar
わかります!
1:40 PM
componentsSeparatedByString とか、普通に英文として読める
Avatar
stringByAddingPercentEncodingWithAllowedCharacters: とかも > 長いの
Avatar
長いけど、何をするメソッドなのかわかりやすいですよね😃 (edited)
👍 1
Avatar
Kishikawa Katsumi 8/24/2021 1:51 PM
あ、ちなみにendlが改行なので、改行したくない場合はendlを書かなければいいです。 cout << なにか << なにか で終わる
Avatar
左から処理していく感じですかね? 一番右に endl を書くと末尾改行(Swift の print のデフォルト)になるっぽいですね
Avatar
int main() { cout << "Hello" << "World!"; return 0; }
1:53 PM
HelloWorld!
1:53 PM
おおっ なるほど!
Avatar
わかりやすい!
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
int main() { cout << "Hello" << "World!" << endl << "hahaha"; return 0; }
HelloWorld! hahaha
Avatar
endl を間に挟むこともできる!便利!
Avatar
C++で文字列を出力するには cout(しーあうと) を使います
しーあうと!
Avatar
読めんw cOut みたいに O を大文字にしてほしいw
Avatar
あ、swift-developers-japan なのにc++ の話をしてしまっているw
2:01 PM
スレを作りますか
😆 1
2:01 PM
C++の話題
Avatar
これ、運営者に言えば Swift 足してもらえる可能性ないでしょうか? Docker コンテナで動かしてるとして、 Docker Hub のどのイメージ使って、どんなコマンドでコンパイルして、どうやって実行するかという情報さえあれば結構簡単に追加できると思うんですが・・・。 (edited)
8:02 PM
https://twitter.com/algo_method に言えばいいのかな?
プログラミングや情報科学をコツコツ積み立てて学習できるサービス #アルゴ式 の公式アカウントです。毎日21時に情報科学の教育的な練習問題を公開中です。現在ベータ版です🐢 代表 → @sak_algo コンテンツ → @sak_algo + @drken1215 デザイン → @yukino_works
Tweets
137
Followers
1706
Avatar
Avatar
koher
これ、運営者に言えば Swift 足してもらえる可能性ないでしょうか? Docker コンテナで動かしてるとして、 Docker Hub のどのイメージ使って、どんなコマンドでコンパイルして、どうやって実行するかという情報さえあれば結構簡単に追加できると思うんですが・・・。 (edited)
私は前にお問合せフォームからSwiftの追加を依頼しました! あとkoogawaさん宛に↓のリプも来ています https://twitter.com/algo_method/status/1428369065316216839?s=19 とはいえたくさんの人から要望すると追加されやすくなりそうなので、ありですね…!笑
@koogawa 本当ですね💦 のちほどコメントにて訂正させてください。ご指摘ありがとうございます! (Swift の追加は現在開発班で検討中のため、もうしばらくお待ちいただけると幸いです。いつも問題を解いてくださりありがとうございます🐢)
Avatar
Avatar
uhooi
私は前にお問合せフォームからSwiftの追加を依頼しました! あとkoogawaさん宛に↓のリプも来ています https://twitter.com/algo_method/status/1428369065316216839?s=19 とはいえたくさんの人から要望すると追加されやすくなりそうなので、ありですね…!笑
そうだったんですね!僕もリプしておきました。
🙏 3
Avatar
アルゴ式、swiftサポートしてくれたらしい。 https://t.co/EXRopvjtWh
🎉 5
Avatar
直近のコード全部提出してみたら、全部1ケースだけコンパイルエラーで泣いてます 😭
Avatar
me too ですw なんかおかしい気がしますね
10:04 AM
@the_uhooi え、これ確認します
👍 2
Avatar
提出結果をみたところ、動的計画法1-2などでREになっているものは、Nに対してのRangeの範囲が原因のような気がしますね。
5:44 PM
Fatal error: Range requires lowerBound <= upperBound
5:44 PM
CEのほうはちょっとわかりませんが…。
Avatar
Avatar
strmikan
提出結果をみたところ、動的計画法1-2などでREになっているものは、Nに対してのRangeの範囲が原因のような気がしますね。
これは思いました、後ほど修正します、、
Avatar
もしかしてCE問題でSwift一旦取り下げられてしまった?
Avatar
Avatar
koher
もしかしてCE問題でSwift一旦取り下げられてしまった?
そのようですね、、
😢 1
Avatar
アルゴ式、提出できるようになってます!
👏 4
Avatar
サーバーエラーを叩き出してしまったw
😇 2
4:05 AM
CE の代わりに IE が出るようになっただけで、解決されていないですね、、泣
4:07 AM
実行時間と使用メモリがカンストしてるっぽい おま環ではないよね…?
Avatar
ある意味 TLE や MLE ?
Avatar
動いてるよ?
Avatar
そしたらワイのコードが悪そうですね😢
Avatar
ありそうなのはループの終了条件がおかしくて無限ループ化してる
4:38 AM
ループ内でメモリを確保してる
4:39 AM
メモリのquotaでout
4:39 AM
ですかね
Avatar
業務後にいろいろ見てみます、、
Avatar
@the_uhooi 返信遅くなりました、とりあえずの結論が出たのでのちほどアルゴ式公式からアナウンスします🙇‍♂️
6:17 AM
Swift について公式アナウンスがあるようです
👍 2
Avatar
今 Swift で解いたら全部動きましたー!
👏 5
Avatar
【 #毎日アルゴ式 】 本日 (8/26) の練習問題はこちらです!最適化問題ではない課題に動的計画法でアプローチする問題となっています。是非挑戦してみてください! https://t.co/HODwhncSTt ※ 解説が公開されるまでの解法などの言及は自由に行っていただいて構いません🐢 #アルゴ式
Avatar
コードテンプレートめっちゃ便利
12:26 PM
【機能追加】 問題を解く時にはじめに表示されるテンプレートを編集する「コードテンプレート機能」が追加されました! ユーザーページからオリジナルのコードテンプレートを作成することができます🐢 #アルゴ式
👍 2
Avatar
今週の abc は日曜開催! https://atcoder.jp/contests/abc216
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
2:58 PM
(いつも土曜か日曜で迷う)
Avatar
急いでシャワー浴びて ABC に備える
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
メモ化について最高にわかりやすい記事があったので共有 https://twitter.com/the_uhooi/status/1432724849466781702?s=19
Hirobe さんの記事や登壇のわかりやすさは異常 https://t.co/OoWaVgvMEG 「メモ化」と「動的計画法」って同じ意味なのかな? 再帰関数にしないほうが読みやすくなりそうだけど、それは好みかな?
Avatar
せみさぎさんが競プロ用のスニペットを公開してくださっている https://twitter.com/semisagi/status/1432652106805039107?s=19
スニペットのファイル名を書き換えるプログラムを書き終えたのでgithubに競プロ用のスニペットが置けるようになった。https://t.co/bF9qstfGK2
3:57 PM
考察用のリポジトリまで…! https://twitter.com/semisagi/status/1432733084160385028?s=19 内容は難しくてわからないけど、、笑
競プロの考察中に気づいたことを残すためのリポジトリを作った。https://t.co/VEjFjoKB8e
Avatar
🍷 ABC ヌーヴォー 🍷 ABC212: 非常に高いレベル(橙上位 Diff) ABC213: 50 回に 1 回のレベル(ABC 史上 4 回目の赤 Diff) ABC214: 歴史にないほどのレベル(ABC 史上最高 Diff 更新) ABC215: 過去最高と言われた前回に迫るレベル ABC216: 過去最高レベルと言われた前回・前々回を超えるレベル
😂 2
2:01 PM
↓のH問題のdiffと見比べるとおもしろいです。 https://kenkoooo.com/atcoder/#/table/
Avatar
8問になってからのdiff、こんなことになっていたんですね・・! 🍷
Avatar
多分問題が難しいだけじゃなくて、100分で8問もあるから解きづらいというのも影響してるかと思います。
12:37 PM
ワイワイやってます
koogawa started a thread. 9/3/2021 1:11 PM
Avatar
自分用メモ print("row: \(row), column: \(column), dp: \(dp)")
11:44 AM
そして今日の abc https://atcoder.jp/contests/abc217
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
【 #毎日アルゴ式 】 本日 (9/5) の練習問題はこちらです!いよいよ動的計画法シリーズ最後の問題です。今までの練習問題のエッセンスを凝縮した良問となっているので是非挑戦してみてください! https://t.co/84gc5hfPd2 ※ 問題への言及は自由に行っていただいてかまいません🐢 #アルゴ式
12:07 PM
リンク切れてる 😂
👍 1
12:07 PM
アルゴ式さんには連絡済みです
koogawa started a thread. 9/5/2021 12:21 PM
Avatar
結局「貪欲法」がなんなのか… なんとなくは理解できたけど、うまく言語化できないな https://twitter.com/the_uhooi/status/1435593242179870721?s=20
ふむふむ 「動的計画法」と同じく、特定のアルゴリズムというよりは考え方って感じなのかな 「とにかく大きい数でぶん殴る」くらいのイメージ?w --- 「貪欲法とは」を勉強中... https://t.co/inmP6FvIAj #アルゴ式
Avatar
Swift Algorithms is now source stable! Changes Most sequence and collection types have been renamed, following a more consistent naming structure: The Lazy prefix was dropped. Either a Sequence o...
Avatar
これが AtCoder で使えるようになったらうれしいですよね。 Python とかなんでライブラリ入ってるんだろうと思って前回の Language Update を見直してたら、ライブラリのカラム( J )に記載がありますね。次回アップデート時には Numerics と Algorithms は入れたいですね。 https://docs.google.com/spreadsheets/d/1PmsqufkF3wjKN6g1L0STS80yP4a6u-VdGiEv5uOHe0M
シート1 https://docs.google.com/spreadsheets/d/1X5Yk5PiGx-Otm1JaHpQQzQhEIPj8trofLTkphKX43s0/edit#gid=0 70,Judge Server Information,↓右クリックして「セルの編集履歴」を参照することができます,←複数です,←複数の場合はファイル 変更履歴 変更履...
Avatar
Avatar
koher
これが AtCoder で使えるようになったらうれしいですよね。 Python とかなんでライブラリ入ってるんだろうと思って前回の Language Update を見直してたら、ライブラリのカラム( J )に記載がありますね。次回アップデート時には Numerics と Algorithms は入れたいですね。 https://docs.google.com/spreadsheets/d/1PmsqufkF3wjKN6g1L0STS80yP4a6u-VdGiEv5uOHe0M
おおっこのようなスプレッドシートが…! 入れたいです…!
Avatar
Kishikawa Katsumi 9/9/2021 1:22 AM
Collectionsも入れたらいいんじゃない
👏 1
👍 1
Avatar
今日知ったんですが、テストデータ ダウンロードできるんですね!!
👀 3
Avatar
ヤバイ。iOSDCの収録で何日かパスしたら、最近全然ついていけてない・・・。
😂 2
Avatar
今日の問題(まだ昨日の問題も取りかかれてないけど) https://algo-method.com/tasks/363
👍 2
Avatar
今日の問題はリンク切れのようです(連絡済み) https://twitter.com/algo_method/status/1437385578694299654
【 #毎日アルゴ式 】 本日 (9/12) の練習問題はこちらです! 今週は「二分探索」がテーマです。初回は雰囲気を掴むために値を順番に代入しても解ける問題となっています。是非挑戦してみてください! https://t.co/XxuwZKUJZn ※ 問題への言及は自由に行っていただいてかまいません🐢 #アルゴ式
👍 1
koogawa started a thread. 9/13/2021 12:32 PM
Avatar
え、もしかしてDアルゴ式見ながら解いた人結構おる???なんか部分和問題のページのアクセスめっちゃあってんけど
👍 2
😅 1
koogawa started a thread. 9/19/2021 12:25 PM
Avatar
今週のabcは土曜日ではなく日曜開催 https://twitter.com/atcoder/status/1439980784673116167
【コンテスト開催のお知らせ】 コンテスト時間: 2021-09-26(日) 21:00 ~ 2021-09-26(日) 22:40 (100分) AtCoder Beginner Contest 220 https://t.co/1jre4NMqbX
👍 4
Avatar
やべぇ追いつけなくなってる…
Avatar
本日21:00頃にこれからの運営に関わる大切なお知らせを公開します。よろしくお願いいたします🐢
👀 2
uhooi started a thread. 10/3/2021 12:29 PM
11:33 AM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
AtCoder お疲れ様でした!
2:11 PM
次回は日曜開催のようです コンテスト時間: 2021-10-17(日) 21:00 ~ 2021-10-17(日) 22:40 (100分) https://atcoder.jp/contests/abc223
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
ここ最近まったく手を付けられていない、、
12:06 PM
今日初めてメモ化でライブラリのパフォーマンスを改善してみました! ただもっといい方法がある気がしています。 https://github.com/Kyome22/LegoArtFilter/pull/2
概要 LegoColor(r:g:b:) の処理に時間がかかるため、rgb の値をキーとしてキャッシュするようにした。 私のアイコンを StudType: Round ・ Max Stud: 128 で試したところ、処理時間が約 1/33 になった。 同じ色を使っている画像ほど処理が速くなる。 逆にほぼ異なる色だと、キャッシュを捜査する分だけ処理が遅くなるが、具体的な時間は計測していない。 ...
👏 4
Avatar
高速化いいですね! 個人的に懸念点としてはメモリ使用量くらいでしょうか(全ピクセルで色が全部異なる場合とか)
Avatar
空間計算量ってやつですね 確かに…どうなんでしょう… 全ピクセルで色が異なる画像が欲しいw
Avatar
このへんですかね https://imgur.com/a/O9OyA
t_tensai 1
Avatar
こういうの、キャッシュのヒット率見て悪ければ途中で打ち切る、みたいなのって有効に働くもんなんですかね
Avatar
なるほど、今だと単に memo[rbg] でキャッシュのディクショナリにアクセスしていますが、 memo の要素を 1 つずつ取り出し、ヒット率が悪くなれば打ち切る、ということですね ヒット率のしきい値をきれいに求められれば有効そう…?
Avatar
何%hitしたらオリジナルより早くなるか、が閾値ですね
1:03 PM
ダミーの画像作って計測しましょう!w
Avatar
Swift に標準でないかな、、、、、
Avatar
log5 さんが貼ってくれた画像で試したところ、Before と After で処理時間がほぼ変わりませんでした。 なのでヒット率を算出するまではやらなくてよさそうですw
👏 1
Avatar
Dictの探索が正しくO(1)で動いてることが予測できて良い題材ですね
Avatar
あ、そういやディクショナリの検索って O(1) なんでしたっけ そしたらまったく問題ないですねw
Avatar
多分大丈夫だとは思いますが、メモリへの負荷も問題なかった感じでした?
Avatar
計測していませんが、おそらく大丈夫だと思います、、おそらく、、、
😅 1
Avatar
このケースだと memo はメソッドが呼び出される度に使い捨ててるので、空間計算量のオーダーも変わってないですし特に問題なさそうですね(超巨大な画像で、メモリを数倍使ったらアウトとかいう状況でなければ)。
🙏 1
strmikan started a thread. 10/24/2021 2:04 PM
Avatar
UnionFindに関する問題も増えていたので、スレッド立てておきます https://algo-method.com/tasks/561
👍 1
Avatar
【 #毎日アルゴ式 】 本日 (10/29) の練習問題はこちらです!昨日に続き、「for 文と Σ の関係性」を扱った問題です。 このシリーズでは問題と同時に解説を公開する予定なので、知らない / わからない場合も解説を見ながら挑戦してみてください🐢 https://t.co/LB5QRB7D0x #アルゴ式
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
来週の abc226 は日曜開催のようです https://atcoder.jp/contests/abc226
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
🙏 2
Avatar
昨日の問題です!(日をまたいでしまったので) https://algo-method.com/tasks/569
Avatar
samekard_dev 11/2/2021 4:38 PM
参加します。よろしくお願いします。
t_waiwai 4
👍 1
👏 1
Avatar
ABC226反省会会場
Avatar
11/13 の問題はこちら https://algo-method.com/tasks/653
3:06 PM
今日のABCは swiftzoomin とかぶったのでスキップしたけど、C問題が難しかったのかな https://kenkoooo.com/atcoder/#/table/
3:06 PM
あとで解いてみます
Avatar
あ、アルゴ式でいずれコンテスト開く予定がある情報はもう解禁なのね!
👀 2
11:46 PM
ほほぅ
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
会場が決まったときに定員を増やす場合があります # 【重要】 感染対策のための参加制限と検討中の対策 ## オンサイト参加制限 * 新型コロナワクチン2回接種者のみ参加できるものとします。終息前のイベント開催ができるのは、ワクチン接種が進み相互の感染リスクが抑えられていることで実現できる面が強く、終息までの間にもできる限り多くのイベント開催を可能とするため、ワクチン接種のご理解ご協力をお願いいたします。 * ワクチン接種が当日までに間に合わない方は、開催までの1週間は外食を含むリスクの高い行動は控え、開催までの72時間以内に医療機関(入国審査に準ずる基準)で陰性であるこ...
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
ABC次回は金曜日なんですね! https://atcoder.jp/contests/abc230
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👀 2
Avatar
今日の問題です!(日付が変わらないうちに貼っておきます) https://algo-method.com/tasks/677 (edited)
Avatar
競技プログラミングを始めたばかりの人に伝えたいこと Advent Calendar 2021 始まりましたね https://qiita.com/noritsune/items/0f59895be61fc720ee70
はじめに この記事は競技プログラミングを始めたばかりの人に伝えたいことアドベントカレンダー1日目の記事です アドベントカレンダーは初参加なので公開が楽しみです 概要 しばらく前からAtCoderに参加する時にプロジェクトデ...
👀 3
3:10 AM
テストケース自動で作ってるんですな・・!
Avatar
Avatar
koogawa
競技プログラミングを始めたばかりの人に伝えたいこと Advent Calendar 2021 始まりましたね https://qiita.com/noritsune/items/0f59895be61fc720ee70
Swiftでも何かしら書きたいですね…! 余裕があったら書きます💪
💪 3
Avatar
Seleniumによるスクレイピングですね、懐かしい
Avatar
Avatar
log5
Seleniumによるスクレイピングですね、懐かしい
某社の得意領域ですよねw
t_sorena 1
Avatar
今日の問題です。なんだか中ボスが来たような感じが https://algo-method.com/tasks/606
t_naruhodo 1
Avatar
今日の問題です!これは不定積分のにほひ... https://algo-method.com/tasks/690
Avatar
『「アルゴリズム×数学」が基礎からしっかり身につく本』を執筆しました! アルゴリズムと数学が同時に学べる本です。12/25 に発売される予定です。詳しい紹介は以下の記事にまとめました。 https://t.co/HA8kSvEQQP 本書を手に取っていただけたら、とても嬉しいです!!! https://t.co/DrgCAHHZ1b
Retweets
339
Likes
1224
👀 2
Avatar
abc230 今日ですね! https://atcoder.jp/contests/abc230
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👍 2
Avatar
仕事でちょっと疲れたけど頑張ってみます 💪
💪 2
Avatar
何やらボタンが増えていると思ったら、こんな仕様が https://atcoder.jp/posts/744
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👀 1
Avatar
コンテストに参加する際に、その成績をレーティングに反映させるかさせないかを、事前に選択することが出来る機能
なるほど・・!
11:40 AM
これは助かるかも
Avatar
ABC230反省会開場(みやすさの都合からここにスレッドを立てます 🙏
Avatar
本日の問題です https://algo-method.com/tasks/693 「アルゴリズムで学ぶ数学」は本日が最後みたいですね (edited)
Avatar
本日の問題 、リンクが切れてるかも! https://twitter.com/algo_method/status/1467811052955914243?s=21
【 #毎日アルゴ式 】 本日 (12/6) の練習問題はこちらです!本日から新テーマ「データサイエンス入門」が始まります。初日は肩慣らしとしてデータの集計を行います! 時代に伴い変化している高校情報/数学の指導要項に沿って進めますので是非挑戦してください🐢 https://t.co/aIlwJoz2QJ #アルゴ式
👀 1
log5 started a thread. 12/6/2021 12:00 PM
Avatar
今日の問題です。平均値が来たらまあ次はこれですよね 😆 https://algo-method.com/tasks/695
12:33 PM
そしてabc231は明日21:00開催 https://atcoder.jp/contests/abc231
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
💪 2
Avatar
今日の問題もリンクが切れている? https://twitter.com/algo_method/status/1469622992766320642
【 #毎日アルゴ式 】 本日 (12/11) の練習問題はこちらです!本日は「データサイエンス入門」として「分散」を考えてみます。 解法は昨日とほぼ同じですが、統計でよく使われる「分散」はなぜ二乗した値が使われているのか、解説でその謎に迫ってみます🐢 https://t.co/UsAA64u8Rp #アルゴ式
👀 1
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
次回のabc232は12/19(日) ことし最後かなー https://atcoder.jp/contests/abc232
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👀 3
log5 started a thread. 12/11/2021 2:20 PM
uhooi started a thread. 12/12/2021 10:15 AM
Avatar
需要があるかわかりませんが、発展問題も貼っておきます! https://algo-method.com/tasks/706
👀 1
Avatar
競プロアドベントカレンダーの記事のためのアンケートを公開しました!皆様の「競技プログラミングを始めたばかりの人に伝えたいこと」を伺わせてください。 初心者に向けた最高の記事に仕上げたいので、回答&拡散にて力をお貸しいただけると嬉しいです...! https://t.co/KmUi6PEZEJ
👍 1
👀 1
Avatar
競プロの記事を書いた✨
4:23 PM
私はSwiftにおける競プロの記事をいくつか投稿しています。 競プロで使える標準入力の便利メソッド一覧 ←イマココ 競プロで使える標準エラーの出力方法 競プロで使える便利なエクステンション一覧 競プロで使えるアルゴリズム関数一覧...
👍 5
4:25 PM
koher さんとかがよく AtCoder で使っているメソッドをマネしただけですが、、 記事としてはまとまっていなかったのでまとめてみました。
log5 started a thread. 12/15/2021 11:18 AM
Avatar
【年末年始のお知らせ】1/1(土)、1/2(日)は、年末年始休暇のため、Ratedな公式コンテストの開催予定はありません。
Likes
128
👀 2
koogawa started a thread. 12/17/2021 12:43 PM
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
今日が今年最後のabcかと思ったら、来週が最後でした https://atcoder.jp/contests/abc233
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
👀 3
log5 started a thread. 12/20/2021 11:56 AM
Avatar
#abc232 の難易度出てましたが、DよりCのほうがdifficultyが高かったようですね https://kenkoooo.com/atcoder/#/table/
😇 2