タグ

algorithmとstudyに関するlepton9のブックマーク (16)

  • LeetCode 150問を解いて起きた意外な変化

    はじめに 年末に Twitter でこのツイートを見かけました。 もともとアルゴリズムの勉強に興味があり、一年ほど前に数ヶ月だけ AtCoder をやっていましたが、途中で挫折してしまった自分にとって、NeetCodeの勉強ロードマップは非常に魅力的に感じました。(転職意欲があったわけではないです) NeetCode のロードマップ そこで、このロードマップに従って LeetCode の問題を 150 問解くことを決意し、結果的におよそ1ヶ月半で全ての問題を解き切ることができました。 この過程で、様々なことを学ぶことができました。中には自分が予想していなかった学びも多くありましたので、同じくアルゴリズムに興味のあるエンジニアの方に役立てていただけるよう、記録として残しておきます。 ハードスキル 📗 データ構造への理解 頻出するデータ構造について、それぞれの長所/短所を理解し、主要な処理の

    LeetCode 150問を解いて起きた意外な変化
  • [2023年1月版]競技プログラミングを始めたばかりの人にオススメの問題集 - Qiita

    推し: アルゴ式 2023年1月現在、初心者向けの最初の問題集としてお勧めしたいのは アルゴ式 です。アルゴ式の特徴として次のようなものがあると思っていて、それが初心者が練習するうえで適した特徴だと考えるからです ジャンルごとに問題が分かれている 1ジャンルごとの問題数がそれなりにある ひとつひとつの問題の難易度が易しめ 興味の湧いた人は、とりあえずアカウントを作って問題を解いてみてください。 なお、「競技プログラミングを始めたばかりの人」と言っても、その人の経験によって最適なものは変わってくるとは思いますが、次のような人を想定したときに特にアルゴ式が適していると思います。 プログラミング自体の初心者ではない。 初歩的なプログラミングの概念は一通り把握しているくらいを想定。 過去問に取り組もうとしたけど、A問題やB問題でも結構難しいと感じる。 この想定にマッチしない人であれば、次節以降で

    [2023年1月版]競技プログラミングを始めたばかりの人にオススメの問題集 - Qiita
  • はじめに - アルゴリズムとデータ構造大全

    はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

  • Hiroshi Takahashi

    Skip to the content. 機械学習の研究者を目指す人へ 機械学習の研究を行うためには、プログラミングや数学などの前提知識から、サーベイの方法や資料・論文の作成方法まで、幅広い知識が必要になります。レポジトリは、学生や新社会人を対象に、機械学習の研究を行うにあたって必要になる知識や、それらを学ぶための書籍やWebサイトをまとめたものです。 目次 プログラミングの準備 Pythonを勉強しよう 分かりやすいコードを書けるようになろう 数学の準備 最適化数学を学ぼう 基的なアルゴリズムとその実践 機械学習の全体像を学ぼう 基的なアルゴリズムを学ぼう 深層学習の基礎を学ぼう scikit-learnやPyTorchのチュートリアルをやってみよう サーベイの方法 国際会議論文を読もう Google Scholarを活用しよう arXivをチェックしよう スライドの作り方 論文の

  • 算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り|きりみんちゃんノート

    こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 去年の7月に競技プログラミングAtCoderを始めてだいたい1年くらい経ったので、勉強したこととかを振り返りたいと思います。 で、誰?YouTubeでAtCoderの過去問を解く配信をしたり、Twitterで無限にAtCoderについてつぶやいたりしているVTuberです。 普段の仕事での専門分野はAndroidアプリ開発です。 半年くらい前にAtCoderを普通の社会人エンジニアに布教するエントリを書きました。 また、技術書典で「AtCoderの歩き方 -数学が得意じゃないエンジニアにこそ競技プログラミングを布教したい!-」というを出したりもしました。 現在のAtCoderコミュニティの中心層は理系の学生やもともと数学がかなり好きなタイプの人たちです。 一方きりみんちゃ

    算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り|きりみんちゃんノート
  • プログラマだったら当然知ってるよね?という知識一覧

    2019年11月11日追記 ただのタイトルで煽ってるだけの記事に半年経っても未だに大量のアクセスがあるので追記しておきます。 ここで言いたいことは、「プログラマならコンピュータサイエンスを勉強してると役に立つよね」、ということ だけ です。 この一文以上に有用な言葉は以降の文章では出てきません。みなさんの時間を無駄にしないために注意書きをしました。 それでも良いという人は読んでみてください。 Twitterで「〇〇ができるという人が面接に来たけど、『じゃあXXXやYYYって知ってます?』というと知らないという人が多いんだよねぇ」とかいうツイートを見かけて、私はXXXやYYYってのを知らなかったので調べた見たところ、常識とまでは言えない概念だったり、名前は知らなくても誰もが知ってる概念だったり、むしろもっと良いアプローチがあるのではという思想だったりでなんだかなぁと思っていたところ、半日くら

    プログラマだったら当然知ってるよね?という知識一覧
  • 初心者向け・難しそう?なプログラミング問題を簡単に解く方法【Python】 -

    Photo by Phil Whitehouse こんにちは。倉内です。 paizaでは、プログラミング問題を解いてS・A・B・C・D・Eの6段階のランクでコーディングスキルを測るスキルチェックを提供しています。初めてプログラミングに触れた方には、まずDランクの問題から挑戦することをオススメしています。 恐らくpaizaラーニングなどで言語の入門レベルの知識を身につけた方は、Dランク問題はクリアできると思います。しかし、そのあとCランクを取得し、さらにBランク問題に挑戦!となると少しハードルが高いと感じるかもしれません。 そこで今回は先日こちらの記事で解答コードを公開した、ゲームイベントのBランク相当の問題を例に、解答にたどり着くためのプロセスを詳しく解説したいと思います。 はじめに Bランク取得が難しいと感じている方の中にも「要求されていることは理解でき、プログラムも書けるがあと一歩ラン

    初心者向け・難しそう?なプログラミング問題を簡単に解く方法【Python】 -
  • 基礎技術の学習のモチベーションをどう保つか - $shibayu36->blog;

    最近、コンピュータサイエンスなどの基礎的な知識を学習するように心がけている。できる限り今後も長い期間役に立つ、寿命の長い技術や知識を付けておきたいためである。その一貫で アルゴリズムを学習 してみている。 学習をはじめて感じた課題 しかし、とりあえずアルゴリズムを学習してみると、学習を続けられるか分からないという課題も感じた。 寿命の長い技術であるほど、日々の開発にすぐに利用できないことが多い 例えばアルゴリズムを学んだとしても、それが役立つまでいくにはある程度長い時間が必要 日々の開発に利用できていないと、モチベーションをずっと保ち続けるのが難しい モチベーションが保てないと、結局途中で勉強をやめてしまい、日々の開発に利用できるレベルまでたどり着けない 流行りの技術とかは、すぐに開発に導入してみるとかができるので、とりあえずモチベーションは保ちやすい。しかし、数学とかアルゴリズムとかLi

    基礎技術の学習のモチベーションをどう保つか - $shibayu36->blog;
  • 言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!

    久しぶりに技術関係のネタ書きます. 「言語処理100ノック」という,自然言語処理関係の問題集があることを知ったので取り組んでみました. これは,東北大学の乾・岡崎研究室でのプログラミング勉強会にて使われている教材だそうです. 「100ノック」の言葉通り,100問の問題からなる問題集をこなすことで,自然言語処理に関する基礎力と,プログラミング言語運用能力が同時に培えるようになっています. こういうものが公開されるとは,「いい時代になったなー」と純粋に思います. www.cl.ecei.tohoku.ac.jp 内容は,自然言語処理だけでなく,データベース,機械学習など,今の言語処理関係の研究に必要なスキルがこれ1つで身につくように設計されています. 対象プログラミング言語はPythonのようですが,基的に他の言語でも問題なく進められるようにはなっていると思います(言語処理に強いプログラ

    言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!
  • GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!

    CS 61C Great Ideas in Computer Architecture (Machine Structures) UC Berkeley The subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine language, computer organization, caches, performance measurement, parallelism, CPU design, warehouse-scale computing, and related topics. Lecture Videos Lecture Notes Resources Old Exams CS 107

    GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!
  • 機械学習をこれから始める人に押さえておいてほしいこと - Qiita

    いしたーです。アルバイトで機械学習やってます。こんにちは。 とある勉強会に出席したときに、「機械学習をやりたいけどわからないことが多い」という意見を聞いたので、いくつかアドバイスを載せておきます。 ##読む前の注意 研究についてのアドバイスは書いていません。趣味機械学習をやろうと思っている方が対象です。 この記事は他の方の意見をまとめたものではありません。私個人の経験に基づいて書いたものです。よって、この記事の内容はほとんど「私の意見」です。 以上2つの注意点を踏まえた上でお読みください。 ##「機械学習で何をしたいのか」を決めてほしい 機械学習を学ぶ前に、機械学習を使って何をしたいのかを決めてください。 機械学習は数式がたくさん登場したり、難しい概念を理解しなければならなかったりすることがあります。 やりたいことを決めてから学ぶと、今自分はある目的を達成するために学んでいるんだと思うこ

    機械学習をこれから始める人に押さえておいてほしいこと - Qiita
  • http://plus.appgiga.jp/masatolan/2014/10/10/54008/

    http://plus.appgiga.jp/masatolan/2014/10/10/54008/
  • AtCoderでの勉強の仕方(コンテスト編) - chokudaiのブログ

    AtCoder (アットコーダー) 毎週アルゴリズム系のプログラミングコンテストを開催しているAtCoderですが、それを使って、どのように勉強すれば良いのか?というのは、結構困っている人がいるようです。 そこで、社長お勧めの、誰でも簡単に続けられる勉強方法を伝授します。 1、コンテストに参加する とりあえず、AtCoderで勉強をしたいなら、過去問を解くより、リアルタイムのコンテストに参加することがお勧めです。 自分ではなかなか勉強する気が起こらない・・・。という人でも、時間が決まったコンテストであれば参加できる、という人は多くいるようです。 たまに開催出来ないことがありますが、毎週土曜日、午後9時から10時半、または11時まで、コンテストが開催されています。 ある程度コンテストに慣れた人向けのAtCoder Regular Contestと、初心者~中級者向けのAtCoder Begi

    AtCoderでの勉強の仕方(コンテスト編) - chokudaiのブログ
  • Masataka Goto: Beat Tracking (BTS) (in Japanese)

    音楽音響信号に対するビートトラッキングシステム This project is proposed and researched by Masataka Goto. English version is here. ビートトラッキングとは、 人間が音楽に合わせて手拍子を打つように、 曲のビート(4分音符)の位置を認識する技術である。 人間が音楽に合わせて容易に手拍子を打てることからわかるように、 ビートは西洋音楽を理解する上で基的な概念の一つである。 ビートトラッキングの実現は、 音響信号に対する音楽聴取過程を計算機上で実現する第一段階として重要である。 研究では、 音楽音響信号に対してリアルタイムに ビートを認識・予測するビートトラッキングシステム (BTS) を実現する。 BTSは、 市販のCompact Discなどから得た複数の楽器音を含む音響信号 (ロック・ポップス)を入力とし

  • 速水桃子「パターン認識と機械学習入門」

    Recent Advances on Transfer Learning and Related Topics Ver.2

    速水桃子「パターン認識と機械学習入門」
  • 頻出典型アルゴリズムの演習問題としてよさげなやつ - kyuridenamidaのチラ裏

    効率的な別解とか存在する問題もあるけど演習によさそうなやつをピックアップ。そのアルゴリズムじゃないと解けないわけではないって問題も多いので注意。(ただ演習するのには都合が良いかなと)※個人的難易度をつけてみました。とても主観的な難易度付けなので気にせず解いてみてください。深さ優先探索・Balls[☆]・Sum of Integers[☆]・The Number of Island[☆]・Block[★]幅優先探索・Mysterious Worm[★]・Cheese[★]・Seven Puzzle[★☆]・Stray Twins[★★]・Deven-Eleven[★★]・Summer of Phyonkichi[★★☆]ワーシャルフロイド法(For 全点対最短路問題)・Traveling Alone: One-way Ticket of Youth[★]・A reward for a Car

  • 1