「競技プログラミング」を含む日記 RSS

はてなキーワード: 競技プログラミングとは

2024-06-26

anond:20240626165248

ガチだよ

競技プログラミング」って言葉東大で生まれ慶応SFCに盗まれ言葉

ttps://nuc.hatenadiary.org/entry/2021/04/02

anond:20240625191650

その瞬間のパワーよりいか環境適応できるかがチームで働くときには重要なんだなぁ

競技プログラミングだけで食べていければいいんだけどね

ちゃん仕事に使える競技プログラミングを作ろう

アイディア

・チーム戦(3〜10人)

評価に可読性をいれる

問題が5問あって、どんどん仕様変更が入っていく

問題文はない、口頭で伝える

UIも組み込む

 

仕事やん・・・

そもそも、競プロって名乗ってんのが経歴詐称だろ

競技プログラミングって、10ちょっと前にあった東大サークル名前なのよ。それまではプログラミングコンテストと呼ばれてた。

そこのサークルグーグルに大量採用されていたり色々すごかったので、関係ないやつらまでが「俺も競プロ」って名乗りだしたのが10年前。

サークル関係ないのに、競プロって名乗るのは「俺の先輩、東大卒でグーグル」って意味

anond:20240625192311

非エンジニアだけどClaude3に増田ミュート作ってもらったよ

これを改善してってお願いした。何書いてあるかわからないけど動いたよ。

https://anond.hatelabo.jp/20240125203115

// ==UserScript==
// @name         増田ミュート(白塗り版)
// @namespace    http://tampermonkey.net/
// @version      2024-06-26
// @description  ミューワードを含む最小限の範囲白塗りにする
// @author       You
// @match        https://anond.hatelabo.jp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatelabo.jp
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const muteWords = [
        "弱者男性",
        "弱男",
        "弱者",
        "婚活",
        "男",
        "女",
        "年収",
        "下方婚",
        "発達障害",
        "発達",
        "ハッタツ",
        "ハッタショ",
        "ハッタショ",
        "競プロ",
        "競技プログラミング",
        "AtCoder",
    ];

    function whiteoutElement(element) {
        element.style.backgroundColor = 'white';
        element.style.color = 'white';
        element.style.textShadow = 'none';
        element.style.cursor = 'default';
        element.style.userSelect = 'none';  // テキスト選択を防止
        element.style.borderBottom = '1px dashed #ccc'; // 枠線を追加してテキストがあることを示す

        // リンク場合クリック無効化
        if (element.tagName === 'A') {
            element.style.pointerEvents = 'none';
            element.removeAttribute('href');
        }

        // 子要素にも適用
        Array.from(element.children).forEach(child => {
            child.style.backgroundColor = 'white';
            child.style.color = 'white';
            child.style.textShadow = 'none';
        });

        // ツールチップを追加
        element.title = 'この内容にはミューワードが含まれています';
    }

    function shouldMute(text) {
        return muteWords.some(word => {
            const parts = word.split('');
            const regex = new RegExp(parts.map(char => `${char}\\s*`).join(''), 'i');
            return regex.test(text);
        });
    }

    function findSmallestMuteableElement(element) {
        if (element.nodeType === Node.TEXT_NODE) {
            return shouldMute(element.textContent) ? element.parentElement : null;
        }

        if (element.tagName === 'PRE' || element.tagName === 'CODE') {
            return shouldMute(element.textContent) ? element : null;
        }

        for (let child of element.childNodes) {
            const result = findSmallestMuteableElement(child);
            if (result) return result;
        }

        return shouldMute(element.textContent) ? element : null;
    }

    function processElement(element) {
        const muteableElement = findSmallestMuteableElement(element);
        if (muteableElement) {
            whiteoutElement(muteableElement);
        }
    }

    function processAllElements(root = document.body) {
        const walker = document.createTreeWalker(
            root,
            NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT,
            null,
            false
        );

        let node;
        while (node = walker.nextNode()) {
            if (node.nodeType === Node.ELEMENT_NODE) {
                processElement(node);
            } else if (node.nodeType === Node.TEXT_NODE && node.parentElement) {
                processElement(node.parentElement);
            }
        }
    }

    function handleClickEvent(event) {
        setTimeout(() => {
            processAllElements(event.target);
        }, 100);
    }

    // 初回実行
    processAllElements();

    // クリックイベント監視
    document.body.addEventListener('click', handleClickEvent);

    // DOM変更の監視
    const observer = new MutationObserver(mutations => {
        mutations.forEach(mutation => {
            if (mutation.type === 'childList') {
                mutation.addedNodes.forEach(node => {
                    if (node.nodeType === Node.ELEMENT_NODE) {
                        processAllElements(node);
                    }
                });
            } else if (mutation.type === 'characterData') {
                processElement(mutation.target.parentNode);
            }
        });
    });

    observer.observe(document.body, { childList: true, subtree: true, characterData: true });
})();

