はてなキーワード: 競技プログラミングとは
こいつ競技プログラミングやってるよwwww😂
ガチだよ
「競技プログラミング」って言葉は東大で生まれて慶応SFCに盗まれた言葉
ttps://nuc.hatenadiary.org/entry/2021/04/02
競技プログラミングって、10年ちょっと前にあった東大のサークルの名前なのよ。それまではプログラミングコンテストと呼ばれてた。
そこのサークル、グーグルに大量採用されていたり色々すごかったので、関係ないやつらまでが「俺も競プロ」って名乗りだしたのが10年前。
これを改善してってお願いした。何書いてあるかわからないけど動いたよ。
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}92;92;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 }); })();
は事実だし、その上で
からな。彼が守りたいのはエンジニアリングでも本来の意味での競技プログラミングでもなく、Atcoderというサービスと自分の財布に過ぎない。
カルトと同じだよ。
「うちの職場に高学歴がいるけどぜんぜん使えねえ」ってバカにしてるのたまに見るけど、ああいうの、心の平静のために必死に粗をさがしたり力を発揮できないようにしてるんだろうなって思ってる。
まあ、日本の開発現場の9割は、仕切ってるに人間が「アルゴリズムはリニアサーチしか知りません」みたいな感じだから、そういうところに競技プログラミング上位者を放り込んでも、使いようがないと思うが。
anond:20240624084844 を読んで思ったこと。2番目以降は正直良くわからないが、一点目についてはわかりみしかない。
うちはメガベンチャーで内製アプリの開発保守をしてるんだが、新卒で採った青(水色?)のエンジニアが連続でクソ野郎でめちゃくちゃしんどかった。
こっちはお前が学生時代に取った資格の話なんて興味ねえんだよ。
お前のガクチカなんぞ知らん。
競プロエンジニアといっしょに仕事したことある人なら大体頷いてくれると思うんだが、彼らの書くコードは本当にひどい。
処理がどれだけ効率的だろうが、実務においてメンテナンサビリティの無いコードはゴミだということが理解できないらしい。
しかも彼らは「コードは短くて高速なのが善」という前提を頑なに信奉しているので、注意しても聞く耳を持たない。
実験でPython触ってましたくらいの理系プログラマの方が可塑性があってよっぽど有益だ。
PRやSlackの文面がいちいちキツく、他のチームメンバーを萎縮させることもしばしば。
「そんなこともわからないんですか」って本当に言う(しかも文面が永久に残る場所で)やつ本当にいるんだ、って驚愕した。
しまいには自分の業務と全く関係のないリポジトリにゴミPRを投げて別の部署との間で一悶着起こす始末。
流石にこれについては上長経由で苦情が来たので、コミュニケーションに問題があるって人事評価で伝えることになった。
コイツらのせいであまりにも空気が悪くなり、部署全体のミッションとして「心理的安全性を高めよう」と書かざるを得ないところまで行った、といえば影響の大きさがわかるだろうか。
最終的に二人共インフラ系の部署に移ってくれて、俺等は内心ホッとしている。同じような経緯で追放された赤コーダー二人の下で、彼らの好む"競争的"環境をさぞ楽しんでいるに違いない。
彼らは与えられたタスク以上の「余計なこと」をやらない。
これはまだタスクとして振られてはいないけど、間違いなく誰かがやらないといけない事だから自分の仕事にしてしまおう、みたいな気の利くムーブができない。
先見の明に欠けるというか、たぶん、彼らの中には「上から問題が与えられ、それをクリアできたら合格」という価値観が染み付いているのだろう。
もっと悲観的に捉えると、むしろ同僚を貶めれば相対的に自分の評価が上向くと思っているので、チームメンバーへの協力を積極的に回避しているのかもしれない。
不思議なのが、この子達、出身も大学も全然違うのに上記の問題行動は共通してたんだよね。
競技プログラミングが学生の人格を歪めているのか、元々歪んだやつが競技プログラミングにハマるのかわからないけど、何らかの相関はあると確信してる。
…とはいえ、もしかすると我々は彼らにとって役不足だったのかもしれない。競技プログラミング出身者を採って上手くハンドリングできてる事例があったら教えてほしい。
いずれにせよ、うちは全社的にエンジニア採用の時に競技プログラミング実績は加味しないという方針になった(実際のところはマイナス評価点になっているらしいが)ので、このような悲しいミスマッチはもう起こらないだろう。
競技プログラミングって知ってるか?要するにプログラミングの腕試しをするコンテストだ。で、昨日、AtCoderのコンテストで起こった事件がプログラマ界隈をザワつかせてる。
何があったかって?ChatGPTが使われて、普通なら上級者しか解けない問題が解かれたんだよ。おかげで、自分の実力じゃありえない順位に入ったやつが出てきたわけだ。
これに対して競プロコミュニティが大炎上。「ChatGPTが界隈を破壊する」「おもんない」って声が上がって、規制しろってムードが一気に広がった。
普段、親AIを気取って反AIを馬鹿にしてるプログラマたちが、自分たちの立場が脅かされるとたんに反AIに早変わり。
要するに、自分たちの「城」が危なくなると、途端にAIを敵視し始めるんだよ。
この現象は、技術の進歩が人々の立場や考え方にどれだけ影響を与えるかをよく示してる。
AIは便利で強力なツールだけど、それが人々の仕事や趣味にどんな影響を与えるかについては、まだまだ議論が必要だってことだな。
「与えられた変数のオーダーに従って、それが許容される計算量のラインのアルゴリズムを探して、それを実装するゲーム」
って理解で合ってる?
難しいところは
・アルゴリズムを探す
・実装する
という認識でいい?計算量がいくら許容されるかは結構すぐわかりそうだし
で最終的には「アルゴリズムを探す」という点に終着する。アルゴリズムがわかれば、実装するというのは比較的簡単だろうしね
この変数のオーダーならO(n^2)でも大丈夫だけど、これはO(logn)のアルゴリズムが必要だ。O(logn)のアルゴリズムで処理したデータはこの程度のオーダーなので......。これを繰り返していく感じ
自分はマジで最初の最初の問題すら実装できないんだけど(AtCoderならABCのA問題すら ChatGPTの解説が必要)
おれは、知的障害病の患者だ。高2の時に発症し、 それから今まで約20年間、ずっと苦しみ続けてきた。
知的障害病の主な症状は、その名のとおり、知能の低下だ。 またそれに付随して、精神状態の悪化、健康の悪化も引き起こす。 恐ろしい病気だ。 真の病名や治療法については、いつか話すことがあるかも知れないが、 約束は出来ない。
知能の低下についていうと、 まずIQを推定で50ほど下げる。 主に障害される能力は、ワーキングメモリーと単純記憶であり、 これは受験的な能力に直結する。 これがおれが大学受験と競技プログラミングで失敗した理由だ。 もちろん、精神と健康の悪化による影響も大きかった。
この病気になった時点で、東大受験は諦めざるを得なかった。 記憶力と計算力がなくなったからだ。 今思うと、 中学から好きでやってた英語は強かったので そこまで悲観することもなかったかも知れないが、 国語で明らかに不利になることを考えると、 断念せざるを得なかった。
おれにはもともと膨大なワーキングメモリがある。 最近では、これが算数のトレーニング法として認知されているようだが、 おれが中学受験の時にやっていたのは、問題を頭の中で解く遊びだ。 なぜこんなことをしていたかというと、囲碁や将棋では頭の中で考えるのに、 算数だけは紙に書いて考えるというのでは、 考えるの意味が矛盾すると考えていたからだ。 最後まで解法を読み切り、それから答案に着手する。 自分でどう考えたかもわからないほどに 一瞬で読み切った時には脳の中に電撃が走るような感覚があり、これが快感であったことを覚えている。
この状況で、 とにかく出来るだけ勉強せずに行ける大学といえば、 東工大か、あるいは京大くらいしかなかった。 それより下の大学に行くくらいならば、死んだ方がましだという考えだった。 韓国にはSKY or dieという考えがあるらしいが、 これを日本に言い換えると東京一工 or dieとなるだろう。 そういえば最近、アジアンドキュメンタリーというところが出してる 「SKYに届け!韓国受験戦争」という映画を見たが、かなり面白かった。 行ったことはないが、韓国は面白い国だと聞く。
ところで、人はなぜ、自身の不幸を感じるのだろう? 残念ながら、知的障害病のおれよりも頭が悪い人間は死ぬほどたくさんいるのだが、 なぜ、彼らは幸せそうなのだろうか? 思うに、人は自身の望まぬ人生を生きなければならないと感じた時、不幸になる。 彼らは生まれてからずっと馬鹿なので、今が馬鹿であっても不幸にならない。 一方でおれは、天才だったものが病気によって馬鹿になったので、不幸になる。 こういう理屈だろう。 この意味で、病気は確実に人を不幸にする。
絶望の中、人生を呪い、親を恨み、何度死のうと思ったことか。 しかし、将来的に治療法が見つかることを信じて、なんとか耐えてきた。 容姿が良い方のため、女性関係を持つこともいくらかはあった。 これには精神的に支えられたと思う。 女にはどうやら、男を支える効果がある。 逆も真なのだろうか。 うまく出来たものだ。
まぁなんとか命からがら京大に入ることは出来て、 その頃には、あるいは京都の気候が少し合ってたのかも知れないが、 多少は自身の病をコントロールする術を覚えた。
わかったことは、どうやらこの病には波があり、良い時もあれば悪い時もある。 自身のスケジュールを柔軟に管理し、 調子が良い時に集中して成果を出せば、 平均的には人並みにすることは出来る。 こういう考えで、今まで生きてきた。 独身や仕事のスタイル含め、おれが完全な自由を好むのは、 そもそもおれが麻布京大スーパーフリーダムガンダムであることも関係するが、 そうでないと自身の生活が破綻してしまうからというのも大きい。
こうした自分の考えもあり、 また相手側の考えもあっただろう。 結婚を逃してきた。
おれは、おれの人生をめちゃくちゃにしたこの病を治す必要がある。 もちろん、外科的手術には何度もトライした。 しかし、すべて失敗した。
明日、おれは最後の戦いに望む。 これで最後にしたいという思いがある。
自信はある。 医学のタイムスパンの中では 比較的新しめの理論に基づく手術であり、 2010年頃から臨床研究報告がいくつか出されているが、 これらのうちめぼしいものは大体目を通し、理屈に関しては大体理解した。 おそらく、ベクトルとしては正しいだろう。
外科手術というのは本当に恐ろしいものだ。 今回は相当な侵襲ダメージが見込まれ、動けない時期がしばらく続くはずだ。 筋トレなども、いつ再開出来るか見込みすら立たない。 手術自体も、事故は常に起こりうる。 静脈穿刺で神経を傷つけて手が麻痺したという事例もあったようだ。 また、全身麻酔中に死ぬこともある。 途中覚醒というのも起こり得る。 もちろん、手技自体にミスがあって後遺症が残ることもある。 ノーリスクの手術はあり得ない。 ブラックジャックですら、手術は賭けだと言っているのだ。
怖いが、やるしかない。やるか、死ぬか。 マックスか、死か。 この考えを持つことが重要だ。
手術は成功する。 おれは知的障害病を克服する。 そしたらやってみたいことがたくさんある。 自身の抑圧されていた頭脳を解放してチャレンジしたいこともある。
もちろん、結婚もしてみたい。 出来るだろうか。 とりあえず、今夜は子供の名前を考えながら 明日に備えてぐっすり眠ろうと思う。
僕は統合失調症の趣味人ニートです。プログラミングを趣味としてやっています。
競技プログラミングの勉強は大変でした。atcoderでレッドコーダーになるまでの一連の勉強の方法について書こうと思います。
実は競技プログラミングを始める前までは、統合失調症ではありませんでした。単なるニートです。
僕は生産的な趣味をネットで探し、DIYは体力を使うから嫌だし、料理は太るから嫌だという理由で、競プロにたどり着いたのです。
最初はgithubで公開されていた練習問題のリストを反復して行いました。
そしてコンテストの日になって、実際にやってみたら3問しか解けず、結果はひどいものでした。
しかし問題自体は、練習問題さえできるレベルであれば解けるものだったのです。
そこで僕は「応用力が足りない」のだと仮説を立て、応用力のためには見たことのない問題に取り組む必要があると考えました。
インターネット上で探すことのできるあらゆる練習問題のリソースを探しました。leetcode, topcoder, project euler等。
しかしどうしても解けない問題をいくら考えても時間の無駄なので、一問10分の制限をつけました。10分経ってしまったら答えを見ます。
こうして新しい問題を解き続けて応用力をつけ、ようやくABCで全問正解するようになりました。
次にARCにチャレンジしたら、僕はすでに応用力が十分身についていて、ARCでも全問正解しました。
それでAGCに参加したのですが、やはり問題が難しくてなかなか太刀打ちできません。
繰り返し参加してみますが、レートもなかなか上がらず苦労していました。
ふと、僕は夢で悪魔が出てきました。
悪魔は僕にこう言いました「俺が問題の解き方を耳で囁いてやる。お前はただその通りに解けばいい。どうだ、交渉するか?」
信じられませんが、それから1ヶ月間は異様な機械音のようなうるさい幻聴を聞き、プログラミングどころではありませんでした。
時々、「お前は罪を犯した!これは罰だ!」という声と共に、鼓膜が破れるような音を聞き続けたのです。
その1ヶ月間は死ぬような思いをしました。病院へ行くと、統合失調症であると言われました。
薬を処方されたら機械音を聞かなくなりましたが、頭があまり働かなくなりました。
しかし、競プロで赤色になりたいので、またコンテストに参加しました。
すると驚くことに、「お前は罪を犯した」と言ってきた時の声が聞こえてきたのです。
僕は頭が働かないので、そのささやきの通りにコードを書き記しました。
そうしたら、なんと見事に全問解くことができて、赤色コーダーになったのです。
僕が初心者にアドバイスするとしたら、悪魔と幻聴の契約をするべきであると勧めます。そして統合失調症になることによって、良い成績を残せるのです。
今日は、英会話スクールに行ってきました。しかしリモートで英会話を学べばいいのに、なぜわざわざ足を運ぶ必要があるでしょうか。
私は仕事もリモートなので、こうでもしないと運動をしないのです。つまり街を歩くという運動としての目的が、英会話スクールに行く理由なのです。
しかし、そうはいってもスクール代が1万円かかるので、節約のために辞めたいと思うことはあります。以前、一度そうやってやめたのですが、やはり家に籠って何もやらなくなってしまったのです。
なにより、人と会話する練習になるというのが最大の利点です。普段はあまり人と会話しないので、会話する機会があると人間不信感が和らぎます。
ただ、体力があまりにもないので、英会話スクールから帰ってくると12時から6時まで寝てしまいます。英語以外に何か有意義な趣味はないものか...と悩みますが、私は社交ダンスというタイプではないので英語ぐらいでちょうどいい気がします。
東京に行けば大人の数学スクールというのがあるらしいですけど、興味はないですね。数学そのものに興味がある場合、スクールというのは独学に比べて非効率なのです。
英語はコミュニケーションが要点ですが、数学はそうではないので、スクールの利点がありません。本当は競技プログラミングとかオンラインチェスとかでバリバリとレートを残したいですけど、32歳にもなると若者の瞬発力に負けてしまいます。
「何者かになろうとする」という自分の行動傾向が存在するのかもしれません。集中できることに取り組んでその分野で名を知られたいとか、そういったことです。
しかしそういう虚栄心は捨てたいという気持ちのほうが強いです。ミニマリストというと語弊があるかもしれませんが、人生を楽しむうえで大切なことを残し、他人と競い合うようなことは無駄なので捨て去りたいのです。
あるユダヤ人Youtuberは、聖書を読み上げ「足るを知る者は富む」という真理について説明していました。私はすでに足りているのに、まだ何かを欲しいと願っているのかもしれませんし、そういう悪い癖は治したいです。
結局、私は「寂しい」のかもしれません。友達がいても寂しく感じてしまうのは、私が何かを言ったときに常に反応が欲しいと思ってしまうからです。
友達も暇ではないので、私に対して常に反応することはないでしょう。だから私は、「フォロワー数を稼ごう」などと、これまた虚栄心に満ちた発想を持ち、反応される確率を気にしてしまうのです。
私には「新規探求性が高い」という自覚があります。つまり、常に「新しい何か」を探しています。
しかし「新しい何か」が見つからないときは非常に鬱憤が溜まります。「2023年の新しいソーシャルメディア」と検索して、確かに新しいかもしれませんが、求めていたものではないのです。
私が迷い、混乱するのはロールモデルの不在のせいかもしれません。様々な人を見てきましたが、有名人や成功者ほど私が失望するような言動・行動をしているのです。
「何かが物足りない、でもそれが何なのかがわからない」これが私の悩みなのです。