本スライドでは、有名なアルゴリズムを概観し、アルゴリズムに興味を持っていただくことを目標にします。 第 1 部:アルゴリズムとは 第 2 部:学年を当ててみよう 第 3 部:代表的なアルゴリズム問題 第 4 部:コンピュータとアルゴリズム

本スライドでは、有名なアルゴリズムを概観し、アルゴリズムに興味を持っていただくことを目標にします。 第 1 部:アルゴリズムとは 第 2 部:学年を当ててみよう 第 3 部:代表的なアルゴリズム問題 第 4 部:コンピュータとアルゴリズム
計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にある本を読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは
はじめに こんにちは。事業推進部でOffensive Teamを担当する永井です。 先日のApple発表会では新型のiPhoneやApple Watchなど心躍る製品が色々と発表されましたね。筆者は特に新型iPad miniが心に刺さっています。 さて、今回はApple関連の話として「macOSの暗号化zipファイルはパスワード無しで解凍できる」というネタについて書いていきます。 解凍できる条件 何を言っているんだと思われるかもしれませんが、macOSで作られた暗号化zipファイルは以下の2つの条件を満たす場合にパスワード無しで容易に解凍が可能です。 zipの暗号化方式がzipcryptoである (通常の暗号化zipファイルは基本的にzipcryptoが利用されています) zip内のいずれかのディレクトリの中身が.DS_Storeファイルおよび何らかのファイル1つである このうち1.は基本
Sorting colors in JavaScriptJune 22, 2021How to sort colors in JavaScript? Let me tell you a story first. In the project I'm working on right now we used to have 134 colors in use! WTF?! you say. Once I discovered that I thought I'm going to show that to my colleagues, and we will address the problem. Unfortunately, I'm a very visual person (so to say) and I couldn't stand the very random order of
サンマー𝕏 @xeye_ 裏庭に入るイノシシ捕まえる機械、は何回かお願いされたことがあった。ニワトリがやられないようにということで。平均体温が人間より高めなのを利用して赤外カメラと重量計でやったんだけど、テスト中に裏庭に侵入していたNHK集金社員を捕獲していてやる気無くした。 2021-06-22 09:55:33 サンマー𝕏 @xeye_ アルゴリズムとしては以下 1. 35度から40度くらいの体温を持つ物体がウロウロと歩き回る 2. ニワトリ小屋を開けようとして失敗→ガチャガチャ 3. 部屋を覗き込むかつ重量センサーが40kg以上を感知 この全てがマッチすると、家の人の挙動ではないかつ不審ということで捕獲システム発動 2021-06-22 10:07:59
0.はじめに 2020年の5月よりAtcoderのコンテストに参加してから一年経った、現在水色コーダーとなりました、H20と申します。 AtCoderではPythonを使用して参加しており、水色になるまでに様々なアルゴリズムを使用しました。 アルゴリズムについてはほとんど自作せず、有識者の作成されたスニペットを調べては、ある程度理解しながら使用していました。 この記事では、Pythonにてあるアルゴリズムを使用する際にお勧めな書き方の説明をしているスニペットの記事に、それを利用してACしたコードを添えて紹介していきたいと思います。 (ただ、私のACコードは極力見ないで自力で解いてください。綺麗とは言い難いので…) 1.目次 ※各アルゴリズムで紹介している問題は、感覚的な難易度順に並べています。基本的に後半は解けたら凄い!くらいの想いで載せてます。 解き方は多種多様であり、特に難易度の低い問
はじめに 競技プログラミングに関連する、以下の記事が話題にあがりました。 nuc氏1つ目の記事 nuc.hatenadiary.org chokudai氏の記事 chokudai.hatenablog.com nuc氏2つ目の記事 nuc.hatenadiary.org nuc氏は、元Googleのエンジニアで面接も担当されていました。現在は某医大の特別特命准教授の方で、2007年頃に東大で競技プログラミングをされていた方のようです(氏名も役職も上記の記事のリンク先で公表されています)。nuc氏の記事は、競技プログラミングに対して「我々の目的の一つは、我々が始めてしまった競技プログラミングを我々が終わらせることです。」といった強い主張が多く、これらの記事の反応をみたのですが、 競技プログラミングをしている方々が、nuc氏の主張で不安になり、特に若い世代で、競技プログラミングをやめようとして
高速逆平方根とは? C言語のコード 検証 アルゴリズムの要点 [1] 逆平方根の計算を対数・指数の計算に置き換える [2] 浮動小数点型の内部表現を利用した対数・指数の近似計算 [2.1] 対数の近似 [2.2] σの最適値 [2.3] 整数型での解釈 [2.4] 逆平方根の計算とマジックナンバー0x5F3759DF [3] ニュートン法による収束で精度アップ 感想 高速逆平方根とは? 高速逆平方根(fast inverse square root)とは、平方根の逆数 を高速に計算するアルゴリズムです。平方根の逆数は逆平方根とも呼ばれます。逆平方根はベクトルの正規化などに用いられるので、これを高速に計算できるアルゴリズムには大きなご利益があります。 参照: Fast inverse square root - Wikipedia C言語のコード 高速逆平方根の関数を示します。0x5F375
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog (2月5日 16:30追記) SNS等で多くのご指摘をいただき、再度掲載していたコードや表現について社内で議論いたしました。それを踏まえて以下の通り、補足および訂正させていただきます。 エラトステネスのふるいの実装方法については、高速化のための実装ではなく、アルゴリズムなどの勉強をしっかり行ってきたか、ということを示すための1例として紹介しましたが、あたかも高速化を目指したコードとしての例示となり、誤解を招く表現でした。上記の意図を明確にするために、本文中に高速化するための実装ではないことを明記しました。 また、"個性がない"という表現も、上記と同様に"アルゴリズムなどの勉強をしっかり行ってきたという実績や経験がコードから判断
この記事は「データ構造とアルゴリズム Advent Calendar 2020」16日目の記事です。 15日目の記事はyurahunaさんの「木分解上の動的計画法」で、 17日目の記事はtsukasa__diaryさんの「Lawler の K-Best 列挙アルゴリズム」です。 この記事内で使用しているプログラムやそのテストプログラムは全て以下のGitHubリポジトリで閲覧可能です。プログラムの詳細に興味がある方はこちらをご覧ください(ついでにStarを押していってくれると喜びます🙂)。 Github: ashiba/Imprementation_of_IKERUKANA: Momotaro Dentetsu is a game. 変更履歴 2020/12/21に「最終的に貧乏神が付かない移動方法 ~貧乏神持ちの場合~」, 「最終的に貧乏神が付かない移動方法 ~貧乏神がついていない場合~
とは言ってみたものの実際にはちょうど1年前くらいからやってました。始めてからすぐ Premium 買ってたので。 うおお、LeetCode の Premium が Expire していた、、— Satoshi SUZUKI (@studio3104) December 11, 2020 ではなんで「半年間で」なのかというと、今年の前半は英語の勉強をがっつりやってたので英語と仕事以外のことは何もしてなかったから。 そして300問はまだいってないんだけど、英語漬けから空けた6月アタマから数えて半年経過の今月末には300問いくだろうという見込みがあるということでタイトルはこのようにした。 1年間で LeetCode の問題を290問解いてみて ということで改めて。@sugyan と @fushiroyama *1 に影響されて始めたんだが、続ければ続くものですね。 自分は "コードの書けないイン
これはなに 自分がここ2年ほど趣味として競技プログラミングをやった経緯と感想です。いわゆるプログラマの定年と呼ばれる35歳を過ぎてから始めたのですが、思ったよりも楽しめました。自分のようなシニアと呼ばれるプログラマが競プロに興味を持ってくれたらいいなと思って書きました。 競技プログラミング(競プロ)とは 競技プログラミング(以後、競プロ)は、プログラミングをして順位を競うコンテストです。コンテストはたいていオンラインで毎週のように開かれており、誰でも参加できます。形式としては、与えられた時間内にいくつかの問題を解くコードを提出して、その正解数と提出までにかかった時間を競うというものです。たいていは、コードの実行時間および使用メモリに制限があり、その制限内で実行できるコードを書く必要があります。またコードが正解かどうかは出題者が用意したテストケースをパスするかどうかで判定されます。 多くのコ
はじめに 2008年に起業してからコツコツやっていましたが、2014年くらいから量子コンピュータの研究開発をがんばりました。資金調達もしてある程度技術に目処がついたのと、若者から起業したいという相談をよくもらうので、まとめておきます。 経営は大事 簡単にいうとベンチャーをやろうとしたら技術よりもキャッシュが大事です。なので、財務や経営感覚がついてから技術をつけないと結構大変と思います。特に1年目は慣れない事務に忙殺されますし、二年目以降はキャッシュが厳しくなります。 あとは、最初は経営に夢見て舞い上がりがちなので、その気持ちがおさまって厳しさが一通り身についたところからが本番です。 調達の前に譲渡 2008年から10年くらいはコツコツ会社をやっていた上、そんなに頑張るタイプでもなかったのですが、たまたま2014年からやっていた量子コンピュータのニュースが巷で新聞に載るようになってから、周辺
自分がコーディング面接対策のために解いてよかった LeetCode の問題をコンセプトごとにまとめました。カバーするコンセプトは LinkedList Stack Heap, PriorityQueue HashMap Graph, BFS, DFS Tree, BT, BST Sort Dynamic Programming Binary search Recursion Sliding window Greedy + Backtracking です。 これらの問題が 30 分以内に実装できれば面接の準備は整ったと言っていいと思います。Easy と Medium で問題は構成されてます。進捗を管理するためにGoogle Spreadsheetを用意しました。コピペしてご自由にお使いください。 これらの問題は、LeetCode のリスト機能でも公開されています。クローンすれば自分がすでにど
本スライドは某LT用に作成しました.厳密性より,非競プロerに向けて面白さを重視しています. 過去問題の解説です.
随時募集しています 略称 正称 APSP All Pairs Shortest Path BB Branch and bound BBST Balanced Binary Search Tree BFS Breadth First Search BIT Binary Indexed Tree BM Berlekamp-Massey BM Boyer-Moore BSGS Baby-Step Giant-Step CHT Convex Hull Trick CRT Chinese Remainder Theorem D&C Divide and Conquer DAG Directed Acyclic Graph DEPQ Double-ended priority queue DFS Depth First Search DP Dynamic Programming DST Disjoin
昇順に並べたいクイックソートと降順に並べたい挿入ソートが殴り合う動画です pic.twitter.com/YxsN1aSI0A— ABA (@abagames) 2020年1月18日 コードとライブデモはこちら。 アルゴリズムの王道ソートアルゴリズムでコードバトリングをしてみたかったので作った。左(赤)のコードが昇順に、右(青)のコードが降順に同一の配列をソートしようとして戦う。昇順に揃ったら左の勝ち、降順に揃ったら右の勝ち。 コードは普通のJavaScriptとして書く。以下の2つの特殊な関数がある。 get(i): 配列からi番目の要素を取得する swap(i, j): 配列のi番目とj番目の要素を交換する setはできない。setを許すとコード内のメモリに配列を逃しておいてソート、一気に書き込むというインチキができるから。右の降順側のgetは要素のマイナスの値が帰ってくるので、右のコ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く