June

最初的鸟儿是不会飞翔的,飞翔是它们勇敢跃入峡谷的奖励。

JOJ-简易信息学评测系统

最近把烂尾的Online-Judge 项目救了回来, 接着发现挺好用。 JOJ=Jun-Online-Judge JOJ 的好处:简易、安全、高效 这样说可能不能体现出 JOJ 的好处, 打分表格(满分 10 分): (JOJ 与其他 OJ 比较,个人观点,不喜勿喷) | | JOJ | Hydro | UOJ | | — | — | — | — | | 沙盒系统 | 6 | 8 | 7 | | 搭建简易 | 9 | 8.5 | 8 | | 占用空间小 | 9 | 7 | 5 | 目前已实现及会实现的功能: 用户系统 比赛系统(IOI 赛制) 一键备份还原 排行榜系统 个人资料页面 一键安装 一键安装: curl https://raw....

February 4, 2024

GESP-客观题及程序题技巧

客观题题目类型: 基础知识型 控制回答时间为30~60秒。 结合经验,总结答案,勿超时间。 公式计算型 控制回答时间为3~5分钟。 拿出稿纸,进行演算,勿超时间。 看懂题目,提取题目关键信息 为确保某题是否可得满分,在测试程序时一定测试: 样例 2~3组手工数据 边界数据 特例数据(针对特殊判断设计的数据) 无解数据(针对无解情况设计的数据) 能则做,会则做: 无法解题,则输出样例数据。 解一部分,则输出部分结果。 用暴力法,则尝试进行优化。 用数学法,则考虑边界数据。 优化: 使用scanf/printf或关闭cout/cin的绑定,具体方法:cin.tie(nullptr);cout.tie(nullptr);。 保留小数尽量使用printf。 考虑高精度问题。 排序尽量使用sort函数,头文件为<algorithm> 定义数组尽量使用全局定义、容量比题目数据范围大一些。 数学函数无需手写,头文件为<cmath> 定义变量及数组要考虑初始值。

December 3, 2023

CSP复赛-指南

一、注意事项: 考生必须按照所在省份下发的第二轮认证通知中的要求参加认证,未按要求作答会导致0分。 参加考试过程中,严格按照考场要求参加考试,遵守考场纪律,听从监考老师安排。 有任何关于考试的问题,切勿自行处理,务必第一时间向监考老师寻求帮助。 CSP 第二轮认证会采用 NOI-Linux 2.0 进行判卷,请考生在考前阅读各省通知,错误操作导致0分。 Windows 环境下的一些语句可能在Linux环境下会导致编译不通过,其中包括但不限于: Windows环境下的__int64类型在Linux环境下无法通过编译。 输入文件中Windows环境下换行符与Linux环境下换行符的表示方式不同。 如果用scanf和printf语句时,注意要用"%lld",或用流输入输出。 二、文件相关 文件操作代码模板: #include <iostream> #include <cstdio> using namespace std; // Some codes int main() { freopen("filename", "r", stdin); // Requires change freopen("filename", "w", stdout); // Requires change // Some codes fclose(stdin); fclose(stdout); return 0; } 需检查的文件名: 测试文件名(通常显示在考试卷内) 题目文件夹名(通常显示在考试卷内) 个人文件夹名(通常为准考证) 考试卷解读 (主要关注重点)题目概览 (非关注重点)题目名称:指的是题目标题。 (次要关注重点)题目类型:指题目的作答类型,通常为传统型。 (主要关注重点)目录:目录中提供的名称就是考生需要创建的题目文件夹名。 (主要关注重点)可执行文件名:考生编程时所创建的题目文件名。 (主要关注重点)输入文件名:文件操作中freopen("输入文件名", "r", stdin);。 (主要关注重点)输出文件名:文件操作中freopen("输出文件名", "w", stdout);。 (次要关注重点)每个测试点时限:代表程序每个测试点的最长运行时长。 (次要关注重点)内存限制:代表程序能获取的最大内存大小。 (非关注重点)测试点数目:评测中提供的测试点数目。 (非关注重点)测试点是否等分:所有的测试点所占是否分数相等。 (主要关注重点)提交源程序文件名:指在题目文件夹中的C++文件名。...

October 16, 2023

CSP初赛-排序及时间复杂度专题

时间复杂度 时间复杂度(Time complexity)是一个函数, 它定性描述算法的运行时间,常用大O表述, 它并不包含低阶项和首项系数。 大小比较 $$ O(1) < O(log_2(n)) < O(n \cdot log_2(n)) < O(n) < O(n^2) < O(n^3) < O(2^n) $$ 时间复杂度计算: 基本操作: $$ O(1) $$ 顺序结构: $$ O(T_1 + T_2 + \cdots + T_n) $$ 循环结构: $$ O(T_1 \times T_2 \times \cdots \times T_n) $$ 分支结构: $$ O(max(T_1, T_2, \cdots, T_n)) $$ 排序 桶排序 基于:非比较 特性:无 性质:较稳定 时间复杂度: $$ O(n+k) $$ #include <iostream> using namespace std; int main() { int n, a[101], count[100000], maxx = -1e9; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; count[a[i]]++; maxx = max(maxx, a[i]); } for (int i = 0; i <= maxx; i++) { // 可改变排序类型 while (a[i]--) { cout << i << ' '; } } return 0; } 冒泡排序...