anond:20240626134856

事実だし、その上で

からな。彼が守りたいのはエンジニアリングでも本来意味での競技プログラミングでもなく、Atcoderというサービス自分の財布に過ぎない。

カルトと同じだよ。

anond:20240626123717

元増田

って言ってて、これだけブコメ付いてるのに未だに1件も事例が無いのでお察し

「うちの職場高学歴がいるけどぜんぜん使えねえ」ってバカにしてるのたまに見るけど、ああいうの、心の平静のために必死に粗をさがしたり力を発揮できないようにしてるんだろうなって思ってる。

競技プログラミング叩きもおなじようなものを感じる。

まあ、日本の開発現場の9割は、仕切ってるに人間が「アルゴリズムリニアサーチしか知りません」みたいな感じだから、そういうところに競技プログラミング上位者を放り込んでも、使いようがないと思うが。

anond:20240626115007

プログラミングというのはとっても奥が深くて、競技プログラミングWEB組み込みと汎用系とetc, etc... といった全く違う世界観内包している

俺たちに必要なのは天下統一のための戦国時代

戦え、そして示せ、誰がてっぺんなのかを!

2024-06-25

anond:20240625191650

残念ながらそんなもの存在しない。少なくとも俺の周囲では。

プロ出身者の使えなさは異常

anond:20240624084844 を読んで思ったこと。2番目以降は正直良くわからないが、一点目についてはわかりみしかない。

うちはメガベンチャーで内製アプリの開発保守をしてるんだが、新卒で採った青(水色?)のエンジニア連続でクソ野郎でめちゃくちゃしんどかった。

◯色コーダーマウント

ちょくちょく自分は◯色コーダーだって主張してくる。

こっちはお前が学生時代に取った資格の話なんて興味ねえんだよ。

センター試験の点数自慢してる社会人いるかいねえだろ。

評価されたければ与えられたタスク以上の成果を挙げろ。

資格自慢をしたければ、社会人にふさわしい資格を取れ。

お前のガクチカなんぞ知らん。

コードゴミ

プロエンジニアといっしょに仕事したことある人なら大体頷いてくれると思うんだが、彼らの書くコードは本当にひどい。

処理がどれだけ効率的だろうが、実務においてメンテナンサビリティの無いコードゴミだということが理解できないらしい。

しかも彼らは「コードは短くて高速なのが善」という前提を頑なに信奉しているので、注意しても聞く耳を持たない

実験Python触ってましたくらいの理系プログラマの方が可塑性があってよっぽど有益だ。

典型的ブリリアントジャーク

PRSlackの文面がいちいちキツく、他のチームメンバーを萎縮させることもしばしば。

「そんなこともわからないんですか」って本当に言う(しかも文面が永久に残る場所で)やつ本当にいるんだ、って驚愕した。

しまいには自分業務と全く関係のないリポジトリゴミPRを投げて別の部署との間で一悶着起こす始末。

流石にこれについては上長経由で苦情が来たので、コミュニケーション問題があるって人事評価で伝えることになった。

