1. 首页
  2. 公告
  1. 登录
  2. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文

2022tysc1762

UID: 9885, 注册于 2022-7-27 20:30:09, 最后登录于 2025-9-9 15:50:22, 目前离线.

解决了 577 道题目,RP: 264.34 (No. 60)

♂
  • 个人简介

    一枚蒟蒻叛徒

    一切都过去了

    再见

    留点回忆,以前的主页:

    油猴hydro优化 (修改自@ 主页 ,原版在主页传送门最下方)

    PS:

    背景图片与一首音乐可修改,点击oiclass页面左下角查询,并将图片链接和网易云音乐的外联播放器代码复制进去保存即可

    复制时请长按输入框并直接按 ControlControlControl vvv , 松开后会退出查询页面,重新进去再点击保存即可

    // ==UserScript==
    // @name         Better Hydro
    // @namespace    http://tampermonkey.net/
    // @version      3.0
    // @description  Improve the Hydro interface with custom settings!
    // @author       Cheerimy
    // @match        *://hydro.ac/*
    // @match        *://goj.wiki/*
    // @match        *://www.goj.wiki/*
    // @match        *://oiclass.com/*
    // @match        *://www.oiclass.com/*
    // @match        *://106.53.100.188:1000/*
    // @icon         https://s21.ax1x.com/2024/08/22/pAi6KDP.png
    // @grant        none
    // @license GPLv3
    // @downloadURL https://update.greasyfork.org/scripts/504607/Better%20Hydro.user.js
    // @updateURL https://update.greasyfork.org/scripts/504607/Better%20Hydro.meta.js
    // ==/UserScript==
    
    (function() {
    	'use strict';
    	//Cookies 初始化函数
    	function setCookieIfNotExists(name, value) {
    		if (!document.cookie.split('; ').map(cookie => cookie.split('=')[0]).includes(name)) {
    			document.cookie = `${name}=${encodeURIComponent(value)};path=/;expires=${new Date(Date.now()+365*24*60*60*1000).toUTCString()}`
    		}
    	}
    	//获取 Cookies 模块
    	function getCookie(name) {
    		const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
    		return match ? decodeURIComponent(match[2]) : null
    	}
    	//初始化 Cookies 模块
    	function initCookies() {
    		setCookieIfNotExists('browserupdateorg', 'pause');
    		setCookieIfNotExists('background', 'https://api.imlazy.ink/mcapi/mcbg.php');
    		setCookieIfNotExists('music', '//music.163.com/outchain/player?type=2&id=133567&auto=0&height=66');
    		console.log('Cookies 模块加载成功!');
    	}
    	//基本模块(欢迎栏与 UI 优化)
    	function loadWelcomeMessage() {
    		const username = Array.from(document.querySelectorAll('li[data-dropdown-target="#menu-nav-user"]')).map(item => item.querySelector('a')).find(link => link && link.textContent.trim() !== 'Language')?.textContent.trim() || 'Visitor';
    		const panel = document.getElementById('panel');
    		panel.style.backgroundImage = `url(${getCookie('background')})`;
    		panel.style.backgroundSize = 'cover';
    		panel.style.backgroundPosition = 'center';
    		const style = document.createElement('style');
    		style.textContent = `.section{border-radius:8px!important;opacity:0.75!important}.section__table-header{border-radius:8px 8px 0 0;opacity:0.75!important}`;
    		document.head.append(style);
            const title=document.title;
            const name=title.split(" - ").pop().trim();
            const newHTML='';
    		//const newHTML = `<div class="section visible"><div class="section__header"><h1 class="section__title">欢迎 ${username} 来到 ${name}!</h1><h1 class="section__title"style="text-align: end;">Let's Coding Now!</h1></div></div>`;
    		const main = panel.querySelector('.main');
    		const element = main.querySelector('div');
    		element.insertAdjacentHTML('afterbegin', newHTML);
    		console.log('基本模块加载成功!');
    	}
    	//音乐模块(播放音乐源音乐)
    	function loadMusicPlayer() {
    		const musicURL = getCookie('music');
    		const musicHTML = `<div class="section side visible"><div class="section__header"><h1 class="section__title">一首歌曲</h1></div><div class="section__body typo"><iframe frameborder="no"border="0"marginwidth="0"marginheight="0"width="100%"height="86"src="${musicURL}"></iframe></div></div>`;
    		const row = document.getElementById('panel').querySelector('.main').querySelector('.row');
    		const divs = row.querySelectorAll(':scope > div');
    		divs.forEach(div => {
    			const className = div.className;
    			if (className.includes('medium-3') && className.includes('columns')) {
    				div.insertAdjacentHTML('afterbegin', musicHTML)
    			}
    		});
    		console.log('音乐播放器加载成功!')
    	}
    	//个性化面板模块
    	function loadSettingsPanel() {
    		const settingDiv = document.createElement('div');
    		settingDiv.id = 'setting';
    		settingDiv.innerHTML = `<div class="section side visible"><div class="section__header"><h1 class="section__title">设置</h1></div><style>.input-group{display:flex;flex-direction:column;gap:10px;max-width:400px;margin:0 auto}.input-group label{font-size:14px;color:#333}.input-group input[type="text"]{padding:8px;font-size:14px;border:1px solid#ccc;border-radius:4px;width:100%;box-sizing:border-box}.input-group input[type="text"]::placeholder{color:#999}</style><div class="section__body typo"><div class="input-group"><label for="background-url">背景图片:</label><input type="text"id="background-url"placeholder="输入背景图片地址"><button id="save-background">保存背景</button><label for="music-url">音乐地址:</label><input type="text"id="music-url"placeholder="输入音乐播放器地址"><button id="save-music">保存音乐</button></div></div></div>`;
    		const omnibarContent = document.getElementById('omnibar-content');
    		omnibarContent.insertAdjacentElement('afterend', settingDiv);
    		const setCookie = (name, value, days = 365) => {
    			const expires = new Date(Date.now() + days * 24 * 60 * 60 * 1000).toUTCString();
    			document.cookie = `${name}=${value};expires=${expires};path=/`
    		};
    		const saveInput = (inputId, cookieName) => {
    			const input = document.getElementById(inputId);
    			if (input) {
    				setCookie(cookieName, input.value)
    			} else {
    				console.error(`Element#${inputId}not found`)
    			}
    		};
    		document.getElementById('save-background').onclick = () => saveInput('background-url', 'background');
    		document.getElementById('save-music').onclick = () => saveInput('music-url', 'music');
    		console.log('个性化面板模块加载成功!')
    	}
    	//尝试加载 Cookies 模块
    	try {
    		initCookies();
    	} catch (error) {
    		console.error('Cookies 模块加载失败,错误::', error);
    	}
    	//尝试加载基础模块
    	try {
    		loadWelcomeMessage();
    	} catch (error) {
    		console.error('基础模块加载失败,错误::', error);
    	}
    	//尝试加载音乐模块
    	try {
    		loadMusicPlayer();
    	} catch (error) {
    		console.error('音乐模块加载失败,错误::', error);
    	}
    	//尝试个性化面板面板模块
    	setTimeout(function() {
    		try {
    			loadSettingsPanel();
    		} catch (error) {
    			console.error('个性化面板模块加载失败,错误::', error);
    		}
    	}, 2000);
    })();
    
  • 最近活动

    • 2025铁一集团新苗复习-for循环专题练习2 作业
    • 2024春季班class8-多维&差值DP 课后作业 作业
    • 【oiClass公益赛】2024CSP-J模拟赛#18「WZA Round #2」 OI
    • 2024春季班class8-多维&差值DP 随堂练习 作业
    • 2024春季班class7-倍增-ST算法 课后作业 作业
    • 2024春季班class7-倍增-ST算法 随堂练习 作业
    • 2024春季班class6-区间型动态规划2-区间合并 课后作业 作业
    • 2024春季班class6-区间型动态规划2-区间合并 随堂练习 作业
    • 2024春季班class5-区间分割型动态规划 课后作业 作业
    • 2024春季班class5-区间分割型动态规划 随堂练习 作业
    • 【oiClass公益赛】2024CSP-J模拟赛#08 || For Riddles, For Wonders OI
    • 2024春季班class4-背包型动态规划2课后作业 作业
    • 2024春季班class4-背包型动态规划2随堂练习 作业
    • 【oiClass公益赛】2024CSP-J模拟赛#20 OI
    • 2024春季班class3-背包型动态规划1课后作业 作业
    • 2024春季班class3-背包型动态规划1随堂练习 作业
    • 【oiClass公益赛】2024CSP-J模拟赛#15 OI
    • 2024春季班class2-二维动规&最长公共子序列课后作业 作业
    • 2024春季班class2-二维动规&最长公共子序列随堂练习 作业
    • 【oiClass公益赛】2024CSP-J模拟赛#06 || LSZOI #01 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#17 OI
    • 2024春季班class1-一维动规&最长不下降子序列课后作业 作业
    • 2024春季班class1-一维动规&最长不下降子序列随堂练习 作业
    • 【oiClass 公益赛】2024 CSP-J 模拟赛 #13 & XYZ Round 1 OI
    • 【oiclass 公益赛】2024 CSP-J 模拟赛 #11 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#10 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#19 OI
    • 备用 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#14 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#09 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#07 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#16 OI
    • 【oiClass公益赛】2024 CSP-J 模拟赛 #04 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#03 OI
    • 【oiClass公益赛】2024CSP-J模拟赛 #05 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#02 OI
    • 【oiClass公益赛】2024CSP-J模拟赛#01 OI
    • 2023-2024学年冬令营Class6-双指针 作业
    • 2023-2024学年冬令营Class4-二分搜索2 作业
    • 2023-2024学年冬令营Class3-二分搜索1 作业
    • 2023-2024学年冬令营Class1-广搜2 作业
    • 2023-2024学年冬令营Class1-广搜1 作业
    • 张晋嘉、倪穗霆杂题 作业
    • 2023年秋季营lesson15作业-深度优先搜索算法2 作业
    • 2023学年秋季班_模拟测试11 OI
    • 2023年秋季营lesson14作业-深度优先搜索算法1 作业
    • 2023年秋季营lesson13作业-递归算法2 作业
    • 2023学年秋季班_模拟测试09 OI
    • 2023学年秋季班_模拟测试08 OI
    • 2023年秋季营lesson12作业-递归算法1 作业
    • 2023年秋季营lesson11作业-阶段测试2(仅供改题) 作业
    • 2023年秋季营lesson10作业2-队 作业
    • 2023年秋季营lesson10作业1-栈 作业
    • 2023年秋季营阶段测试2 OI
    • 2023学年秋季班_模拟测试07 OI
    • 2023年秋季营lesson9作业2-差分前缀和 作业
    • 2023年秋季营lesson9作业1-递推算法 作业
    • 2023学年秋季班_模拟测试06 OI
    • 2023年秋季营lesson8作业-指针&贪心 作业
    • 2023学年秋季班_模拟测试05 OI
    • 2023年秋季营lesson7作业-位运算 作业
    • 2023年秋季营lesson6作业-进制转换 作业
    • 【oiClass公益赛】2023CSPJ模拟赛#10 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#09 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#08 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#07 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#06 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#05 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#04 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#03 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#02 OI
    • 【oiClass公益赛】2023CSPJ模拟赛#01 OI
    • 2023学年秋季班_模拟测试04 OI
    • 2023年秋季营lesson4作业-排序&枚举 作业
    • 第五届oiClass信息学夏令营day22作业-结构体和函数 作业
    • 2023学年秋季班_模拟测试02 OI
    • 2023年秋季营lesson2作业-字符数组&字符串 作业
    • 2023学年秋季班_模拟测试01 OI
    • 2023年秋季营lesson1作业-二维数组 作业
    • 夏令营模拟测试-05 OI
    • 夏令营模拟测试-03 OI
    • 2023年第四届oiClass夏令营线上选拔赛 OI
    • 夏令营第二周模拟测试 OI
    • 第五届oiClass信息学夏令营day6作业-for语句3 作业
    • 夏令营第一周模拟测试 OI
    • 开学DP测试 IOI
  • Stat

  • Rating

620
已递交
577
已通过
0
题解被赞

状态

  • 评测队列
  • 服务状态

开发

  • 开源

支持

  • 帮助
  • 联系我们

关于

  • 关于
  • 隐私
  • 服务条款
  • 版权申诉
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. 兼容模式
  3. 主题
    1. 亮色
    2. 暗色
  1. 粤ICP备2024335011号
  2. Worker 0, 10ms
  3. Powered by Hydro v5.0.0-beta.8 Community
关闭

登录

使用您的 oiClass 通用账户

忘记密码或者用户名?