September 2, 2023

Vercel-Cloudflare SSL无效

事情起因 原本,我在Vercel上搭了个网站, 绑定到Cloudflare的DNS上,打开了CDN, SSL也配置成了“完全”。 问题出现 访问链接,Cloudflare的CDN报错,内容为: Invalid SSL Certificate 尝试解决 我认为Vercel应该没那么快部署证书, 到了第二天,我再看,还是不能访问, 以前我也是按这种流程操作,是可以成功访问的, 我就查了查Vercel啊, Vercel文档里说要配置CAA, 配置了,又等了一天,还是不行! 问题解决 我就继续查,查到一个vercel仓库的issues, 这个issue终于解答了我的疑惑, Cloudflare的CDN需要关闭!

September 2, 2023

如何访问Z‍-‍l‍i‍b‍r‍a‍r‍y‍

有一个国外的免费电子书网站,叫做‍Z‍-‍l‍i‍b‍r‍a‍r‍y‍, 这个网站2022年底因为用户上传‍盗‍版‍电子书被‍封‍禁‍, 2023年宣布回归, 并添加了书籍审核机制。 现可用域名(2023/08/22): ‍z‍l‍i‍b‍r‍a‍r‍y‍-‍c‍h‍i‍n‍a‍.‍s‍e‍ ‍z‍l‍i‍b‍r‍a‍r‍y‍-‍r‍e‍d‍i‍r‍e‍c‍t‍.‍s‍e‍ ‍s‍i‍n‍g‍l‍e‍l‍o‍g‍i‍n‍.‍s‍e‍ ‍s‍i‍n‍g‍l‍e‍l‍o‍g‍i‍n‍.‍r‍e‍ 如发现新域名,请使用WHOIS查询,如果注册商不包含s‍e‍r‍a‍k字样则为诈骗网站。 官方为了防止用户找域名找的太幸苦, 推出了基于electron和t‍o‍r‍的客户端, 还推出了Chrome和Firefox浏览器扩展。

August 22, 2023

CSP初赛-编码专题

编码分类 定长编码 变长编码 信源编码——以提高通信的有效性为目的 哈夫曼编码——最优的信源编码(可变字长编码) 哈夫曼树——最优的二叉树 格雷码——防止数据损坏,每次编码只改变一位二进制 二进制转格雷码(移位异或法) 二进制码写2遍 第2遍右移1位 与第1遍进行异或运算 舍弃最后一位 格雷码转二进制(下拉异或法) 格雷码写1遍 前1位与后1位进行异或运算 结果与后一位进行异或运算 直到最后一位结束

August 15, 2023

CSP初赛-数据结构专题

集合结构——其中元素除了同一集合关系外,无任何关系。 线性结构——其中元素只存在一对一关系。 树型结构——其中元素存在一对多关系。 图状结构—— 其中元素存在多对多关系。 物理结构 顺序结构——存储逻辑和物理位置上都相邻的存储单元的存储结构。 链式结构——不使用连续的存储空间的元素而是为每个元素构建节点的存储结构。 索引结构——在存储元素的同时还增加索引的存储结构。

August 14, 2023

CSP初赛-进制及位运算与指针专题

进制 进制转换 十进制转n进制(整数小数分开计算) 整数部分:除n倒取余 小数部分:乘n正取整 二进制转八进制(每三位划一位) 每三位划一位(从小数点开始),例如:10|101|010|.|101| 拆开转换,例如:2|5|2|.|5| 二进制转十六进制(每四位$2$划一位${16}$) 每四位划一位(从小数点开始),例如:|1010|1010|.|101 拆开转换,例如:|a|a|.|a| x进制转十进制 例如:10101010.101(2进制) $$ \begin{cases}小数位数为3,\ 故下边界为-3 \ 整数位数为8,8-1=7,\ 故上边界为7 \ 式中x表示x进制转十进制 \ \begin{cases}式中A_i: \ i如为正数表示: \ 转换前小数点前第i+1位数 \ i如为负数表示: \ 转换前小数点后第\left |i\right |位数\end{cases}\end{cases} $$ $$ \sum _{i=start}^{n=end} A_i \times x^{i} $$ $$ =\sum {i=-3}^{n=7} 10101010.101{(2)} \times 2^{i} $$ $$ =A_7 \times 2^7 + \cdots + A_{-3} \times 2^{-3} $$ $$ =170.625 $$ 位运算与指针 位运算 转为二进制,右对齐 按位与(&) 1 & 0 = 0...

August 10, 2023