コイツらのせいであまりにも空気が悪くなり、部署全体のミッションとして「心理的安全性を高めよう」と書かざるを得ないところまで行った、といえば影響の大きさがわかるだろうか。

最終的に二人共インフラ系の部署に移ってくれて、俺等は内心ホッとしている。同じような経緯で追放された赤コーダー二人の下で、彼らの好む"競争的"環境をさぞ楽しんでいるに違いない。

自律性のなさ

彼らは与えられたタスク以上の「余計なこと」をやらない。

これはまだタスクとして振られてはいないけど、間違いなく誰かがやらないといけない事だから自分仕事にしてしまおう、みたいな気の利くムーブができない。

先見の明に欠けるというか、たぶん、彼らの中には「上から問題が与えられ、それをクリアできたら合格」という価値観が染み付いているのだろう。

もっと悲観的に捉えると、むしろ同僚を貶めれば相対的自分評価が上向くと思っているので、チームメンバーへの協力を積極的回避しているのかもしれない。


不思議なのが、この子達、出身大学全然違うのに上記問題行動は共通してたんだよね。

競技プログラミング学生人格を歪めているのか、元々歪んだやつが競技プログラミングにハマるのかわからないけど、何らかの相関はあると確信してる。

とはいえ、もしかすると我々は彼らにとって役不足だったのかもしれない。競技プログラミング出身者を採って上手くハンドリングできてる事例があったら教えてほしい。

いずれにせよ、うちは全社的にエンジニア採用の時に競技プログラミング実績は加味しないという方針になった(実際のところはマイナス評価点になっているらしいが)ので、このような悲しいミスマッチはもう起こらないだろう。

2024-06-24

周囲に競技プログラミングしてる人がいない人生だった

本当に存在するのだろうか

2024-05-19

anond:20240519114607

プログラマの中で競技プログラミング全然メジャーじゃないし

プログラマからAIとは全然限らないというかそもそも相関あるのかどうかも怪しいし

プログラマAIわかる人の割合も相当に低い

プログラマの中でも反AIの動きが出ている

競技プログラミングって知ってるか?要するにプログラミングの腕試しをするコンテストだ。で、昨日、AtCoderコンテストで起こった事件プログラマ界隈をザワつかせてる。

何があったかって?ChatGPTが使われて、普通な上級しか解けない問題が解かれたんだよ。おかげで、自分の実力じゃありえない順位に入ったやつが出てきたわけだ。

これに対して競プロコミュニティ大炎上。「ChatGPTが界隈を破壊する」「おもんない」って声が上がって、規制しろってムードが一気に広がった。

なあ、これって絵師界隈の反AI運動そっくりじゃね?

普段、親AIを気取って反AI馬鹿にしてるプログラマたちが、自分たちの立場が脅かされるとたんに反AIに早変わり。

要するに、自分たちの「城」が危なくなると、途端にAIを敵視し始めるんだよ。

この現象は、技術進歩が人々の立場や考え方にどれだけ影響を与えるかをよく示してる。

AIは便利で強力なツールだけど、それが人々の仕事趣味にどんな影響を与えるかについては、まだまだ議論必要だってことだな。

2024-04-15

要するに競技プログラミング (特にAtCoder) って

「与えられた変数のオーダーに従って、それが許容される計算量のラインアルゴリズムを探して、それを実装するゲーム

って理解で合ってる?


難しいところは

アルゴリズムを探す

実装する

という認識でいい?計算量がいくら許容されるかは結構すぐわかりそうだし

で最終的には「アルゴリズムを探す」という点に終着する。アルゴリズムがわかれば、実装するというのは比較簡単だろうしね

この変数のオーダーならO(n^2)でも大丈夫だけど、これはO(logn)のアルゴリズム必要だ。O(logn)のアルゴリズムで処理したデータはこの程度のオーダーなので......。これを繰り返していく感じ


