// ==UserScript==
// @name WZOI 辅助工具
// @namespace http://tampermonkey.net/
// @description 在 WZOI 中,给样例输入输出、表格等添加复制按钮。并可以一键吸氧、增加搜索、查看自己以前的 AC 代码。
// @version 2025-04-12h2
// @author chenbs
// @match http://wzoi.cc/*
// @match http://python.wzms.com/*
// @match https://wzoi.cc/*
// @match https://python.wzms.com/*
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
// 复制字符串函数
function copy(text) {
let input = document.createElement('textarea');
input.setAttribute('id', 'input_for_copyText');
input.value = text;
document.getElementsByTagName('body')[0].appendChild(input);
document.getElementById('input_for_copyText').select();
document.execCommand('copy');
document.getElementById('input_for_copyText').remove();
}
// 样例
let fa = document.getElementsByClassName("sample_io");
for (let i = 0; i < fa.length; i++) {
if (fa[i].innerText.includes("样例")) {
// 分割多个样例
let tmp = fa[i].innerText.split("样例");
for (let j = 1; j < tmp.length; j++) {
console.log(tmp[j]);
// "样例1" 这样的
if (48 <= tmp[j].charCodeAt(0) && tmp[j].charCodeAt(0) <= 57 && tmp[j][1] == "\n") tmp[j] = tmp[j].substring(2, tmp[j].length);
// "样例1:" 这样的
if (tmp[j][1] == ":" || tmp[j][1] == ":") tmp[j] = tmp[j].substring(2, tmp[j].length);
// "样例输入1:" 这样的
else if (tmp[j][0] == "输" && (tmp[j][1] == "入" || tmp[j][1] == "出") && (tmp[j][3] == ":" || tmp[j][3] == ":")) tmp[j] = tmp[j].substring(4, tmp[j].length);
tmp[j] = tmp[j].trim();
}
for (let j = 1; j < tmp.length - 1; j++) {
let pre = document.createElement("pre");
pre.className = "new_sample_io";
pre.innerText = tmp[j];
fa[i].parentNode.insertBefore(pre, fa[i]);
}
fa[i].innerText = tmp[tmp.length - 1];
}
}
while (1) {
let tmp = document.getElementsByClassName("new_sample_io");
if (tmp.length == 0) break;
tmp[0].className = "sample_io";
}
for (let i = 0; i < fa.length; i++) {
while (fa[i].innerText[fa[i].innerText.length - 1] == "\n") fa[i].innerText = fa[i].innerText.substr(0, fa[i].innerText.length - 1); // 删除末尾回车
let cp = document.createElement("button");
cp.className = "copy-button";
cp.innerText = "复制";
cp.onclick = function () { let s = this.parentNode.innerText; copy(s.substr(0, s.length - 3)); };
fa[i].appendChild(cp);
}
// 个人简介
fa = document.getElementsByClassName("card-header");
for (let i = 0; i < fa.length; i++) {
if (fa[i].parentNode.className != "card") continue;
fa[i].style.display = "flex";
let cp = document.createElement("button");
cp.className = "copy-button";
cp.innerText = "复制";
cp.style.marginLeft = "15px";
cp.onclick = function () { let s = this.parentNode.parentNode.children[1].innerText; copy(s); };
fa[i].appendChild(cp);
}
// 表格
fa = document.getElementsByTagName("table");
for (let i = 0; i < fa.length; i++) {
if (fa[i].children[0].tagName != "THEAD") continue;
fa[i].style.marginTop = "20px";
let cp = document.createElement("button");
cp.className = "copy-button";
cp.innerText = "复制表格 Markdown";
cp.style.position = "absolute";
cp.style.transform = "translate(0px,-75px)";
cp.onclick = function () {
function calc(s) { // 转义字符
let s2 = "";
for (let i = 0; i < s.length; i++) {
if (s[i] == "|" || s[i] == "*" || s[i] == "~") s2 += "\\";
s2 += s[i];
}
return s2;
}
// 表格头部
let head = this.parentNode.children[1].children[0].children;
let s = "|";
for (let j = 0; j < head.length; j++) s += calc(head[j].innerText) + "|";
s += "\n|";
for (let j = 0; j < head.length; j++) s += ":-:|";
// 表格内容
let body = this.parentNode.children[2].children;
for (let j = 0; j < body.length; j++) {
s += "\n|";
for (let k = 0; k < body[j].children.length; k++) {
// 显示打勾图标
if (body[j].children[k].innerHTML.includes("<span class=\"fa fa-check\" style=\"color:green\"></span>")) s += "✅|";
// 显示完整用户名
else if (body[j].children[k].innerHTML.includes("user-badge badge badge-light")) {
if (body[j].children[k].children[0].children[0].dataset.nickname == "") s += body[j].children[k].children[0].children[0].dataset.uname + "|";
else s += body[j].children[k].children[0].children[0].dataset.nickname + "|"; // 有真名就显示真名
}
else s += calc(body[j].children[k].innerText) + "|";
}
}
copy(s);
};
fa[i].insertBefore(cp, fa[i].firstChild);
}
// 样式
let tmp = document.createElement("style");
tmp.innerText = `
button.copy-button{
display: block;
transition:all .2s ease;
}
button.copy-button:hover{
background: #DDDDDD;
}
`;
document.body.appendChild(tmp);
// 一键吸氧
{
let fa = document.getElementById("sol-form");
if (fa != null) {
const o3 = "#pragma GCC optimize(3,\"Ofast\",\"inline\")\n#pragma G++ optimize(3,\"Ofast\",\"inline\")";
const TEXTnode = fa.children[5].children[0];
let tmp = document.createElement("button");
tmp.className = "btn btn-primary";
tmp.innerText = "吸氧";
TEXTnode.addEventListener("input", () => {
if (TEXTnode.value.includes(o3)) tmp.innerText = "取消吸氧";
else tmp.innerText = "吸氧";
});
tmp.onclick = function (event) {
if (tmp.innerText == "取消吸氧") {
TEXTnode.value = TEXTnode.value.replaceAll(o3 + "\n", "").replaceAll(o3, "");
tmp.innerText = "吸氧";
} else {
TEXTnode.value = o3 + "\n" + TEXTnode.value;
tmp.innerText = "取消吸氧";
}
event.stopPropagation();
return false;
}
fa.appendChild(tmp);
}
}
// 增强搜索
if (window.location.hostname == "wzoi.cc") {
const HideQuestionTable = { "读书": 109, "恐怖分子": 115, "数字整除": 117, "黑子的篮球": 208, "吹响!上低音号": 209, "Love Live!": 210, "小林家的龙女仆": 211, "BYC打篮球": 222, "BYC的察哈尔省": 223, "BYC玩数字": 224, "BYC等外卖": 226, "察哈尔省的扰咒术": 238, "Bychaha续命 ": 239, "RWY停车": 272, "RWY的分数": 273, "RWY铺地砖": 274, "RWY造函数": 275, "数字位数": 276, "切个蛋糕": 277, "元素和": 278, "查找值": 279, "水题": 280, "可爱的素数": 281, "枪王之王——ANZ": 282, "山口山": 283, "喝饮料": 284, "统计分数2": 285, "NOI组合": 286, "IwantMoreAC": 287, "对抗": 288, "天天的暑假作业": 289, "PBX的奴隶主": 290, "HXL下象棋": 291, "初识数字": 293, "骨牌的数量": 322, "最小和": 323, "AB数字游戏": 324, "序列操作": 371, "Magic Stone": 510, "基因分析": 520, "ByChaHa写线段树 改": 521, "TLE A题目--第五期测试": 523, "TLE的乘幂": 524, "TLE过数学节": 525, "TLE的sort": 526, "能力测验": 533, "数的计数 count": 535, "跑路 road": 536, "RP字符串 string ---无数据 ---后面9题题解下载": 537, "逆序对": 538, "病毒": 539, "解密": 540, "吃饭": 541, "JP采菊花": 542, "二八杠": 543, "牛牛": 544, "诈金花": 545, "最大连续和II-可以交换数字": 546, "迷恋": 547, "BYChaha画圈": 551, "机巧的ZYC不会受伤": 552, "某科学的小矩阵": 553, "Steins;Gate(附加TIP)": 554, "KOTORI x UMI": 560, "NICO x MAKI": 561, "我们是合而为一的光": 562, "year": 564, "pingpang": 565, "lucky": 566, "shopping": 568, "array": 569, "knapsack": 570, "polygon": 571, "简单语言 II": 578, "xzl炸碉堡": 655, "PYR做乘法": 668, "牛宫": 677, "技能树": 678, "最小密度路径": 679, "挖掘机技术哪家强": 680, "操作挖掘机": 681, "挖掘机迷阵": 682, "挖掘机阵列": 683, "地壳运动": 684, "孤独一生": 686, "木工": 687, "舞会": 688, "几何": 689, "悄然苏醒": 690, "犹在镜中": 691, "乘风而归": 692, "方块游戏": 693, "计算器": 694, "小明坐车 --第一期测试2": 695, "立方和": 696, "算数 --第一期测试1": 697, "爱发誓的XZL": 698, "零浊犯属": 699, "新疆广场": 700, "中亚酒吧": 701, "可怜的波特": 702, "GAP": 703, "智慧碑": 704, "射命丸文": 705, "面壁": 706, "P=NP?": 707, "公路维修": 708, "WZK旅游": 709, "送货的难题 shdnt": 710, "庆祝生日 Qzsr": 711, "云端漫步 Ydmb": 712, "硬要无视你的未来": 713, "夏空彼方": 714, "万华镜": 715, "换汽水": 716, "运动会": 717, "送快递": 720, "连续整数积": 732, "网络流量": 736, "养宠物": 737, "单词": 738, "回文串": 739, "填数游戏(game)": 740, "堆书": 741, "世界第一的猛汉王": 744, "count": 745, "时代的眼泪": 756, "骗票计划": 757, "数字变换": 759, "皇后问题": 760, "生日蛋糕": 761, "栅栏的木料": 762, "素数方阵": 763, "Air Conditioning Machinery": 764, "土豆": 765, "西兰花": 766, "番茄": 767, "无穷的序列(seq)": 768, "幸运数列(lucky)": 769, "排序游戏(sort)": 770, "娱乐程度(coaster)": 771, "温州牧场(sgraze)": 772, "找羊": 774, "跳舞": 775, "翻转游戏": 776, "密码": 777, "买糖吃": 778, "浇花": 779, "牧场的划分 grazeset": 780, "diyiti": 781, "dierti": 782, "disanti": 783, "Enter the Grand Line! enter": 784, "数列 sequence": 785, "Taxi taxi": 786, "买菜 market": 789, "好朋友 friend": 791, "砍树 cut": 792, "数字账号": 804, "高精度除高精度": 807, "麻烦的进制转换": 808, "学生代表": 810, "车厢重组": 812, "军事机密": 813, "输油管道": 814, "质数的和与积": 819, "家庭作业": 852, "红与黑": 854, "三角阵": 858, "LETTERS": 864, "小游戏": 866, "走迷宫": 867, "数极光": 871, "武士风度的牛": 873, "细菌污染": 874, "锁妖塔": 878, "架子": 879, "图形判断": 883, "Astro": 885, "Hrpa": 886, "Why Did the Cow Cross the Road II-P": 887, "艰难取舍": 888, "变音量": 889, "Dugovi": 890, "小胖办证": 891, "传球游戏": 904, "计算后缀表达式的值": 910, "神经网络": 939, "无线通讯网 ": 957, "校门外的区间": 975, "逃亡": 987, "网络1": 992, "网络2": 993, "F(x)": 1006, "Round Numbers": 1008, "B_number": 1010, "数列": 1022, "覆盖墙壁": 1023, "小肥猪": 1024, "斐波那契数列": 1025, "多米诺骨牌": 1026, "错位排列": 1027, "阶乘问题 fact": 1028, "汤姆斯的天堂梦 par": 1029, "穿越栅栏 lan": 1030, "牛奶专卖店 scavhunt": 1031, "楼兰图腾": 1033, "虔诚的墓主人": 1034, "HH的项链": 1035, "Tree 园丁的烦恼": 1036, "钻石游戏 diamond": 1040, "Mult mult": 1041, "edit edit": 1043, "愧疚指数": 1044, "冬眠": 1045, "合照": 1046, "戴夫的信": 1047, "车厢重组 carry": 1048, "装备运输 transport": 1049, "《捐款》后续 belia": 1050, "机器人搬重物 robot": 1051, "大学校区 campus": 1052, "雇用计划 employ": 1053, "淘汰赛制 elimination": 1054, "石头剪刀布": 1055, "建造": 1056, "有趣的数列": 1057, "失眠": 1058, "Message Relay relay": 1063, "油滴扩展 box": 1064, "Poker Hands poker": 1065, "The Cow Run cowrun": 1066, "挑战nbc": 1067, "论战大原题": 1068, "鏖战字符串": 1069, "波浪数 num": 1070, "混合牛奶 milk": 1071, "安全逃离 evac": 1072, "Math math": 1073, "关闭道路 road": 1074, "滑雪 skiing": 1075, "字符串匹配": 1076, "积木大赛": 1077, "考古研究 geologic": 1078, "玩具装箱": 1079, "铁路运费": 1080, "城墙": 1081, "Cow Race": 1082, "跑步": 1083, "最大三角形": 1084, "过路费": 1085, "LoveCalculator": 1086, "Breed Assignment": 1087, "Farm painting": 1089, "排序": 1090, "画L": 1091, "合并序列": 1092, "写数字 write": 1094, "做作业 work": 1095, "数数 count": 1096, "试题1": 1097, "试题2": 1098, "试题3": 1099, "博弈": 1122, "中位数": 1123, "宽搜": 1124, "HH去散步": 1133, "数学作业": 1134, "Swamp 沼泽鳄鱼": 1135, "GT考试": 1136, "三元环(bitset)": 1137, "Count": 1138, "delete": 1139, "Floor it": 1140, "排列": 1141, "字符串 string": 1142, "数 number": 1143, "Breed Proximity": 1144, "阶乘": 1145, "Alien 的数列": 1146, "奶牛的比赛": 1147, "贪心只能过样例": 1148, "简单题": 1150, "wangxz与OJ": 1151, "Query on a tree III": 1152, "大根堆": 1153, "城市": 1154, "雨天的尾巴": 1155, "连通数": 1156, "舞蹈课": 1157, "种树": 1158, "count 数字计数": 1160, "区间 range": 1162, "回文串 palindrome": 1163, " 异或 xor": 1164, "函数": 1165, "排列 perm": 1166, "数字串 num": 1167, " Ordered Fractions 顺序的分数": 1168, "sort 三值的排序": 1169, "cowtour 奶牛旅行": 1171, "Humble Numbers 丑数": 1172, "Contact 联系": 1173, "yoda": 1174, "han": 1175, "chewbacca": 1176, "endor": 1177, "越野跑 racing": 1178, "iCow icon": 1179, "太空电梯 elevator": 1180, "运输 trans": 1181, "循环数": 1182, "Party Lamps 派对灯": 1183, "zerosum": 1184, "Alien 的能量": 1185, "Stamps 邮票": 1186, "Shopping Offers 商店购物": 1187, "K相等": 1196, "最大面积": 1225, "文件名排序": 1226, "取数": 1227, "航空公司": 1228, "动物世界": 1229, "走近科学": 1230, "自然传奇": 1231, "稻草富翁": 1232, "数学研究": 1233, "约*大作战": 1234, "第一题": 1235, "第二题": 1236, "第三题": 1237, "中间数": 1238, "操作数列": 1239, "幂运算": 1240, "箱子嵌套": 1241, "chess": 1246, "spell": 1247, "game": 1248, "桐桐的雷达": 1249, "桐桐的游戏": 1250, "桐桐的递归函数": 1251, "桐桐的新闻系统": 1252, "friend": 1259, "money": 1260, "point": 1261, "伪随机": 1262, "子序列": 1263, "一起加油": 1264, "Introduct": 1265, "Development": 1266, "Closing": 1267, "道路规划": 1268, "逻辑判断": 1269, "区间": 1270, "汉诺塔": 1271, "Rank(rank.cpp/c/pas, 1s, 64MB)": 1272, "Tree(tree.cpp/c/pas, 1s, 256MB) ": 1273, "Set": 1274, "Read(read.cpp/c/pas, 1s, 16MB)": 1275, "Race(race.cpp/c/pas, 1s, 256MB)": 1276, "抄代码": 1277, "做运动": 1278, "大逃杀": 1279, "非法输入": 1280, "手机信号": 1281, "量子纠缠": 1282, "古韵之同心锁": 1283, "古韵之鹊桥相会": 1284, "古韵之刺绣": 1285, "古韵之乞巧": 1286, "The World": 1287, "I’m Curious": 1288, "Nobel": 1289, "generator": 1290, "string": 1291, "graph": 1292, "简单的序列(bracket)": 1293, "简单的期望(exp)": 1294, "简单的操作(merge)": 1295, "简单的区间(interval)": 1296, "简单的玄学(random)": 1297, "简单的填数(seq)": 1298, "chaha": 1299, "eat": 1300, "tree": 1302, "老虎机": 1303, "01背包": 1304, "盛大的庆典": 1305, "括号序列": 1306, "砍树": 1307, "printemps": 1308, "游戏": 1313, "Zws": 1315, "Station": 1316, "Path": 1317, "Size": 1318, "Recruit": 1319, "fish": 1320, "paint": 1321, "Mirrors": 1322, "解压op": 1323, "按键": 1324, "Alien 的田野": 1325, "attack": 1326, "training": 1327, "立方数": 1328, "动态规划 (dp.cpp/c/pas)": 1329, "游戏": 1330, "导弹防御": 1331, "磁力块": 1332, "金字塔": 1333, "神犇大战": 1334, "量化交易": 1335, "传纸条": 1336, "二叉树": 1337, "跳舞": 1338, "数列": 1340, "矩阵求和": 1353, "查找特定的值2 --第二期测试": 1354, "背单词": 1359, "仙人掌": 1428, "树状数组": 1429, "多项式": 1430, "汉诺塔--下载PDF试题": 1431, "线段树": 1432, "字符串": 1433, "随机树生成器": 1434, "旅行者": 1435, "小星星": 1436, "大森林": 1437, "线段树": 1438, "电阻网络": 1439, "幻想乡战略游戏": 1440, "地震后的幻想乡": 1441, "诸神眷顾的幻想乡": 1442, "黑客技术": 1443, "醉醺醺的幻想乡": 1444, "幻想乡wifi搭建": 1445, "消棋子": 1446, "力": 1447, "星系调查": 1448, "2048": 1449, "取石子游戏": 1450, "璀灿光华": 1451, "K 大数查询": 1452, "蚂蚁寻路": 1453, "防守战线": 1454, "抛硬币": 1455, "丽洁体": 1456, "话旧": 1457, "Plan metra": 1511, "Prawnicy": 1513, "Sabota?": 1518, "Turysta": 1519, "Czarnoksiężnicy okrągłego stołu": 1525, "Kinoman": 1526, "Łasuchy": 1528, "Pieczęć": 1529, "Logistyka": 1531, "Myjnie": 1533, "Pustynia": 1536, "Salad Bar": 1540, "Hotel": 1541, "Bricks": 1542, "Couriers": 1543, "Snake": 1544, "Card": 1545, "Around the world": 1546, "Criminals": 1547, "FarmCraft": 1548, "Freight": 1549, "Little Bird": 1550, "Rally": 1551, "Solar lamps": 1552, "Solar Panels": 1553, "Supercomputer": 1554, "Tourism": 1555, "Ant colony": 1556, "Take-out": 1559, "Multidrink": 1565, "Festival": 1570, "Rendezvous": 1573, "Warehouse Store": 1584, "Tree Rotations": 1587, "Lollipop": 1592, "Dynamite": 1597, "Meteors": 1599, "Programming Contest": 1603, "二进制位处理": 1621, "表达式求值": 1623, "萨菲克斯": 1625, "方克勋": 1626, "塞鲁尔": 1627, "求次大值和次小值": 1632, "robot": 1634, "猴子吃桃": 1638, "数列": 1639, "旅游": 1640, "小蓝的好友": 1642, "灾难": 1643, "网络": 1644, "波浪": 1645, "礼物": 1646, "看电影": 1647, "最小割": 1648, "细胞": 1649, "营救皮卡丘": 1650, "道馆之战": 1651, "数字计数": 1652, "网络扩容": 1653, "基站选址": 1654, "排列计数": 1655, "任务安排": 1656, "贪吃的老鼠": 1657, "函数": 1658, "假期的宿舍": 1659, "硬币游戏": 1660, "多米诺骨牌": 1661, "硬币游戏": 1662, "狼和羊的故事": 1663, "取石子游戏": 1664, "对称的正方形": 1665, "杀蚂蚁": 1666, "泡泡堂": 1667, "Risk": 1668, "树的统计": 1669, "生日聚会": 1670, "瞭望塔": 1671, "无序运动": 1672, "骑士": 1673, "棋盘制作": 1674, "报表统计": 1675, "矩阵游戏": 1676, "时态同步": 1677, "最大半连通子图": 1678, "粒子运动": 1679, "捉迷藏": 1680, "仓库建设": 1681, "GameZ游戏排名系统": 1682, "《三色二叉树》": 1683, "《反质数》": 1684, "物流运输": 1685, "碗的叠放": 1686, "超级麻将": 1687, "书架": 1688, "皇帝的烦恼": 1689, "单旋": 1690, "影魔": 1691, "礼物": 1692, "大佬": 1693, "队长快跑": 1694, "抛硬币": 1695, "最小公倍数": 1696, "网络": 1697, "树": 1698, "序列": 1699, "矿区": 1700, "大数": 1701, "追求独特": 1704, "Painting the Fence": 1705, "Ambigram 串": 1706, "圈地": 1707, "阶乘": 1708, "郁闷的出纳员": 1709, "玩游戏": 1710, "亚瑟王": 1711, "接水果": 1712, "菜肴制作": 1713, "落忆枫音": 1714, "开店": 1715, "实验比较": 1716, "画框": 1717, "世界树": 1718, "米特运输": 1719, "抄卡组": 1720, "道路堵塞": 1721, "江南乐": 1722, "比赛": 1723, "消毒": 1724, "旅行": 1725, "数列": 1726, "游走": 1727, "切糕": 1728, "幸运数字": 1729, "萌萌哒": 1730, "妖怪": 1731, "美味": 1732, "ADV-79 时间转换 ": 1740, "双十字": 1741, "与非": 1742, "排队": 1743, "矿场搭建": 1744, "三角形覆盖问题": 1745, "射箭": 1746, "永无乡": 1747, "集合选数": 1748, "数字表格": 1749, "树点涂色": 1750, "序列计数": 1751, "新生舞会": 1752, "硬币游戏": 1753, "相关分析": 1754, "龙与地下城": 1755, "苹果树": 1756, "切树游戏": 1757, "天才黑客": 1758, "文本校正": 1760, "储能表": 1761, "数字配对": 1762, "游戏2": 1763, "生成魔咒": 1764, "排列计数": 1765, "征途": 1766, "模式字符串": 1767, "齿轮": 1771, "平凡的骰子": 1772, "最多的分割": 1784, "兄弟郊游问题": 1788, " 乘法逆元 2": 1791, "奋斗的小蜗牛": 1792, "素MM": 1795, "Escape": 1796, "ACM CLUB晚会": 1797, "笨鸟先飞": 1798, "猜数字": 1799, "算步数": 1804, "最小值中的最大值的最大值": 1817, "围棋": 1822, "小凸玩矩阵": 1841, "国旗计划": 1845, "杨辉三角": 1846, "Maf": 1872, "biu": 1882, "软件版本": 1885, "当总统": 1886, "构建矩阵": 1887, "期末成绩": 1888, "电梯升降": 1889, "通信系统": 1890, "稀疏矩阵快速转置": 1898, "求最大素因子": 1900, "Ranklist sorting": 1901, "C翻转": 1903, "打牌": 1904, "Sound": 1907, "遥远的村庄": 1908, "约数环": 1909, "保险丝": 1910, "王国的成熟度": 1911, "游花园": 1912, "Fence": 1913, "Zap": 1917, "Grz": 1918, "meg": 1919, "Gra": 2102, "SZN": 2103, "小凸想跑步": 2115, "小凸玩密室": 2116, "小凸解密码": 2117, "情报传递": 2118, "Connected Points": 2127, "Razlika": 2134, "Sequence": 2135, "Coin": 2136, "Bitwise": 2141, "City": 2142, "Jump": 2155, "combination(lucas定理)": 2159, "COUNTRIES": 2164, "RLE COMPRESSION": 2165, "Longge的问题": 2167, "欧拉回路": 2171, "整数开方": 2174, "韩信点兵": 2176, "二叉链表存储的二叉树": 2177, "乘法逆元【模板】": 2180, "最短路径问题": 2181, "约数的个数": 2274, "简单数谜": 2276, "最远距离": 2283, "兄弟相残": 2284, "拼火柴": 2288, "福尔摩斯的约会": 2290, "德才论": 2291, "逆波兰表达式": 2294, "破译密文": 2299, "格子游戏": 2300, "机器人比赛": 2303, "砍树": 2304, "日期累加": 2331, "瘫痪的电脑": 2334, "有假币": 2338, "Fiolki": 2342, "Kuglarz": 2344, "Zadanie": 2356, "ZOJ问题": 2401, "开门人和关门人": 2403, "游船出租": 2406, "魔咒词典": 2408, "二分法求函数的零点": 2410, "判断是否为两位数": 2419, "判断一个数是否为两位数": 2420, "三位数的数字重组": 2421, "循环输出": 2422, "二维数组矩阵": 2423, "饭团": 2424, "二维数组矩阵进阶": 2426, "加减算术试卷": 2427, "求两个数的和": 2428, "打印菱形": 2429, "Hello World!": 2430, "求两个整数的和": 2431, "求两个数的商与余数": 2432, "判断奇偶": 2433, "帮老师统计成绩": 2434, "帮老师评定成绩": 2435, "乘法口诀表": 2439, "统计优秀率": 2440, "营养膳食": 2442, "足球比赛": 2443, "捉迷藏": 2444, "上网": 2445, "次方和": 2446, "你好世界": 2448, "方块": 2449, "田忌赛马": 2450, "和差游戏": 2451, "Gcd": 2487, "仪仗队(欧拉函数)": 2494, "沙拉公主的困惑": 2499, "线图": 2516, "历史": 2517, "迷宫": 2518, "猴子拆房": 2519, "猴子除草": 2520, "猴子爬树": 2521, "搜狗": 2534, "众筹": 2535, "If’s Robomaster": 2536, "Bleaves’ Painting": 2537, "Mogician’s Kar98k": 2538, "Luci’s Songs": 2539, "签(G)到(G)题": 2540, "良(du)心(liu)题": 2541, "滚(shuju)粗(jiegou)题": 2542, "省(da)选(shui)题": 2543, "A.这是第一题": 2544, "B.这是一道送分题": 2545, "D.这是一道你会写上一题就会写的题": 2547, "E.这是最后一题": 2549, "A.大老师的见面礼": 2550, "B.结衣的人品统计": 2551, "C.学生会的编号": 2552, "D.雪乃的数学题": 2553, "除草": 2555, "2.E.雪乃的数学题2": 2557, "2.C.拍照": 2558, "2.B.结衣的巧克力": 2559, "2.A.又是一道送分题": 2560, "2.D.文化祭": 2561, "mex": 2562, "概率充电器": 2580, "简单的乘法": 2625, "简单的阶乘": 2626, "简单的序列": 2627, "简单的青蛙": 2628, "max": 2644, "火柴": 2645, "游戏": 2646, "Hack比赛": 2647, "Folding": 2650, "permutation": 2651, "工作分配": 2652, "维护数列": 2653, "寻找": 2654, "山中高地": 2655, "最优分割": 2657, "「网络流 24 题8」机器人路径规划问题": 2681, "上帝与集合的正确用法": 2710, "树": 2742, "胖": 2743, "保镖": 2744, "相逢是问候": 2768, "评比优秀生": 2769, "分卡片": 2770, "小云做生意": 2778, "咱们一起找规律": 2779, "小明滑冰": 2780, "无归岛": 2781, "SPJ测试": 2795, "A+B Problem With SPJ": 2801, "A+B Problem With SPJ II": 2802, "旅行问题": 2803, "古代猪文": 2804, "股票交易": 2805, "文本生成器": 2828, "题面测试": 2830, "TLE掉这些代码!": 2870, "仪仗队2": 2874, "Exhibit": 2875, "【信息】防 AK 题": 2878, "平行线": 2880, "嘘の火花--回滚莫队": 2881, "人渣的本愿": 2882, "简单签到题": 2883, "哎呦喂(aiyouwei)": 2888, "我的天(ohmygod)": 2889, "Czl(czl)": 2890, "lala买面包": 2891, "舳舻牌": 2892, "lala修路": 2893, "花开花落": 2895, "生命同在": 2896, "岁月依然----题解请在本题下方下载": 2897, "树的计数(prufer数列)": 2898, "上帝造题的七分钟2": 2900, "归程": 2901, "你的名字": 2902, "冒泡排序": 2903, "屠龙勇士": 2904, "情报中心": 2905, "多边形": 2906, "整数--下载PDF试题": 2907, "蚯蚓排队": 2908, "泳池": 2909, "游戏--下载PDF试题": 2910, "蔬菜": 2911, "分身术": 2912, "优秀的拆分--PDF试题": 2913, "网格": 2914, "区间--PDF试题": 2915, "程序自动分析": 2916, "寿司晚宴": 2917, "合唱彩排": 2918, "荷马史诗": 2919, "品酒大会": 2920, "小园丁与老司机": 2921, "国王饮水记": 2922, "旷野大计算 无spj,请不要提交": 2923, "陶陶抢苹果": 2925, "细菌": 2926, "水流": 2927, "任务分配": 2928, "生日礼物": 2931, "超级磁暴": 2932, "账户识别": 2935, "堵塞的交通": 2938, "寻宝游戏--下载PDF试题": 2939, "转盘": 2940, "毒瘤": 2941, "游戏--下载PDF试题": 2942, "排列": 2943, "道路": 2944, "物理实验": 2945, "战略游戏": 2946, "反回文串": 2947, "原题识别": 2948, "旧试题": 2949, "荣誉称号": 2950, "寻宝游戏": 2952, "星际战争 无spj,请不要提交": 2954, "约数个数和": 2955, "气运之末--请在本题下方下载三题的大样例": 2958, "命运敕令": 2959, "虚妄之诺---请在本题下方下载本次测试的题解": 2960, "数根": 2962, "奇怪的数列": 2963, "理财": 2964, "杀怪物": 2965, "明明的烦恼": 2966, "道路修建": 2967, "最长公共子序列(加强版)(O(N^2)能过)": 2969, "数表": 2971, "数数": 2972, "Lis": 2973, "重建": 2974, "向量集": 2975, "交互程序统计程序运行时间测试": 2976, "密码门-1": 2977, "密码门-2": 2978, "密码门-3": 2979, "【语文】柏拉图的洞穴寓言": 2981, "【数学】区间异或和": 2982, "【英语】Bingo游戏": 2983, "【物理】杠杆平衡": 2984, "【化学】相对原子质量": 2985, "【生物】食物链": 2986, "周小鸡的疑惑1": 2988, "周小鸡的疑惑2": 2989, "周小鸡的疑惑3": 2990, "周小鸡的疑惑4": 2991, "周小鸡的疑惑5": 2992, "礼物(扩展lucas)": 2993, "反素数ant": 2997, "San": 2998, "数实庄的宠物阿荡": 2999, "关于阿荡转生变成肥猪这档事": 3000, "阿荡的奇妙冒险": 3001, "不起眼阿荡培育法": 3002, "miao": 3004, "ke": 3005, "hao": 3006, "wei": 3007, "阿态爱唱歌": 3008, "阿态,我给你发了洛谷私信": 3009, "随机数生成器": 3010, "阿态,forever**是你的账号吗?": 3011, "C:\\": 3012, "Users\\": 3013, "Administrator\\": 3014, "Documents\\": 3015, "黑盒": 3036, "strawgoH": 3037, "奢侈的旅行": 3038, "[新生欢乐赛]出题": 3039, "[新生欢乐赛]FFT": 3040, "[新生欢乐赛]项链": 3041, "[新生欢乐赛]碉堡": 3042, "区间或和": 3051, "首页": 3052, "山峰": 3053, "三维数组": 3054, "矩阵模板": 3055, "Alice 的线段树": 3056, "曼哈顿距离": 3057, "Alice 的排列": 3059, "kdtree模版1": 3060, "maximum repetition substring ": 3061, "Subproblem 1": 3062, "字母统计--2019年南浦中学(语言过关)测试": 3064, "袋子装物品--2019年南浦中学(语言过关)测试": 3065, "排座位": 3066, "平平画线段": 3067, "单纯因子": 3068, "看书": 3069, "安徽18.12.29t1": 3070, "安徽18.12.29t2": 3071, "安徽18.12.29t3": 3072, "安徽18.12.30t1": 3073, "安徽18.12.30t2": 3074, "安徽18.12.30t3": 3075, "安徽18.12.31t1": 3076, "安徽18.12.31t2": 3077, "安徽18.12.31t3": 3078, "安徽19.1.1t1": 3079, "安徽19.1.1t2": 3080, "安徽19.1.1t3": 3081, "安徽19.1.2t1": 3082, "安徽19.1.2t2": 3083, "安徽19.1.2t3": 3084, "异或空间": 3086, "企鹅QQ": 3087, "The True Riddle": 3088, "安徽19.1.4t1": 3089, "安徽19.1.4t2": 3090, "安徽19.1.4t3": 3091, "安徽19.1.5t1": 3092, "安徽19.1.5t2": 3093, "安徽19.1.5t3": 3094, "安徽19.1.6t1": 3095, "安徽19.16t2": 3096, "安徽19.1.6t3": 3097, "安徽19.1.7t1": 3098, "安徽19.1.7t2———没有交互": 3099, "安徽19.1.7t3": 3100, "Alice 的游戏": 3101, "Alice 的距离": 3102, "Alice 的概率": 3103, "Alice 的序列": 3104, "小佬Lin1043": 3105, "Lin1043的烦恼": 3106, "小佬的故事": 3107, "序列": 3109, "安徽19.1.8t1--无spj": 3114, "安徽19.1.8t2": 3115, "安徽19.1.8t3": 3116, "球形空间产生器sphere": 3120, "FFT模版2": 3121, "FFT模版3(IFFT)": 3122, "Character Encoding": 3123, "subtask-test": 3124, "数学课--第6期测试2": 3126, "自习课(class)": 3127, "糖果(candy)": 3128, "LH 找妹子": 3129, "rings": 3130, "食物链": 3131, "xzl穿越火线": 3132, "签到题": 3133, "xzl的放射性元素": 3134, "提交答案测试": 3135, "deprecated": 3136, "luogu": 3137, "user": 3139, "text": 3140, "ac": 3141, "卡常进制转换1": 3142, "神奇的数字1": 3143, "简单的放置游戏1(\(\text{Simple Idle Game 1}\))": 3145, "简单的放置游戏2(\(\text{Simple Idle Game 2}\))": 3146, "字符序列(加强版)": 3147, "猪国杀": 3149, "取数": 3161, "tracking2": 3168, "astp1": 3169, "6*6数字方阵": 3175, "number": 3177, "外星千足虫": 3178, "count": 3179, "sequence": 3181, "rating1": 3182, "rating2": 3183, "「YNOI2016」镜中的昆虫": 3184, "Final Combat": 3185, "反正切函数的应用": 3186, "上帝造题的七分钟1(二维树状数组模板3)": 3187, "xixixi": 3188, "蚂蚁": 3189, "序列": 3191, "仪仗队4": 3193, "导航噩梦": 3194, "problem a": 3195, "梦幻岛宝珠": 3196, "树上染色": 3197, "小 Y 的背包计数问题": 3198, "最长公共上升子序列": 3199, "problem c": 3200, "奖励关": 3201, "Game on Tree": 3202, " OSU": 3203, "博物馆": 3204, "聪聪和可可": 3205, "彩色圆环": 3206, "Kay and Snowflake": 3207, "树的双中心": 3208, "卡常线段树模板": 3209, "Ruri Loves Maschera(II)": 3210, "学分": 3211, "Core树网的核": 3212, "Flight Planning": 3213, "直径": 3214, "消防局的设立": 3215, "Rozstaw szyn": 3216, "陌上花开": 3217, "冷战": 3218, "天使玩偶": 3219, "Eden的新背包问题": 3220, "连通图": 3221, "Norma": 3222, "Dynamic Rankings": 3224, "诗人小G": 3225, "John's trip": 3226, "太鼓达人": 3228, "树上的路径": 3229, "Hotel加强版": 3230, "A Problem For Fun": 3231, "震波": 3232, "分班问题": 3233, "本题目仅供搜索引擎使用,不可提交": 3234, "小绿和小蓝": 3236, "苏州集训20191001-A pal": 3237, "苏州集训20191003-A code": 3238, "苏州集训20191003-B lecture": 3239, "苏州集训20191002-A divide": 3240, "express": 3252, "电池的寿命": 3253, "上学": 3254, "读书计划": 3255, "复杂的按钮": 3256, "不难题": 3257, "消耗战": 3258, "魔法师": 3269, "K好数": 3273, "符文": 3274, "公路维护": 3275, "灯塔": 3276, "旅游": 3277, "双赢--题解下载": 3278, "clique": 3279, "mine": 3280, "string": 3281, "matrix": 3282, "Adore": 3283, "Star way to heaven": 3284, "最大异或和": 3285, "k小异或和": 3286, "tilte": 3291, "Hash健值": 3292, "公主的朋友": 3293, "分组": 3294, "三元环计数": 3295, "梦幻布丁": 3296, "Lomsat gelral": 3297, "数列": 3298, "染色": 3299, "Retro": 3301, "Kas": 3302, "Kosnja": 3303, "Pogodak": 3304, "战争": 3305, "剪草": 3306, "Fair Photography": 3307, "Robots": 3308, "礼物": 3309, "异或和": 3310, "Orehnjaca": 3311, "Moortal Cowmbat": 3313, "谈笑风生": 3314, "攻略": 3315, "tree": 3316, "Dominant Indices": 3317, "lxhgww的奇思妙想": 3318, "Day1-floyd": 3320, "Day1-magic": 3321, "看电影": 3325, "数字游戏": 3326, "大师": 3327, "完全背包": 3328, "不难题-2019暑假集训Day1T3": 3329, "超速行驶": 3331, "删边": 3332, "射击比赛": 3333, "最长上升子序列": 3334, "看试卷": 3335, "喂竹鼠": 3336, "团子大家族": 3337, "简单的序列": 3338, "宝藏": 3344, "旅行": 3345, "噫": 3346, "无根树": 3347, "粉兔找妹子": 3348, "cactus仙人掌图": 3362, "grid": 3364, "排列": 3370, "NOI组合": 3371, "公交线路": 3372, " [Ipsc2015]Generating Synergy": 3379, "[TJOI2017]不勤劳的图书管理员": 3380, "A simple rmq problem": 3381, "逗逼平衡树": 3384, "没有人的算术": 3385, "Phorhi": 3386, "ALOEXT": 3387, "紫荆花之恋": 3388, "排序": 3389, "Segment": 3390, "最假女选手": 3391, "Gorgeous Sequence": 3392, "CPU监控": 3393, "树": 3394, "决战": 3395, "GCD Tree": 3397, "星球联盟": 3398, "树点涂色 ": 3399, "大融合": 3400, "资源运输": 3401, "弦论": 3402, "优秀的拆分": 3403, "L-gap字符串": 3404, "字符串": 3406, "找相同字符": 3407, "送你一道中水题": 3429, "欧拉函数": 3436, "密钥破解": 3437, "完全平方数": 3438, "YY的GCD": 3439, "Crash的数字表格": 3441, "jzptab": 3442, "约数个数和": 3449, "于神之怒加强版": 3450, "DZY Loves Math": 3451, " Calc": 3452, "DZY Loves Math VI": 3457, "DZY loves math VIII": 3458, "sum": 3460, "神犇和蒟蒻": 3461, "Lucas的数论": 3462, "DZY Loves Math IV": 3463, "Rental Service": 3467, "Znanstvenik": 3468, "Zigzag": 3469, "Diferencija": 3470, "三角形": 3471, "Toponyms": 3472, "求次大值": 3473, "Xor": 3474, "albus就是要第一个出场": 3475, "Aron": 3476, "最短路": 3477, "家族统计--算法班测试题1": 3478, "书本整理": 3479, "Milk Measurement": 3480, "The Bovine Shuffle": 3481, "Teleportation": 3482, "Rest Stops": 3483, "Tree": 3484, "雄伟的山峰": 3485, "矩阵游戏": 3486, "Delete": 3487, "内存管理": 3488, "祭祀river": 3489, "游戏Game": 3490, "Place": 3491, " Grass Planting(planting)": 3492, "Mooyo Mooyo": 3493, "Snakes": 3494, "Fine Dining": 3495, "分裂游戏": 3496, "小约翰的游戏John": 3497, "黑白棋": 3498, "Green Hackenbush": 3499, "皇室战争": 3500, "Springboards": 3501, "Wormhole Sort": 3502, "颓废之王的灾难": 3503, "Berry Picking": 3504, "MooBuzz": 3505, "Time is Mooney": 3506, "Meetings": 3507, "Zbroj": 3508, "星空": 3509, "颓废之王的游戏对决": 3510, "算术平方根": 3511, "争执": 3512, "寻找字符串": 3513, "硬币游戏": 3514, "苹果树--树上莫队": 3515, "color": 3516, "数对统计--题目下载": 3517, "混合饮料": 3518, "黑暗长廊": 3519, "字符串推理": 3520, "蜂巢": 3521, "数列": 3522, "体检": 3523, "黑客": 3524, "割草": 3525, "括号序列": 3526, "统计岔道口": 3527, "颓废之王的图": 3528, "颓废之王的对决": 3529, "颓废之王的筹款": 3530, "颓废之王的密码": 3531, "Game": 3533, "wzoi": 3534, "石头剪刀布": 3535, "竞选": 3536, "走格子": 3537, "下棋": 3538, "MC": 3539, "有标号DAG计数1": 3540, "有标号DAG计数2": 3541, "test": 3542, "Guise": 3545, "序列": 3565, "收集括号": 3659, " Roadblock": 3663, "卡牌游戏": 3688, "面包": 3689, "Blinker 的仰慕者": 3699, "方伯伯的商场之旅": 3700, "CRB and Puzzle": 3701, "Walking Plan": 3702, "同类分布": 3703, "XHXJ's LIS": 3704, "墨墨的等式": 3705, "Little Devil I": 3706, "Sometimes Naive": 3707, " 超级钢琴": 3712, "两个串": 3713, "选择题": 3714, "block": 3715, "游戏": 3716, "连通能力": 3717, "扭动的树": 3718, "数字重组": 3719, "PERIODNI": 3720, "学校": 3721, "橘猫": 3722, "投票": 3723, "小绿和小蓝-城堡": 3725, "三只企鹅": 3726, "减价": 3728, "尽梨了": 3729, "不难题": 3730, "旅行": 3731, "排列计数": 3732, "error42": 3733, "idle": 3734, "testify": 3735, "last": 3736, "猫咪蠕虫入侵": 3737, "奇怪的等式": 3738, "溯源": 3739, "巡游": 3740, "旋转子段": 3741, "平均": 3742, "寻找循环节": 3745, "淘淘摘苹果": 3746, "跳绳比赛--第二期测试2": 3747, "TLE过数学节": 3748, "可交换数字最大连续和": 3788, "最长不互质序列": 3789, "骨牌的数量": 3790, "三只企鹅": 3794, "矩阵": 3801, "奥运公交": 3803, "最短路": 3804, "旅行者": 3805, "Darnassus": 3806, "简单题": 3807, "Expression": 3808, "Fragrant numbers": 3810, "Blocks": 3811, "成绩单": 3812, "小C找朋友": 3813, "棋盘游戏": 3815, "买邮票": 3817, "数颜色": 3818, "树上问题": 3819, "⼩峰的旋律": 3821, "切蛋糕": 3822, "魔法商店": 3823, "弹珠游戏": 3824, "三角形": 3825, "太阳花": 3826, "方格填数": 3827, "松鼠吃果子": 3828, "重要信件": 3829, "小 R 与旅行": 3830, "数学题": 3858, "化学题": 3859, "物理题": 3860, "网格题": 3861, "题目": 3862, "牛羊给他抢了": 3863, "统计方形": 3866, "组合的输出": 3867, "子数整数": 3868, "蜜蜂路线": 3869, "B进制星球 ": 3870, "计算e": 3871, "循环": 3872, "语文成绩": 3873, "地毯": 3874, "Decrease": 3875, "不成熟的梦想家": 3876, "家庭菜园": 3877, "有理数取余": 3878, "区间覆盖加强版": 3879, "因子和": 3880, "区间": 3881, "Sunscreen G": 3882, "小A的糖果": 3883, "分组": 3884, "地毯填补问题": 3885, "Moo": 3886, "Secret Cow Code S": 3887, "队列安排": 3888, "移动盒子": 3889, "新二叉树": 3890, "堆": 3891, "中位数 Running Median": 3892, "Double Queue": 3893, "荷马史诗": 3894, "猜数字": 3895, "班长宣言": 3896, "正方形": 3897, "图书管理map练习": 3898, "Sumsets": 3899, "不重复数字": 3900, "【模板】字符串哈希": 3901, "考前临时抱佛脚": 3903, "吃奶酪": 3904, "刺杀大师": 3905, "机器人搬重物": 3906, "Binary land": 3907, "小凯的数字": 3908, "The Grove S": 3909, "世界冰球锦标赛": 3910, "魔法阵": 3911, "切蛋糕": 3912, "Full Tank": 3913, "小明的游戏": 3914, "Cubic Eight-Puzzle": 3915, "聪明的打字员": 3916, "The Labyrinth": 3917, "Labyrinth": 3918, "Connected components": 3919, "Oier们的东方梦": 3920, "通天之分组背包": 3921, "看电影": 3922, "最小生成树": 3923, "烹调方案": 3924, "多人背包": 3925, "多米诺骨牌": 3926, "Parking Ships": 3927, "核物质": 3928, "跳舞": 3929, "Mobile Service": 3930, "小a和uim之大逃离": 3931, "循环的债务": 3932, "Cow Exhibition": 3933, "Polygon": 3934, "玩具取名": 3935, "关路灯": 3936, "方块消除": 3937, "迷宫": 3938, "涂色": 3939, "旅游": 3942, "排队": 3943, "喝完的饮料瓶不要扔": 3944, "小朋友的球": 3946, "最大子树和": 3947, "重建道路": 3948, "侦查守卫": 3949, "STA-Station ": 3951, "小K的农场": 3953, "基础最短路径练习题": 3954, "道路重建": 3955, "数学作业": 3958, "村村通": 3959, "扩散": 3960, "皑皑白雪": 3961, "公路修建问题": 3963, "拆地毯": 3964, "公路修建": 3966, "口袋的天空": 3967, "Out of Hay S": 3969, "兽径管理": 3970, "杂务": 3971, "排序": 3972, "旅行计划": 3974, "最长路": 3975, "游览": 3976, "树的直径": 3977, "会议": 3978, "核心城市": 3979, "逃学的小孩": 3981, "紧急集合": 3982, "让我们异或吧": 3984, "二叉树问题": 3985, "松鼠的新家": 3986, "树上询问": 3987, "质数的和与积": 3988, "晨跑": 3989, "又是毕业季2": 3990, "计算分数": 3991, "跳舞机": 3992, "欧几里得的游戏": 3993, "添加括号III": 3994, "约数研究": 3995, "签到题": 3996, "zzc种田": 3997, "旅游者": 3998, "奶牛分厩": 3999, "余数相同问题": 4000, "疾羽的救赎": 4001, "迷失的国王": 4002, "养成游戏": 4003, "质数密度": 4004, "排列": 4005, "线性筛质数": 4007, "A%B problem": 4008, "采购": 4009, "迷失的时空旅行者": 4010, "鸡爪传说中的宝藏": 4011, "瓷砖": 4012, "精灵宝可梦对战": 4013, "再探石子合并": 4030, "一个古老的石头游戏": 4031, "杰拉尔德和巨型象棋": 4032, "连通图": 4033, "装饰围栏": 4034, "划分大理石": 4040, "棋盘分割": 4042, "贿赂FIPA": 4043, "计算机": 4044, "XOR和路径": 4045, "排序": 4054, "走廊泼水节": 4055, "野餐规划": 4056, "沙漠之王": 4057, "Freda的传呼机": 4058, "圆桌骑士": 4059, "北大ACM队的远足": 4060, "棋盘覆盖": 4062, "車的放置": 4063, "导弹防御塔": 4064, "机器任务": 4066, "捉迷藏": 4067, "观光": 4069, "升降梯上": 4070, "它们中的多少个": 4088, "占卜DIY": 4089, "分形": 4090, "袭击": 4091, "防线": 4092, "糖果传递": 4094, "士兵": 4095, "数的进制转换": 4096, "耍杂技的牛": 4097, "最大的和": 4098, "任务": 4099, "火车进出栈问题": 4103, "小组队列": 4104, "双端队列": 4106, "邻值查找": 4108, "雪花雪花雪花": 4109, "兔子与兔子": 4110, "回文子串的最大长度": 4111, "后缀数组": 4112, "周期": 4113, "前缀统计": 4114, "最大异或对": 4115, "最长异或值路径": 4116, "数据备份": 4119, "城市游戏": 4123, "内存分配": 4124, "树形地铁系统": 4126, "项链": 4127, "奶牛矩阵": 4128, "匹配统计": 4129, "电话列表": 4130, "生日礼物": 4131, "可达性统计( bitset模板 )": 4132, "小猫爬山": 4133, "质数距离": 4160, "阶乘分解": 4161, "最幸运的数字": 4162, "表达整数的奇怪方式": 4163, "石头游戏": 4164, "开关问题": 4165, "装备购买": 4166, "计数交换": 4167, "Devu和鲜花": 4168, "破译密码": 4169, "最大公约数": 4171, "龙哥的问题": 4172, "矩阵幂求和": 4174, "异或": 4177, "64位整数乘法": 4180, "最短Hamilton路径": 4181, "递归实现指数型枚举": 4183, "递归实现组合型枚举": 4184, "递归实现排列型枚举": 4185, "费解的开关": 4186, "奇怪的汉诺塔": 4187, "约数之和": 4188, "分形之城": 4189, "激光炸弹": 4190, "增减序列": 4191, "最高的牛": 4192, "最佳牛围栏": 4193, "特殊排序": 4194, "电影": 4195, "货仓选址": 4196, "七夕祭": 4197, "动态中位数": 4198, "超快速排序": 4199, " 奇数码问题": 4200, "天才ACM": 4201, "防晒": 4203, " 雷达设备": 4205, "给树染色": 4207, "飞行员兄弟": 4208, "排列计数": 4209, "天码": 4210, "守卫者的挑战": 4211, "放弃测试": 4212, "一个简单的整数问题": 4215, "一个简单的整数问题2": 4216, "你能回答这些问题吗": 4218, "区间最大公约数": 4219, "亚特兰蒂斯": 4220, "窗内的星星": 4221, "蒲公英": 4222, "最大异或和": 4224, "杨老师的照相排列": 4237, "分级": 4238, "移动服务": 4239, "I-区域": 4240, "饼干": 4241, "陪审团": 4242, "硬币": 4243, "多边形": 4244, "积蓄程度": 4245, "休息时间": 4246, "环路运输": 4247, "坏掉的机器人": 4248, "蒙德里安的梦想": 4249, "计算重复": 4250, "清理班次": 4251, "清理班次2": 4252, "围栏": 4253, "裁剪序列": 4254, "任务安排1": 4255, "任务安排2": 4256, "任务安排3": 4257, "运输小猫": 4258, "spongebob": 4260, "交通": 4261, "子序列": 4262, "最佳团体": 4263, "平方": 4264, "交错的字符串": 4265, "achen": 4266, "循环卷积": 4267, "异或的平方和": 4268, "山": 4269, "古代龙人的谜题": 4270, "挖煤": 4271, "操作": 4272, "锻造": 4273, "签到题": 4274, "组合树": 4275, "分配": 4276, "子串": 4277, "虚": 4278, "模": 4279, "最长路": 4280, "群青": 4281, "好兵": 4283, "梦乡": 4285, "patrick": 4286, "斐波那契": 4287, "疾病(illness)": 4288, "分组问题": 4293, "不降序列": 4294, "01矩阵": 4295, "查询(query)": 4297, "皮配(match)": 4298, "神奇的树(tree)": 4299, "Set To Max": 4300, "橙子": 4301, "清理": 4302, "分组": 4303, "整数分解": 4304, "反射": 4305, "完美主义": 4306, "G": 4309, "倾斜的线": 4310, "jerry": 4311, "最长路": 4312, "梦乡": 4313, "平方": 4314, "字符串排序": 4315, "终极进化": 4316, "三角形": 4317, "推数机": 4318, "三元组": 4319, "图论": 4320, "徽章": 4321, "数字对": 4322, "密码": 4323, "交换": 4324, "计树": 4325, "不降序列": 4326, "分组问题": 4327, "变换问题": 4328, "第四道题": 4329, "表格": 4330, "划分": 4331, "密码": 4332, "挖掘": 4333, "挖煤(coal)": 4334, "分配(division)": 4335, "星露谷物语(stardew)": 4336, "铁路运费(train)": 4337, "豪迈": 4338, "手机信号": 4339, "异或和": 4340, "铺设道路": 4341, "虚": 4342, "字符串匹配": 4343, "宽搜": 4344, "修改序列": 4345, "橘猫": 4346, "小R与旅行": 4347, "尽梨了": 4348, "学校": 4349, "遗失的赋值": 4378, "编辑字符串": 4379 };
let tmp = decodeURIComponent(window.location.search).split("&");
if (tmp.length == 2 && tmp[0].split("=")[0] == "?name" && tmp[1] == "search_item=problems") {
let name = tmp[0].split("=")[1];
let table = document.getElementsByTagName("table")[0];
for (let i in HideQuestionTable) {
if (table.children[2].children.length >= 20) break;
console.log(typeof i);
if (i.includes(name)) {
let id = HideQuestionTable[i];
let tr = document.createElement("tr");
let td1 = document.createElement("td");
td1.innerText = "隐藏题库";
let td2 = document.createElement("td");
td2.innerHTML = i + "(<a href=https://wzoi.cc/solutions?problem_id=" + id + ">" + id + "</a>)";
let td3 = document.createElement("td");
td3.innerText = "题目爬虫(截至2025/2/2)";
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
table.children[2].appendChild(tr);
}
}
}
}
// 评测记录显示优化
{
let style = document.createElement("style");
style.innerText = ".progress-bar{border:1px solid black;}";
document.body.appendChild(style);
setInterval(function () {
var p = document.getElementsByClassName("progress clickable");
for (let i = 0; i < p.length; i++) {
if (p[i].dataset.vis == undefined) {
p[i].dataset.vis = 1;
fetch('https://wzoi.cc/solutions/' + p[i].parentNode.parentNode.id.substr(5)).then(response => response.text()) // 网页请求
.then(function (data) {
let v = 0, j = 0;
while (1) {
v = data.indexOf("<td>", v + 1);
if (v == -1) return 0;
let tmps = data.substr(v + 4);
tmps = tmps.substr(0, tmps.indexOf("<"));
j++;
if (j >= 13) {
let idx = ~~((j - 13) / 6);
if ((j - 13) % 6 == 1) p[i].children[idx].dataset.score = tmps;
else if ((j - 13) % 6 == 2) p[i].children[idx].dataset.time = tmps;
else if ((j - 13) % 6 == 3) p[i].children[idx].dataset.mem = tmps;
else if ((j - 13) % 6 == 4) p[i].children[idx].dataset.state = tmps;
}
}
}).then(function () {
for (let j = 0; j < p[i].children.length; j++) {
let ele = p[i].children[j];
let newele = document.createElement("div");
newele.innerText = ele.dataset.state + "(" + ele.dataset.time + "," + ele.dataset.mem + ")";
newele.style.display = "none";
ele.appendChild(newele);
ele.onmouseover = function () {
this.firstChild.style.display = "block"
this.style.width = 100 / this.parentNode.children.length * 2 + "%";
};
ele.onmouseout = function () {
this.firstChild.style.display = "none";
this.style.width = 100 / this.parentNode.children.length + "%";
};
}
});
}
}
}, 100);
}
// 题库中快速查看自己的 AC 代码
{
// 展示结果的框
let pre = document.createElement("pre");
pre.style.position = "fixed";
pre.style.background = "#eee";
pre.style.zIndex = 114514;
pre.style.maxHeight = "500px";
pre.style.maxWidth = "700px";
pre.style.overflow = "auto";
pre.style.padding = "20px";
pre.style.right = "0px";
pre.style.display = "none";
document.body.appendChild(pre);
setInterval(() => {
// 添加查看按钮
let body = document.getElementsByTagName("tbody")[0];
for (let i = 0; i < body.children.length; i++) {
let e = body.children[i];
if (e.children.length != 7) continue;
if (e.children[0].dataset.vis == 1) continue;
// 计算题目的 id,如果无效就跳过
let purl = e.children[2].children[0].href, pid = "";
if (purl == undefined) continue;
for (let j = purl.length - 1; purl[j] != "/" && j >= 0; j--) pid = purl[j] + pid;
if (isNaN(Number(pid))) continue;
e.children[0].dataset.vis = 1;
e.children[0].addEventListener("click", () => {
pre.innerHTML = `<p style="text-align:center; height:100px; width:100px; line-height:100px;">查询中,请稍等</p>`;
pre.style.display = "block";
let username = document.getElementsByClassName("dropdown-item")[0].innerText.trim();
fetch(`/solutions?problemset_id=&user_name=${username}&problem_id=${pid}&score_min=100&score_max=&language=&status=4`)
.then((response) => response.text())
.then((data) => {
let k = data.indexOf("a href=\"/solution");
if (k == -1) {
pre.innerHTML = `<p style="text-align:center; height:100px; width:100px; line-height:100px;">未找到</p>`;
} else {
k += 19;
let sid = "";
while (data[k] != "\"") sid += data[k++];
console.log(sid);
fetch(`/solutions/${sid}`)
.then((response) => response.text())
.then((data) => {
let code = data.substring(data.indexOf("<code class=\"language-cpp\">") + 27, data.indexOf("</code>"));
pre.innerHTML = code;
});
}
});
});
}
}, 100);
}
})();