![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NOIP笔记
文章平均质量分 61
星卯教育tony
毕业于许昌师范学院,拥有6年程序员工作经历和6年少儿编程授课经验,擅长于开源电子硬件和C++编程语言,目前授课方向为C++少儿编程和信息学奥赛培训。
展开
-
NOIP图论 最小生成树——Prim算法(详细图解)
prim算法基于贪心,我们每次总是选出一个离生成树距离最小的点去加入生成树,最后实现最小生成树(不做证明,理解思想即可)原创 2024-07-24 11:55:28 · 429 阅读 · 0 评论 -
编程代码查重 比赛防作弊 图形界面代码查重工具SIM 支持c++ python java c语言下载
SIM,全称The software and text similarity tester SIM,是Dick grune开发的一款代码查重软件。比较轻量级,也被一些OJ集成用来查重(如hustoj)。但由于软件本身是命令行软件(就是小黑框框的那种),再加上结果的展示并不是很优雅,所以单独拿来用的使用体验并不是很好。本项目是基于Electron和element UI开发的一款代码查重软件,其内核使用了开源软件SIM,本项目为SIM添加了GUI界面,简化了操作。原创 2024-04-29 12:28:14 · 594 阅读 · 2 评论 -
【CSP-J/S】复赛注意事项 上机文件组织形式
每年/S 复赛都有很多同学因为一些小失误导致一年的努力付之东流。Tony老师整理了一些复赛容易踩坑的点,或许对你有帮助!原创 2024-01-23 12:37:21 · 2767 阅读 · 1 评论 -
C/C++中double类型的比较
由于double浮点数的精度问题,所以在比较大小的时候,不能像int整数型那样,直接if(a==b),if(a<b),if(a>b)原创 2023-12-23 18:50:44 · 1134 阅读 · 1 评论 -
C++ 报错 error invalid types ‘int[int]‘ for array subscript 原因及解决方案
数组变量名不一致,或者没定义。数组空间不够,访问越界。变量名和数组名重复定义。原创 2023-12-17 15:35:48 · 3109 阅读 · 1 评论 -
骗分导论 CSP、NOIP、蓝桥杯、PAT、USACO等竞赛的算法骗分技巧 轻松省三
问题来了,那么多座桥,炸一座就破坏岛屿的联系,可能性微乎其微(除非特别设计数据)。它们的价值极大,不仅能初步帮你检验程序的对错,而且,如果你不会做这道题,你就可以直接输出样例!在OI考试中最后难的题数据最后的几个,他们往往不会创造新的数据,此时就可以直接输出最后几个数据了。需要运用《骗分导论》第3章中学到的知识,先写出朴素算法,然后造一些数据,可能就会发现规律。有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。据说,在NOIP2013中,有人最后一题不会,愤然打了个随机数,结果得了。原创 2023-12-01 23:15:29 · 2066 阅读 · 0 评论 -
【入门】汉译英
输入某个整数,如果输入的整数在1-9范围内,则输出相对应的单词,否则输出’out’整数n相对应的小写英文单词或’out’。原创 2023-11-19 14:50:21 · 80 阅读 · 0 评论 -
用归并排序算法merge_sort( )求解 逆序对的数量 降低时间复杂度为 nlogn
利用归并排序,我们可以分别求解左边序列的逆序对的数量和右边序列的逆序对的数量。如何求解横跨中间逆序对的数量呢?给定一个序列有n个数,求n个数中逆序对的个数,逆序对的定义:i < j && a[i] > a[j]。归并排序是将一个序列分成两个有序的序列,归并两个有序序列,归并后则该序列有序,是基于分治的思想。意味着在归并两个序列的过程中,我们就可以计算出横跨中间的逆序对的数量。根据逆序对的定义,我们也可以使用分治的算法来求解逆序对的数量。输出一个整数,表示逆序对的个数。第一行包含一个整数n。原创 2023-11-16 22:49:14 · 212 阅读 · 0 评论 -
电脑如何查看是否支持虚拟化及如何开启虚拟化
什么是虚拟化?Intel Virtualization Technology就是以前众所周知的“Vanderpool”技术(简称VT,中文译为虚拟化技术),这种技术可以让一个CPU工作起来就像多个CPU并行运行,从而使得在一部电脑内同时运行多个操作系统成为可能。在计算机技术中,虚拟化技术或者虚拟技术是一种资源管理技术,就是模拟计算机各种实体资源如(CPU、内存、磁盘空间、网络适配器等),虚拟化本质是指资源的抽象化,要想资源充分利用,必须把资源最小单位化(池化),这样上层才能按需使用资源,虚拟化不但解放了操原创 2023-10-11 21:22:35 · 6719 阅读 · 0 评论 -
CSP-J/S初赛复赛得分大法!(赠骗分导论电子书)
数据是赛前就出好的,出题人并不知道你可能会用什么错误的算法骗分。你的各种五花八门的算法,会让出题人很头疼。如果你能想出一个出题人很可能没想到的错误算法,那你的收获往往就非常大。原创 2023-10-04 12:58:36 · 878 阅读 · 0 评论 -
关于小球放箱子的8种组合解法
原创 2023-10-02 21:08:22 · 123 阅读 · 0 评论 -
如何快速两个整数互质,已知的六种方法
如果两个数都是合数,可先将两个数分别分解质因数,再看两个数是否含有相同的质因数。如:194和201,先求出它们的差,201-194=7,因7和194互质,则194和201是互质数。用大数除以小数,如果除得的余数与其中较小数互质,则原来两个数是互质数。5,因余数5与52互质,则317和52是互质数。(6)两个数中的较小一个是质数,而较大数是合数且不是较小数的倍数,这两个数一定是互质数。(7)较大数比较小数的2倍多1或少1,这两个数一定是互质数。(5)两个数中的较大一个是质数,这两个数一定是互质数。原创 2023-09-30 22:05:31 · 2151 阅读 · 0 评论 -
一定要知道的 NOI 大纲(2023年修订版)变化
修订后的大纲表述更加规范、指导性更强,相信在未来 NOI 系列赛的命题会更加紧密地贴合修订后大纲,让考生能够赛出成绩,赛出水平。CCF于2021年制定完成并首次发布了NOI大纲,大纲发布后,对竞赛组织、教师教学和选手学习发挥了很好的引导作用。NOI大纲是针对NOI系列活动制定的,能够有效地指导入门学生的学习及相关的教学活动。所以,对竞赛生来说,大纲增减了一些知识点,规范了考点表述用语,对部分术语、分级考察内容、知识点难度分级进行了调整。针对NOI大纲的变化,魔扣少儿编程教研团队都会对比分析大纲变化,原创 2023-09-22 13:47:14 · 820 阅读 · 0 评论 -
CSP-J1 CSP-S1 初赛每日一专题系列 20专题(更新于2023.08.20)
CSP初赛 第1节 计算机概述https://ks.wjx.top/vm/hMINExi.aspxCSP初赛 第2节 计算机系统的基本结构https://ks.wjx.top/vm/YDdukBf.aspxCSP初赛 第3节 计算机软件系统https://ks.wjx.top/vm/wM33NnI.aspxCSP初赛 第4节 计算机语言https://ks.wjx.top/vm/mwja75P.aspxCSP初赛 第5节 数制转换https://ks.wjx.top/vm/PAlG7w2.aspx原创 2023-08-21 01:16:34 · 217 阅读 · 0 评论 -
CSP-J2019初赛试题客观题详解
13、—些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9, 9颠倒过来看还是6,其他数字颠倒过来都不构成数字。8、一棵二叉树如下图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i ,则其左孩子位于下标2i处、右孩子位于下标2i+1处),则该数组的最大下标至少为( )。第2层最右侧下标为2*1+1=3, 第3层最右侧下标为2*3+1=7,第4层最右侧下标为2*7+1=15。原创 2023-08-07 12:52:18 · 887 阅读 · 0 评论 -
GESP2023年6月C++一级客观题
请你猜猜看,下面任务中,ChatGPT 不能完成的是( )。如果 a 和 b 为 int 类型的变量,则表达式 a = b 可以判断 a 和 b 是否相等。如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a %= 4;如果 a 为 int 类型的变量,则表达式(a % 4 == 2)可以判断 a 的值是否为。如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于 0 且 b。如果 a 和 b 为 int 类型的变量,且值分别为 7 和 2,则下列哪个表达式的计。原创 2023-08-02 23:53:39 · 387 阅读 · 0 评论 -
GESP 2级2023年3月 单选题和判断题部分
如果a为char类型的变量,且取值为小写字母,则执行语句 a = a - ‘a’ + ‘A’;IPv4 的地址通常用“点分十进制”的表示形式,形如(a.b.c.d),其中a、b、c、d 都是 1~255 之间的十进制整数( )。10.如果 a 为 int 类型的变量,且 a 的值为 9,则执行 a -= 3;之后,a 的值会是()。11.如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断"a等于0或b等于0"的是()如果a是int 类型的变量,而且值为1,则表达式’a’的值为’1’。原创 2023-08-02 23:40:19 · 415 阅读 · 0 评论 -
C++ 常见的时间复杂度公式 和推导过程 常见代码段对照 配套练习
O(1)叫做常数阶。一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)) 称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。时间复杂度为O(n^2),说明算法的执行时间T(n)原创 2023-07-23 11:13:05 · 238 阅读 · 0 评论 -
CSP第二轮/NOIP 比赛注意事项
确认无误后,考生须为每道试题再单独建立一个子文件夹,子文件夹名与对应的试题英文名相同(参见试题封面页)。w是写入(write),stdout是标准输出(standard out),使用标准输入输出后我们的输入输出语句不需要更改了。比如旅行这个题目你需要一个travel文件夹,你的.cpp文件为travel.cpp,不要出现后缀.txt(确保已经显示文件后缀),一定到仔细检查并确定拼写正确。文件路径就是输入的文件,r是读入(read),stdin是标准输入(standard in)。原创 2023-06-15 11:28:17 · 864 阅读 · 0 评论 -
HUSTOJ 快速稳定搭建方式 需要修改的配置 常见问题解答
OJ是系统的简称,用来在线检测程序源代码的正确性。国内著名的题库有信息奥赛一本通、洛谷等。可适用的人群有:中小型编程培训机构,初中高中编程社团。2. 搭建环境推荐选择腾讯云轻量级服务器(价格美丽)。云服务器控制台内选择系统镜像Ubuntu 20.04 或者Ubuntu 22.04。(星卯教育)一键登录服务器。原创 2023-03-28 00:28:45 · 708 阅读 · 0 评论 -
C++快速排序算法(详解)
快速排序之所以比较快,是因为与冒泡排序相比,每次的交换时跳跃式的,每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。现在我们将第一轮“探测"结束后的序列,以6为分界点拆分成两个序列,左边的序列是“3 1 2 5 4”,右边的序列是“9 7 10 8”。回顾一下刚才的过程,其实哨兵j 的使命就是要找小于基准数的数,而哨兵i 的使命就是要找大于基准数的数,直到i 和j 碰头为止。刚开始的时候让哨兵i 指向序列的最左边,指向数字6。原创 2023-03-25 23:41:24 · 376 阅读 · 0 评论 -
NOIP2014-提高组初赛C语言解析(选择填空题)
更详细的请参考:(第二题解析)参考:这题的关键就是知道所用的查找方法,经过不懈推理,可以得出查找方法(这里我就不说我怎么推的了):将2n个数每两个数分成一个数对,大的存放在一个数组中,小的存放在另一个数组里①,扫描大的数组,寻找出最大的数②,扫描小的数组,寻找出小的数③,就可以得出答案,①步需要n次,②步需要n-1次,③步也需要n-1次,所以三步加起来刚好就是3n+1,故选C。参考:去掉前面两个,即(n-2),然后再扫描两次,即2*(n-1),再加上最后一个=2*(n-1)+1=2n-3,故选C。原创 2023-02-18 15:26:29 · 874 阅读 · 0 评论 -
逻辑思维训练500题(带答案)前237题 文末附完整版PDF
逻辑思维训练500题,前237题答案,第一章 假设法,第一章 假设法,第三章 排除法,第四章 分析法,第五章 观察法转载 2023-02-14 15:18:05 · 13782 阅读 · 0 评论 -
什么是OJ? 东方博宜题库部分题解
A:你的程序应该从标准输入 stdin('Standard Input')获取输入,并将结果输出到标准输出 stdout('Standard Output').例如,在C语言可以使用 'scanf' ,在C++可以使用'cin' 进行输入;在C使用 'printf' ,在C++使用'cout'进行输出.Runtime Error : 运行时错误,非法的内存访问,数组越界,指针漂移,调用禁用的系统函数。Wrong Answer : 答案不对,仅仅通过样例数据的测试并不一定是正确答案,一定还有你没想到的地方.原创 2023-02-13 10:26:32 · 680 阅读 · 0 评论 -
C++与C语言、python的区别? 信奥赛的有没有用? 如何进行编程学习规划?
1. C++与C语言有什么区别,python与C++的区别,及普及程度2. 信奥赛起源、存在的意义。3. 应该如何给孩子规划学习(什么年龄段学、学多久、每个学段该做什么)4. 不同学段参加什么比赛、结果能给孩子带来什么。原创 2023-02-12 23:56:13 · 2335 阅读 · 0 评论 -
含金量较高的国际计算机编程竞赛有哪些?USACO、CCC、UK EBRAS、Kaggle、IOI
含金量较高的国际计算机编程竞赛有哪些?USACO、CCC、UK EBRAS、Kaggle、IOI原创 2023-02-12 14:18:56 · 2772 阅读 · 0 评论 -
中小学信息学相关编程比赛清单及报名网站汇总(C++类)
中小学信息学相关编程比赛清单及报名网站汇总(C++类)原创 2023-02-12 14:11:08 · 2149 阅读 · 0 评论 -
2022-2025学年面向中小学生的白名单全国性竞赛活动清单及官网地址链接
2022-2025学年面向中小学生的白名单全国性竞赛活动清单及官网地址链接原创 2023-02-12 13:54:06 · 2242 阅读 · 0 评论 -
USACO开赛!这份参赛指引必看!
美国信息学奥赛USACO 2022 – 2023赛季首场比赛于明日(12月16日)开始!这份参赛指引,一定要认真看噢~第一步:打开 USACO 官网:http://www.usaco.org/,点击。第三步:注册好账号之后,根据用户名、和邮件所发送的密码进行登录;第四步:登录成功之后,如需修改密码,可以进行修改密码;第八步:点击考试题目右侧的下拉框,可以选择。,可以查看比赛规则,点击。第二步:填写注册信息;第五步:登陆之后,点击。第七步:点击页面下方的。,可以查看比赛说明;,即可正式开始比赛;原创 2022-12-16 12:46:55 · 1293 阅读 · 0 评论 -
USACO铜组一些水题 找自信心用
USACO铜组一些水题,用于练手和找回自信心。原创 2022-12-16 12:39:59 · 283 阅读 · 0 评论 -
详细的科技特长生路径和成长规划
什么是“科技特长生”科技特长生是经过教育厅、教育局发文,有正式定义的、享有特殊招生政策的学生群体。简单来说,就是得到特定的比赛或竞赛的奖项的学生才能被认定为科技特长生,但不同地区的认定标准不同。科技特长生的认证都需要在专业比赛中(国际、国内、省市区等)获得前三名等优异成绩才能被认定,所以含金量、认可度都是非常高的。可以说,一旦被认定为科技特长生,孩子的未来就拥有了更多可能。原创 2022-12-04 15:56:56 · 2322 阅读 · 0 评论 -
手把手教你注册USACO账号和如何开始刷题
USACO如何注册账号和开始刷题原创 2022-11-24 18:29:38 · 1075 阅读 · 0 评论 -
中国电子学会C++软件编程一级—六级历年真题模拟题题库260题及参考答案第六版 (星卯教育)TB
中国电子学会C++软件编程一级—六级历年真题模拟题题库260题及参考答案第六版 (星卯教育)TB 持续更新 免费答疑原创 2022-09-04 12:50:27 · 3726 阅读 · 0 评论 -
树与二叉树的基本概念 结构特点及性质
另一方面,0度结点没有孩子,1度结点有一个孩子,2度结点有两个孩子,故二叉树中孩子结点总数是:n1+2n2。由于二叉树的每个结点至多有两个孩子,故"第(i+1)层上的结点数目” 最多是 “第i层的结点数目的2倍”。即,第(i+1)层上的结点数目最大值=2×2^{i-1}=2{i}。证明:因为二叉树中所有结点的度数均不大于2,所以结点总数(记为n)=“0度结点数(n0)” + “1度结点数(n1)” + “2度结点数(n2)”。7.结点的层次:从根结点开始,根结点的层次为1,根的直接后继层次为2,以此类推。原创 2022-08-20 21:53:18 · 172 阅读 · 0 评论 -
经典算法题思路整理-Leetcode力扣经典算法题目整理
经典算法题思路整理-Leetcode力扣经典算法题目整理。转载 2022-08-07 15:03:36 · 540 阅读 · 0 评论 -
编程常用五大算法 分治算法 动态规划算法 贪心算法 回溯算法 分支限界法
一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。...原创 2022-08-07 14:50:55 · 984 阅读 · 0 评论 -
USACO美国信息学奥赛竞赛12月份开赛,中国学生备赛指南
适合国内高一高二在读学生有意向申请美国大学的,或者想锻炼自己编程能力的,高三学生也可以参加12月的第一场比赛,如果实力突出,可以在12月中RD常规申请前获得白银级奖项,可以说是申请前后最后一波强势的背景提升机会。先看一下注册的地方,这几个是必须要填的,第一行填邮箱(建议是sina邮箱),后面写名字和昵称(并不重要,因为之后它会发给你),填入验证码,计算这个方程的正根。需要有很高的编程基础和很强的算法能力。当然,编程基础较好,有算法能力的低年级生也可以尝试参赛,提前挑战USACO竞赛,证明自己的编程能力。..原创 2022-07-31 22:57:42 · 946 阅读 · 0 评论 -
有6个人,分成3组,每组2人,共有多少种组合方法?
15种有6个人,分成3组,每组2人,可得:C(6,2)×C(4,2)÷A(3,3)=15扩展资料:从n个不同元素中可重复地选取m个元素。不管其顺序合成一组,称为从n个元素中取m个元素的可重复组合。当且仅当所取的元素相同,且同一元素所取的次数相同,则两个重复组合相同。排列组合计算方法如下:排列A(n,m)=n×(n-1)。(n-m+1)=n!/(n-m)!(n为下标,m为上标,以下同)组合C(n,m)=P(n,m)/P(m,m) =n!/m!(n-m)!;例如:A(4,2)=4!/2!=4*3=12C(4,2原创 2022-07-07 21:09:35 · 4222 阅读 · 0 评论 -
C++万能头文件 bits/stdc++.h 的用法和优缺点 包含哪些文件头
它是C++中支持的一个几乎万能的头文件,几乎包含所有的可用到的C++库函数。以后写代码就可以直接引用这一个头文件了,不需要在写一大堆vector、string、map、stack……int main(){// write code here}#if __cplusplus >= 201103L#include #include #include #include #include ...原创 2022-06-20 18:12:54 · 3190 阅读 · 0 评论 -
C++中输入一行不确定个数的整数
一般情况:1、先输入整数的个数n,再输入n个整数。2、一个结束标志0,输入0时停止输入。3、输入一行不确定个数的整数,并对其进行操作。按照标准的算法输入输出框架的话,也就是回车(enter)结束输入。int main(){int x = 0; cin >> x; while (cin.get() != '\n') { cin >> x; //对数据x的具体操作 }}...原创 2022-06-18 09:29:49 · 3501 阅读 · 2 评论