- 博客(54)
- 资源 (9)
- 问答 (5)
- 收藏
- 关注
原创 快速沃尔什变换(FWT)和子集卷积笔记
快速沃尔什变换(FWT)是解决这样一类卷积问题:ci=∑i=j⊙kajbkc_i=\sum_{i=j\odot k}a_jb_kci=i=j⊙k∑ajbk其中,⊙\odot⊙ 是位运算的一种。举个例子,给定数列 a,ba,ba,b,求:ci=∑j⊕k=iajbkc_i=\sum_{j\oplus k=i} a_jb_kci=j⊕k=i∑ajbk看到 FWT 的名字,我们可以联想到之前学过的 FFT(很可惜,我没有写过 FFT 的笔记,所以没有链接),先看看 FFT 的原理:综上,时间
2025-10-24 13:43:10
706
原创 LNMP 一键安装包部署 Django 项目
scode type=“green”]本文采用 lnmp.org 的 LNMP 一键安装包来部署环境。[/scode]作者使用的系统是 ubuntu 20.04,所有步骤请使用 root 用户操作,其他系统也可以参考,可能不成功的地方已标注。
2025-10-24 13:36:31
430
原创 NOI Linux 2.0 的安装说明以及使用指南
NOI Linux 是 NOI 竞赛委员会基于 Ubuntu 操作系统开发的一款 Linux 桌面发行版,是一套免费的、专门为信息学奥林匹克竞赛选手设计的操作系统,是 NOI 系列赛事指定操作系统,适用于常见笔记本电脑和桌面电脑。稍后安装操作系统,操作系统选择 Linux,版本 Ubuntu,点击下一步,选择虚拟机存放位置,再点击下一步。等活动的标准环境使用。输入所需的磁盘大小,点击下一步,再点击自定义硬件,CD/DVD 里选择下载的 NOI Linux 2.0。首先,打开 VMware 虚拟机。
2025-10-22 11:18:59
541
原创 ABC305G Banned Substrings 题解
普通的状压 DP 会超时,我们可以利用矩阵来加速转移。串,考虑状压 DP,设字符串的长度为阶段,构成的字符串,长度最多是。字符串,其子串不包括这。转移时要注意状态合法。
2025-10-21 21:44:01
518
原创 LEGO EV3 在显示屏上显示中文文字
LEGO EV3 程序块并不支持中文,但是在使用 EV3 的过程中,如果能有大家熟悉的中文屏幕提示,在程序的调试,参数的设置上还是很有用的。之后,打开 LEGO MINDSTORMS EV3 Education Edition 中的工具 ----- 图像编辑器(我用的教育版,家庭版也是一样的)。点击下一步,调整图像对比度之后,再点击下一步,编辑一下图片,点击保存,输入你想要保存的名字即可。点击打开,找到你的图片,点击导入,之后点击 “+” 和 “-” 调整图片大小。
2025-10-21 21:35:11
201
原创 一款优雅简洁的轻论坛 - Flarum
Discuz和phpwind。一个被腾讯收购,一个被阿里收购,实力不容小视。他们本身确实也是做得很强大,不仅仅可以用来做论坛,还可以用来做 CMS ,企业网站等等。在我搜索轻论坛程序的时候,偶然间发现了更为漂亮简洁的 Flarum。
2025-10-21 21:28:15
1078
原创 树莓派安装系统到移动磁盘(包括U盘)
一般情况下我们都是把树莓派系统安装在树莓派上的 TF(micro SD) 内存卡中,但是由于 TF 卡的性能,在一些情况下会卡成 PPT,为了追求体验,我们会选择将系统安装在移动磁盘上,从而解决问题。
2025-10-21 19:12:53
486
原创 均分纸牌问题总结
显然,最终每一堆的张数都会变成纸牌总数的平均值,所以,每一堆冗余的牌一定要分给其它堆。NOIP 2002 的这道题一次可以移动多张纸牌,所以答案数是。个干草堆,可以将任意位置的干草堆向前或向后移动若干个,使第。其他堆上取的纸牌,可以移到相邻左边或右边的堆上。个干草堆,询问最少需要移动多少个干草堆。的堆上取的纸牌,只能移到编号为。的堆上取的纸牌,只能移到编号为。堆纸牌需要向左边传的纸牌数,堆纸牌需要向左边传的纸牌数,,答案就是移动的纸牌总数。堆纸牌,纸牌的总数是。为纸牌总数的平均值。为纸牌总数的平均值。
2025-07-13 15:55:25
839
原创 反悔贪心学习笔记
贪心获得的局部最优解往往不是全局最优解,在我们需要全局最优解时,就要进行反悔操作。反悔贪心一般有两种实现方式 - 反悔堆和反悔自动机。反悔堆:按照某种顺序,依次考虑可能的决策,通过堆来维护当前最优解,如果遇到当前维护的解不是最优的时候,回退之前的某种决策并更新最优解。反悔自动机:设计一种反悔策略,使得任意一种贪心策略都可以到达最优解。一般是利用差值来实现自动更新最优解。
2025-07-13 15:53:05
1052
原创 线性代数学习笔记
对于一个矩阵AAAdetA∣A∣∑p−1τp∏i1naipidetA∣A∣p∑−1τpi1∏naipi其中ppp表示一个排列,所有可能的ppp则是111到nnn这nnn个数的全排列。τp\tau(p)τp表示一个排列ppp的逆序对个数。
2025-07-13 15:50:48
899
原创 基础数论学习笔记
若a−bmodn0a−bmodn0,则称aaa和bbb同余,记为a≡bmodna≡bmodn读作aaa和bbb在模nnn的意义下同余。
2025-07-13 15:48:03
629
原创 组合数学学习笔记
本文介绍了计数原理的核心概念与方法,包括等效替代(捆绑法、插空法、隔板法)、容斥原理、排列组合公式及其性质。重点讲解了错排问题的两种解法(容斥与递推)和环形染色问题的推导过程,并提供了组合数计算的三种实现方式:递推法、预处理法和Lucas定理。通过经典例题展示了这些技巧在解决实际问题中的应用,如不定方程的解数计算和限制条件下的排列问题。全文系统性地总结了离散数学中组合计数的基本工具和典型问题解决方法。
2025-07-12 17:07:20
478
原创 Visual Studio Code 更改侧边栏字体样式(CSS)
本文同时在我的博客发布:Visual Studio Code 更改侧边栏字体样式(CSS) - Skykguj 's Blog (blog.sky390.cn)Visual Studio Code(以下简称 VSCode) 窗口放大以后侧边栏的字体样式异常难看,让人感到非常别扭,bdfs 也找不到完整的解决方案,最后在知乎看了 muxu.jiu 的回答,茅塞顿开,决定写一篇详细的教程。因为 VSCode 主要使用 TypeScript (TypeScript 是 JavaScript 的一个超集) 编写
2022-03-16 11:36:21
1973
1
原创 VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件的解决方法
本文同时在我的博客发布:VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件 - Skykguj 's Blog (sky390.cn)本文同时在博客园发布:https://www.cnblogs.com/Skykguj/p/14981870.html使用 Visual Studio Code 写 C++ 程序最烦心的是大概就是使用 Code Runner 插件无法编译运行文件名带空格的文件了,这个问题困扰了我好久,虽然不影响学习,但太多分隔符总觉得不顺眼,于是我仔细研究了一下
2021-07-11 15:49:55
1388
3
原创 Python 递归解决汉诺塔问题
代码如下:def hanoi(n, a, b, c): step=0 if n == 1: print(a, '-->', c) else: hanoi(n - 1, a, c, b) print(a, '-->', c) hanoi(n - 1, b, a, c)n=input("请输入汉诺塔上圆盘的个数:")n=int(n)hanoi(n, 'X', 'Y', 'Z') #.
2020-07-30 22:32:15
388
原创 C语言递归解决汉诺塔问题
法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 ...
2020-07-30 22:20:49
382
转载 函数 - 计算机函数
基本信息中文名称外文名称函数function一个较大的程序一般应分为若干个程序块,每一个模块用来实现一 个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序的作用是由一个主函数和若干个 函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。函
2020-05-17 10:47:35
1411
原创 对于两个正整数m,n的最大公因数可以用do—while实现
来源:《信息学奥赛一本通(C++版)》P64【题目描述】4.9 对于两个正整数 m,n 的最大公因数可以用do—while实现。代码如下,请完善:#include<iostream>using namespace std;int main(){ int m,n,r; cin>>m>>n; do //碾转相除法 { r=m%n; m=____; n=____; } while(____); cout<<"the great
2020-05-16 14:56:29
2172
原创 微软VC++6.0字体设置工具
1.关于VC6.0微软公司 的VC6.0莫过于是大家最常用的编译器了,它功能强大,便于编写程序,虽然现在 微软公司 不再支持它了,并且陆续又推出了 <VS2010>,<VS2015>,<VS2017>,<VS2019>等更强大的编译器,但是使用VC6.0的人仍然很多,由于年代太久远,字体很少,所以我要向大家推荐一款字体设置器。2.VC6.0字体设置工具界面如下:...
2020-05-13 13:51:01
1115
原创 《信息学奥赛一本通(C++版)》1105:数组逆序重存放
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。【输入】输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。【输出】输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。【输入样例】58 6 5 4 1【输出样例】1 4 5 6 8代码如下:注:代码仅供参考,不只有一种解法。#
2020-05-11 13:27:33
840
原创 《信息学奥赛一本通(C++版)》阶乘之和【优化程序】
来源:《信息学奥赛一本通(C++版)》P73【阶乘之和】【题目描述】4.19 阶乘之和。输入n,计算s=1!+2!+3!+…+10!的末六位(不含前导0)。n<=10^6,10!表示前n个正整数之和。【输入样例】10【输出样例】37913代码如下:注:代码仅供参考,不只有一种解法。//此为《信息学奥赛一本通(C++版)》阶乘之和的优化程序。#include<cstdio>int main(){ int n,s=0,f=1; scanf("%d",&n
2020-05-09 23:02:48
478
原创 《信息学奥赛一本通(C++版)》阶乘之和
来源:《信息学奥赛一本通(C++版)》P73【题目描述】4.19 阶乘之和。输入n,计算s=1!+2!+3!+…+10!的末六位(不含前导0)。n<=10^6,10!表示前n个正整数之和。【输入样例】10【输出样例】37913代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>int main(){ int n,s=0; scanf("%d",&n); for(int i=1;i<=n;i++) { int f=1
2020-05-09 22:56:01
849
原创 《信息学奥赛一本通(C++版)》分解质因数
来源:《信息学奥赛一本通(C++版)》P72【题目描述】把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。【输入】输入一个正整数n,将n分解成质因数乘积的形式。【输入样例】36【输出样例】36=2*2*3*3代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int n,i=2; cin>>n
2020-05-09 22:48:13
2691
原创 《信息学奥赛一本通(C++版)》输出所有形如aabb的四位完全平方数
来源:《信息学奥赛一本通(C++版)》P71【题目描述】输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。代码如下:注:代码仅供参考,不只有一种解法。//pow函数需要调用cmath头文件或math.h头文件。#include<iostream>#include<math.h>using namespace std;int main(){ for(int x=32; ;x++){ int n=pow(x,2); if(n>
2020-05-09 22:18:24
1730
原创 《信息学奥赛一本通(C++版)》输出100~200中所有的素数
来源:《信息学奥赛一本通(C++版)》P71【题目描述】4.16 输出100~200中所有的素数。代码如下:注:代码仅供参考,不只有一种解法。//函数sqrt和函数floor需要调用math.h头文件。#include<iostream>#include<math.h>using namespace std;int main(){ for(int seek=100;seek<=200;seek++){ int enumerate=2; while
2020-05-09 22:12:25
453
原创 《信息学奥赛一本通(C++版)》水仙花数
来源:《信息学奥赛一本通(C++版)》P68【题目描述】百钱买百鸡问题。鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?代码如下:注:代码仅供参考,不只有一种解法。//pow函数需要调用cmath或math.h。#include<iostream>#include<math.h>using namespace std;int main(){ int digit,unit,decade,hundred; for(digit
2020-05-09 22:00:16
1390
原创 《信息学奥赛一本通(C++版)》百钱买百鸡问题
来源:《信息学奥赛一本通(C++版)》P68【输入样例】百钱买百鸡问题。鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int cock,hen,chick; for(cock=0;cock<=100;cock++) for(hen=0;hen<=100;hen++) {
2020-05-09 14:27:01
877
原创 《信息学奥赛一本通(C++版)》“*”构成的n行的直角三角形
【题目描述】对于给定的自然数n(n<20),在屏幕上输出仅由“*”构成的n行的直角三角形。例如:当n=5时,输出:* * * * * ** * * * * * * * *代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int i,j,n; cin>>n; for(i=1;i<=n;++i){for(j=1;j<=
2020-05-09 14:17:29
2958
原创 《信息学奥赛一本通(C++版)》求s=1!+2!+3!+...+10
【题目描述】例4.12 求s=1!+2!+3!+…+10!代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main() { int t2=0; for (int i = 1; i <= 1000; ++i) { int t = 1; for (int j = 1; j <= i; ++j) { t *= j; } t2 += t; } cout << t
2020-05-09 14:03:39
1825
原创 《信息学奥赛一本通(C++版)》求校体操队的人数
来源:《信息学奥赛一本通(C++版)》P65【题目描述】例4.11 校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行4、5、6人,都多出1人;当排成每行7人,正好不多。求校体操队至少多少人?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int times=0; bool yes; do{ yes=true; times=times+
2020-05-09 13:52:16
2982
原创 《信息学奥赛一本通(C++版)》求1992个1992的成绩的末两位数
来源:《信息学奥赛一本通(C++版)》P65【题目描述】例4.10 求1992个1992的成绩的末两位数是多少?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int a=1,t=0; do{++t;a=(a*92)%100;}while(t!=1992); cout<<a; return 0;}...
2020-05-09 13:46:00
1239
原创 《信息学奥赛一本通(C++版)》数据统计
来源:《信息学奥赛一本通(C++版)》P61【题目描述】输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。【输入样例】2 8 3 5 1 7 3 6【输出样例】1 8 4.375代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>#define INF 100000000int main() { int x, n = 0, min=INF, max=-INF, s = 0;
2020-05-09 13:40:03
1958
原创 《信息学奥赛一本通(C++版)》1089:数字反转
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入−380−380,反转后得到的新数为−83−83。【输入】输入共 1 行,一个整数N。−1,000,000,000≤N≤1,000,000,000。【...
2020-05-06 14:25:17
1408
原创 《信息学奥赛一本通(C++版)》【目录】
《信息学奥赛一本通(C++版)》1053:最大数输出《信息学奥赛一本通(C++版)》1054:三角形判断《信息学奥赛一本通(C++版)》1055:判断闰年《信息学奥赛一本通(C++版)》1056:点和正方形的关系《信息学奥赛一本通(C++版)》1057:简单计算器《信息学奥赛一本通(C++版)》1059:求平均年龄《信息学奥赛一本通(C++版)》1060:均值...
2020-05-06 11:48:23
2753
原创 《信息学奥赛一本通(C++版)》1060:均值
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。【输入】输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。【输出】输出一行,包含一个浮点数,表示均值,精确到小数点后4位。【输入样例】21.0 3.0【...
2020-05-05 22:05:32
1497
原创 《信息学奥赛一本通(C++版)》1059:求平均年龄
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。【输入】第一行有一个整数n(1≤ n ≤ 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。【输出】输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。【...
2020-05-05 21:57:49
2294
原创 利用for循环计算n!的值
来源:《信息学奥赛一本通》p56【题目描述】利用for循环计算n!的值。【分析】n!=1×2×3×···×n代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>int main(){ long long s=1; int n; scanf("%d",&n); for(int i=1;i<=n;++i) s*=i; pr...
2020-05-05 21:45:24
11231
【虚拟化技术】VMware Workstation Player 15.5.1安装指南:桌面虚拟化应用详细步骤说明
2025-07-12
免安装 mingw64(C++,C 语言编译器)
2024-08-29
JFE and GCC.zip
2020-05-12
VC6.0FontSet.zip
2020-05-13
我的世界 Minecraft (2D) 1.0版.sb3
2020-04-25
Scratch minecraft 2D.sb2
2020-04-28
NOIP-Junior.rar
2021-07-20
Visual C++ 6.0 软件补丁.zip
2020-06-21
城通网盘安装包ctfile.exe
2020-04-28
Django + uwsgi 报错(详细错误信息)
2022-03-13
Semantic UI 怎么往下拉框里添加元素?
2022-01-11
为什么一用正则表达式就报错啊?
2022-01-11
油猴 JavaScript 脚本如何实现跳过回答
2021-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