您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
AtCoderTagsへのTag投票を、AtCoder問題ページからTagを選ぶだけで投票できるようにします。
当前为
// ==UserScript== // @name AtCoderTags_Helper // @version 1.2 // @author Null_Null // @match https://atcoder.jp/contests/*/tasks/* // @match https://*/tasks/* // @grant none // @namespace https://github.com/null-null-programming/AtCoderTags-Helper // @description // AtCoderTagsへのTag投票を、AtCoder問題ページからTagを選ぶだけで投票できるようにします。 // @description AtCoderTagsへのTag投票を、AtCoder問題ページからTagを選ぶだけで投票できるようにします。 // ==/UserScript== (function() {})(); function getContestName() { let contestURL = location.href; let contestArray = contestURL.split('/'); return contestArray[contestArray.length - 1]; } $('#copyright').append(`<div style="padding-top:5rem"> <select name="tag" size=15 id="area1"> <option data-subgroup="Easy" value="Easy">Easy</option> <option data-subgroup="Ad-Hoc" value="Ad-Hoc">Ad-Hoc</option> <option data-subgroup="Searching" value="Searching">Searching</option> <option data-subgroup="Greedy-Methods" value="Greedy-Methods">Greedy-Methods</option> <option data-subgroup="String" value="String">String</option> <option data-subgroup="Mathematics" value="Mathematics">Mathematics</option> <option data-subgroup="Technique" value="Technique">Technique</option> <option data-subgroup="Construct" value="Construct">Construct</option> <option data-subgroup="Graph" value="Graph">Graph</option> <option data-subgroup="Dynamic-Programming" value="Dynamic-Programming">Dynamic-Programming</option> <option data-subgroup="Data-Structure" value="Data-Structure">Data-Structure</option> <option data-subgroup="Game" value="Game">Game</option> <option data-subgroup="Flow-Algorithms" value="Flow-Algorithms">Flow-Algorithms</option> <option data-subgroup="Geometry" value="Geometry">Geometry</option> </select> <select name="tag2" id="area2" size=15> <option data-group="Searching" value="Brute-Force">全探索</option> <option data-group="Searching" value="Binary-Search">二分探索</option> <option data-group="Searching" value="Ternary-Search">三分探索</option> <option data-group="Searching" value="DFS">深さ優先探索</option> <option data-group="Searching" value="BFS">幅優先探索</option> <option data-group="Searching" value="Bit-Brute-Force">bit全探索</option> <option data-group="Searching" value="Heuristic">ヒューリスティック</option> <option data-group="Searching" value="Other">その他</option> <option data-group="String" value="String-Operation">文字列処理</option> <option data-group="String" value="Rolling-Hash">ローリングハッシュ</option> <option data-group="String" value="Manacher">Manacher</option> <option data-group="String" value="Suffix-Array">Suffix-Array</option> <option data-group="String" value="Z-Algorithm">Z-Algorithm</option> <option data-group="String" value="Trie">Trie</option> <option data-group="String" value="Other">その他</option> <option data-group="Mathematics" value="Number">整数</option> <option data-group="Mathematics" value="Combinatorics">組み合わせ</option> <option data-group="Mathematics" value="Probability">確率</option> <option data-group="Mathematics" value="Expected-Value">期待値</option> <option data-group="Mathematics" value="Other">その他</option> <option data-group="Technique" value="Cumulative-Sum">累積和</option> <option data-group="Technique" value="imos">imos法</option> <option data-group="Technique" value="Two-Pointers">尺取り法</option> <option data-group="Technique" value="Split-And-List">半分全列挙</option> <option data-group="Technique" value="Square-Division">平方分割</option> <option data-group="Technique" value="Divid-And-Conquer">分割統治法</option> <option data-group="Technique" value="Doubling">ダブリング</option> <option data-group="Technique" value="Other">その他</option> <option data-group="Graph" value="Shortest-Path">最短経路</option> <option data-group="Graph" value="Minimum-Spanning-Tree">最小全域木</option> <option data-group="Graph" value="LCA">最小共通祖先</option> <option data-group="Graph" value="Strongly-Connected-Components">強連結成分分解</option> <option data-group="Graph" value="Topological-Sort">トポロジカルソート</option> <option data-group="Graph" value="Euler-Tour">オイラーツアー</option> <option data-group="Graph" value="HL-Decomposition">HL分解</option> <option data-group="Graph" value="Centroid-Decomposition">重心分解</option> <option data-group="Graph" value="Check-Tree">木の同型判定</option> <option data-group="Graph" value="Two-Edge-Connected-Components">二重辺連結成分分解</option> <option data-group="Graph" value="Bi-Connected-Components">二重頂点連結成分分解</option> <option data-group="Graph" value="Cycle-Basis">サイクル基底</option> <option data-group="Graph" value="dfs-tree">dfs木</option> <option data-group="Graph" value="Erdesh">エルデシュガライの定理</option> <option data-group="Graph" value="Other">その他</option> <option data-group="Dynamic-Programming" value="Simple-DP">基礎DP</option> <option data-group="Dynamic-Programming" value="String-DP">文字列DP</option> <option data-group="Dynamic-Programming" value="Section-DP">区間DP</option> <option data-group="Dynamic-Programming" value="Digit-DP">桁DP</option> <option data-group="Dynamic-Programming" value="Tree-DP">木DP</option> <option data-group="Dynamic-Programming" value="Every-Direction-DP">全方位木DP</option> <option data-group="Dynamic-Programming" value="Bit-DP">bitDP</option> <option data-group="Dynamic-Programming" value="Probability-DP">確率DP</option> <option data-group="Dynamic-Programming" value="Expected-Value-DP">期待値DP</option> <option data-group="Dynamic-Programming" value="Insert-DP">挿入DP</option> <option data-group="Dynamic-Programming" value="Link-DP">連結DP</option> <option data-group="Dynamic-Programming" value="Inline-DP">インラインDP</option> <option data-group="Dynamic-Programming" value="Matrix-Power">行列累乗</option> <option data-group="Dynamic-Programming" value="CHT">Convex-Hull-Trick</option> <option data-group="Dynamic-Programming" value="Monge-DP">Monge-DP</option> <option data-group="Dynamic-Programming" value="Alien-DP">Alien-DP</option> <option data-group="Dynamic-Programming" value="Kitamasa">きたまさ法</option> <option data-group="Dynamic-Programming" value="Other">その他</option> <option data-group="Data-Structure" value="stack">stack</option> <option data-group="Data-Structure" value="queue">queue</option> <option data-group="Data-Structure" value="set">set</option> <option data-group="Data-Structure" value="map">map</option> <option data-group="Data-Structure" value="deque">deque</option> <option data-group="Data-Structure" value="multiset">multiset</option> <option data-group="Data-Structure" value="priority_queue">priority_queue</option> <option data-group="Data-Structure" value="Union-Find-Tree">Union-Find-Tree</option> <option data-group="Data-Structure" value="BIT">Binary-Indexed-Tree</option> <option data-group="Data-Structure" value="Segment-Tree">Segment-Tree</option> <option data-group="Data-Structure" value="Lazy-Segment-Tree">Lazy-Segment-Tree</option> <option data-group="Data-Structure" value="Sparse-Table">Sparse-Table</option> <option data-group="Data-Structure" value="WaveletMatrix">WaveletMatrix</option> <option data-group="Data-Structure" value="Persistent-Data-Structures">永続データ構造</option> <option data-group="Data-Structure" value="Balanced-Tree">平衡二分探索木</option> <option data-group="Data-Structure" value="Other">その他</option> <option data-group="Game" value="Nim">Nim</option> <option data-group="Game" value="Grundy">Grundy数</option> <option data-group="Game" value="Backtrack">後退解析</option> <option data-group="Game" value="Mini-Max">ミニマックス法</option> <option data-group="Game" value="unique">特殊な性質</option> <option data-group="Game" value="Other">その他</option> <option data-group="Flow-Algorithms" value="Max-Flow">最大流問題</option> <option data-group="Flow-Algorithms" value="Min-Cost-Flow">最小費用流問題</option> <option data-group="Flow-Algorithms" value="Bipartite-Matching">二部マッチング</option> <option data-group="Flow-Algorithms" value="Min-Cut">最小カット</option> <option data-group="Flow-Algorithms" value="Burn">燃やす埋める</option> <option data-group="Flow-Algorithms" value="Other">その他</option> <option data-group="Geometry" value="Convex-Hull">凸包</option> <option data-group="Geometry" value="Declination-Sorting">偏角ソート</option> <option data-group="Geometry" value="Three-D">三次元</option> <option data-group="Geometry" value="Other">その他</option> </select> <br> <br> <input id="atcoder_tag_vote" type="submit" value="Submit" class="btn btn-primary"> </div>`); (async function() { $('#atcoder_tag_vote').click(function() { var name=$('#area1').val(); var name2=$('#area2').val(); var probleme_id = getContestName(); window.open().location.href =(('https://atcoder-tags.herokuapp.com/vote_result?problem_id=' + probleme_id + '&tag=' + name +'&tag2='+name2)) }) })(); (async function(){ //地域セレクトボックスイベント設定 setHierarchySelectEvent('#area1', '#area2'); //セレクトボックスの初期値 $('#area1').val('1').change(); $('#area2').val('2').change(); function setHierarchySelectEvent(parentSelect, childSelect) { var initCategorySmallHtml = $(childSelect).html(); $(parentSelect).change(function () { if (1 < $(this).find('option:selected').length) {//複数選択時に処理 $(childSelect).find("option").each(function (index, element) { $(element).remove(); }); } else { var subgroup = $(this).find('option:selected').attr('data-subgroup'); $(childSelect).html(initCategorySmallHtml); $(childSelect).find("option").each(function (index, element) { var group = $(element).attr('data-group'); if (group) { if (subgroup == group) { //$(element).css('display', 'block');//IEではoptionタグに対してdisplayは効かないため } else { //$(element).css('display', 'none');//IEではoptionタグに対してdisplayは効かないため $(element).remove(); } } }); } $(childSelect).val('').change();//未選択時の値は''じゃない場合は書き換えてね }); } })();