自分マジで最初最初問題すら実装できないんだけど(AtCoderならABCのA問題すら ChatGPTの解説必要

なんとなく終着点まで見えちゃった感じ。あんまりやる気がおきない

機械学習系の競プロ計算量より、正確性を重視するのかな?

量子アルゴリズムの競プロもあるらしくて、これは興味ある

2024-03-11

知的障害

みなさんは、知的障害病という病気をご存知だろうか?

おれは、知的障害病の患者だ。高2の時に発症し、 それから今まで約20年間、ずっと苦しみ続けてきた。

知的障害病の主な症状は、その名のとおり、知能の低下だ。 またそれに付随して、精神状態悪化健康悪化も引き起こす。 恐ろしい病気だ。 真の病名や治療法については、いつか話すことがあるかも知れないが、 約束は出来ない。

知能の低下についていうと、 まずIQ推定で50ほど下げる。 主に障害される能力は、ワーキングメモリーと単純記憶であり、 これは受験的な能力に直結する。 これがおれが大学受験競技プログラミングで失敗した理由だ。 もちろん、精神健康悪化による影響も大きかった。

この病気になった時点で、東大受験は諦めざるを得なかった。 記憶力と計算力がなくなったからだ。 今思うと、 中学から好きでやってた英語は強かったので そこまで悲観することもなかったかも知れないが、 国語で明らかに不利になることを考えると、 断念せざるを得なかった。

おれにはもともと膨大なワーキングメモリがある。 最近では、これが算数トレーニング法として認知されているようだが、 おれが中学受験の時にやっていたのは、問題を頭の中で解く遊びだ。 なぜこんなことをしていたかというと、囲碁将棋では頭の中で考えるのに、 算数だけは紙に書いて考えるというのでは、 考えるの意味矛盾すると考えていたからだ。 最後まで解法を読み切りそれから答案に着手する。 自分でどう考えたかもわからないほどに 一瞬で読み切った時には脳の中に電撃が走るような感覚があり、これが快感であったことを覚えている。

あの快感をもう一度味わいたいものだ。

この状況で、 とにかく出来るだけ勉強せずに行ける大学といえば、 東工大か、あるいは京大くらいしかなかった。 それより下の大学に行くくらいならば、死んだ方がましだという考えだった。 韓国にはSKY or dieという考えがあるらしいが、 これを日本に言い換えると東京一工 or dieとなるだろう。 そういえば最近アジアンドキュメンタリーというところが出してる 「SKYに届け!韓国受験戦争」という映画を見たが、かなり面白かった。 行ったことはないが、韓国面白い国だと聞く。

ところで、人はなぜ、自身の不幸を感じるのだろう? 残念ながら、知的障害病のおれよりも頭が悪い人間死ぬほどたくさんいるのだが、 なぜ、彼らは幸せそうなのだろうか? 思うに、人は自身の望まぬ人生を生きなければならないと感じた時、不幸になる。 彼らは生まれからずっと馬鹿なので、今が馬鹿であっても不幸にならない。 一方でおれは、天才だったもの病気によって馬鹿になったので、不幸になる。 こういう理屈だろう。 この意味で、病気は確実に人を不幸にする。

絶望の中、人生呪い、親を恨み、何度死のうと思ったことか。 しかし、将来的に治療法が見つかることを信じて、なんとか耐えてきた。 容姿が良い方のため、女性関係を持つこともいくらかはあった。 これには精神的に支えられたと思う。 女にはどうやら、男を支える効果がある。 逆も真なのだろうか。 うまく出来たものだ。

まぁなんとか命からがら京大に入ることは出来て、 その頃には、あるいは京都気候が少し合ってたのかも知れないが、 多少は自身の病をコントロールする術を覚えた。

わかったことは、どうやらこの病には波があり、良い時もあれば悪い時もある。 自身スケジュールを柔軟に管理し、 調子が良い時に集中して成果を出せば、 平均的には人並みにすることは出来る。 こういう考えで、今まで生きてきた。 独身仕事スタイル含め、おれが完全な自由を好むのは、 そもそもおれが麻布京大スーパーフリーダムガンダムであることも関係するが、 そうでないと自身生活破綻してしまうからというのも大きい。

こうした自分の考えもあり、 また相手側の考えもあっただろう。 結婚を逃してきた。

おれは、おれの人生をめちゃくちゃにしたこの病を治す必要がある。 もちろん、外科的手術には何度もトライした。 しかし、すべて失敗した。

明日、おれは最後の戦いに望む。 これで最後にしたいという思いがある。

自信はある。 医学タイムスパンの中では 比較的新しめの理論に基づく手術であり、 2010年から臨床研究報告がいくつか出されているが、 これらのうちめぼしいものは大体目を通し、理屈に関しては大体理解した。 おそらく、ベクトルとしては正しいだろう。

外科手術というのは本当に恐ろしいものだ。 今回は相当な侵襲ダメージが見込まれ、動けない時期がしばらく続くはずだ。 筋トレなども、いつ再開出来るか見込みすら立たない。 手術自体も、事故は常に起こりうる。 静脈穿刺で神経を傷つけて手が麻痺したという事例もあったようだ。 また、全身麻酔中に死ぬこともある。 途中覚醒というのも起こり得る。 もちろん、手技自体ミスがあって後遺症が残ることもある。 ノーリスクの手術はあり得ない。 ブラックジャックですら、手術は賭けだと言っているのだ。

怖いが、やるしかない。やるか、死ぬか。 マックスか、死か。 この考えを持つことが重要だ。

手術は成功する。 おれは知的障害病を克服する。 そしたらやってみたいことがたくさんある。 自身の抑圧されていた頭脳解放してチャレンジしたいこともある。

もちろん、結婚もしてみたい。 出来るだろうか。 とりあえず、今夜は子供名前を考えながら 明日に備えてぐっすり眠ろうと思う。

2024-01-04

atcoder赤色統合失調症患者です

僕は統合失調症趣味人ニートです。プログラミング趣味としてやっています

競技プログラミング勉強は大変でした。atcoderレッドコーダーになるまでの一連の勉強方法について書こうと思います

実は競技プログラミングを始める前までは、統合失調症ではありませんでした。単なるニートです。

僕は生産的な趣味ネットで探し、DIYは体力を使うから嫌だし、料理は太るから嫌だという理由で、競プロにたどり着いたのです。

最初githubで公開されていた練習問題リストを反復して行いました。

そしてコンテストの日になって、実際にやってみたら3問しか解けず、結果はひどいものでした。

しか問題自体は、練習問題さえできるレベルであれば解けるものだったのです。

そこで僕は「応用力が足りない」のだと仮説を立て、応用力のためには見たことのない問題に取り組む必要があると考えました。

インターネット上で探すことのできるあらゆる練習問題リソースを探しました。leetcode, topcoder, project euler等。

しかしどうしても解けない問題いくら考えても時間無駄なので、一問10分の制限つけました。10分経ってしまったら答えを見ます

こうして新しい問題を解き続けて応用力をつけ、ようやくABCで全問正解するようになりました。

次にARCチャレンジしたら、僕はすでに応用力が十分身についていて、ARCでも全問正解しました。

こうして僕は繰り返し参加して橙色コーダーになったのです。

それでAGCに参加したのですが、やはり問題が難しくてなかなか太刀打ちできません。

問題を読解するところからして躓いてしまうのです。

繰り返し参加してみますが、レートもなかなか上がらず苦労していました。

ふと、僕は夢で悪魔が出てきました。

悪魔は僕にこう言いました「俺が問題の解き方を耳で囁いてやる。お前はただその通りに解けばいい。どうだ、交渉するか?」

僕はこの夢で交渉をしてしまったのです。

信じられませんが、それから1ヶ月間は異様な機械音のようなうるさい幻聴を聞き、プログラミングどころではありませんでした。

時々、「お前は罪を犯した!これは罰だ!」という声と共に、鼓膜が破れるような音を聞き続けたのです。

その1ヶ月間は死ぬような思いをしました。病院へ行くと、統合失調症であると言われました。

薬を処方されたら機械音を聞かなくなりましたが、頭があまり働かなくなりました。

しかし、競プロ赤色になりたいので、またコンテストに参加しました。

すると驚くことに、「お前は罪を犯した」と言ってきた時の声が聞こえてきたのです。

その声は、問題文に対して解答方法を瞬時に囁きました。

僕は頭が働かないので、そのささやきの通りにコードを書き記しました。

そうしたら、なんと見事に全問解くことができて、赤色コーダーになったのです。

僕が初心者アドバイスするとしたら、悪魔幻聴契約をするべきであると勧めます。そして統合失調症になることによって、良い成績を残せるのです。

2023-12-23

anond:20231223112719

それ書いた増田だけど、大学生の頃からバイトで開発していたし、何も困って無いやで。

本来なら通勤している時間OSSの開発や競技プログラミングに費やしているし、出社するより成長できていると思うぞ。

2023-12-16

[] 2023-12-16

今日は、英会話スクールに行ってきました。しかリモート英会話を学べばいいのに、なぜわざわざ足を運ぶ必要があるでしょうか。

私は仕事リモートなので、こうでもしないと運動をしないのです。つまり街を歩くという運動としての目的が、英会話スクールに行く理由なのです。

しかし、そうはいってもスクール代が1万円かかるので、節約のために辞めたいと思うことはあります。以前、一度そうやってやめたのですが、やはり家に籠って何もやらなくなってしまったのです。

なにより、人と会話する練習になるというのが最大の利点です。普段はあまり人と会話しないので、会話する機会があると人間不信感が和らぎます

ただ、体力があまりにもないので、英会話スクールから帰ってくると12から6時まで寝てしまます英語以外に何か有意義趣味はないものか...と悩みますが、私は社交ダンスというタイプではないので英語ぐらいでちょうどいい気がします。

東京に行けば大人数学スクールというのがあるらしいですけど、興味はないですね。数学のものに興味がある場合スクールというのは独学に比べて非効率なのです。

英語コミュニケーションが要点ですが、数学はそうではないので、スクールの利点がありません。本当は競技プログラミングとかオンラインチェスとかでバリバリとレートを残したいですけど、32歳にもなると若者の瞬発力に負けてしまます

「何者かになろうとする」という自分の行動傾向が存在するのかもしれません。集中できることに取り組んでその分野で名を知られたいとか、そういったことです。

しかしそういう虚栄心は捨てたいという気持ちのほうが強いです。ミニマリストというと語弊があるかもしれませんが、人生を楽しむうえで大切なことを残し、他人と競い合うようなことは無駄なので捨て去りたいのです。

あるユダヤ人Youtuberは、聖書を読み上げ「足るを知る者は富む」という真理について説明していました。私はすでに足りているのに、まだ何かを欲しいと願っているのかもしれませんし、そういう悪い癖は治したいです。

結局、私は「寂しい」のかもしれません。友達がいても寂しく感じてしまうのは、私が何かを言ったときに常に反応が欲しいと思ってしまうからです。

友達も暇ではないので、私に対して常に反応することはないでしょう。だから私は、「フォロワー数を稼ごう」などと、これまた虚栄心に満ちた発想を持ち、反応される確率を気にしてしまうのです。

私には「新規探求性が高い」という自覚があります。つまり、常に「新しい何か」を探しています

しかし「新しい何か」が見つからないときは非常に鬱憤が溜まります。「2023年の新しいソーシャルメディア」と検索して、確かに新しいかもしれませんが、求めていたものではないのです。

私が迷い、混乱するのはロールモデルの不在のせいかもしれません。様々な人を見てきましたが、有名人成功者ほど私が失望するような言動・行動をしているのです。

「何かが物足りない、でもそれが何なのかがわからない」これが私の悩みなのです。

ログイン ユーザー登録
ようこそ ゲスト さん