NOIP比赛
文章平均质量分 72
编程-李老师
关于少儿编程 一些干货分享
展开
-
NOIP2018普及组初赛题解
展开全文 第24届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018年 10 月 13 日14:30~16:30选手注意:1、试题纸共有7 页,答题纸共有 2 页,满分 100分。请在答题纸上作答,写在试题纸上的一律无效。2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1. 以下哪一种设备属于输出设备:( )A.扫描仪 B.键盘 C....原创 2021-07-22 14:35:09 · 3551 阅读 · 0 评论 -
HiCode信息学奥赛两日一题 T11递归实现组合型枚举
#include <iostream>using namespace std;int path[25];int n,m;void dfs(int u,int start){ if(u > m){ //当搜索层数大于m for(int i = 1; i <= m; i ++){ cout << path[i] << " "; } cout << endl; }else{ for(int i = sta.原创 2021-05-02 17:44:57 · 139 阅读 · 0 评论 -
2021年山东省C++应用编程比赛真题
T1.及格题目描述小A在上一门课,这门课的总成绩由期中成绩和期末成绩组成,其中期中成绩占a%,期末成绩占b%,期中和期末的分数都是百分制,且均为整数。现在小A知道了他期中成绩x和期末成绩y,他想知道最终的总评是否及格了,也即分数是否不小于60分,如果是的话,输出字符串pass!,否则输出字符串poor little A!输入输出格式输入格式:第一行为一个正整数 T ,表示数据组数,你的程序需要对这T组数据都给出正确的结果才能拿到测试点的分数。每组数据一行四个非负整数x y a b,含义如题目中原创 2021-03-28 14:51:45 · 1396 阅读 · 0 评论 -
五大学科竞赛奖项&106所综合评价院校对照表(分省统计)
今天我们以省为单位为大家整理在各省进行综合评价招生的高校名单,以及其中有哪些是认可学科竞赛奖项的。说明:1.表格数据来源于各高校2020年综合评价招生简章,仅供参考,2021年招生条件以高校发布为准;2.表格中提及的奖项代表该高校对这个奖项的考生有降分过初审、或允许其报名“学科特长类专业”,由于各校要求不同,仅整理了最低奖项要求,对应优惠请参见高校简章;3.表格中划“/”的代表简章中未提及学科竞赛奖项要求,或没有明确表明入围优惠,不代表考生不能报名。省市顺序:浙江、山东...原创 2021-01-27 23:32:30 · 1223 阅读 · 0 评论 -
2020CPS-J2复赛题解
T1 优秀的拆分题解1:考察知识点:位运算、数论分析:通过位运算 >> 右移操作,找出符合条件的2的n次幂找到符合条件的次幂,通过位运算 << 左移操作,输出值数据范围1<=n<=1*10^710*7范围二进制最多23位#include <iostream>using namespace std;int main(){ int n; scanf("%d",&n); if(n%2){原创 2020-11-12 14:33:30 · 817 阅读 · 0 评论 -
2019CSP-J初赛答案及解析
2019CCF非专业级别软件能力认证第一轮 (CSP-J)入门级参考答案一、单项选择题(共15题,每题2分,共计30分) 1 2 3 4 5 6 7 8 ...原创 2020-09-18 18:59:40 · 18992 阅读 · 4 评论 -
for循环中++i和i++的效率问题
前言不知道你是否听说过++i比i++快的说法,真的如此吗?++i与i++的区别这两个表达式从我们初学编程语言的时候就会接触到。前者是自增后取值,后者是取值后自增。我们看一个简单的例子。#include <iostream>using namespace std;int main(){ int a = 0; int b = 0; int c = a++;//int tmp = a;c=a;a = a + 1 int d = ++b;//b = b +原创 2020-08-09 17:24:51 · 305 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度总结
如何衡量一个算法的好坏?时间复杂度+空间复杂度什么是时间复杂度?时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,他定量的描述了该算法的运行时间。一个算法执行所耗费的时间,理论上来说是不能算出来的,只有你把程序放在机器上跑起来才能知道。但是这样是很麻烦的。所以才有了时间复杂度。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。时间复杂度为什么不使用时间来衡量而使用基本语句的运行次数来衡量?因为程序的运行环境不同,同一个程序在不同配置的机器原创 2020-08-07 22:29:16 · 212 阅读 · 0 评论 -
算法时间复杂度的表达-渐进符号与主定理
渐进符号是分析算法时间复杂度的常用记号,对于某个规模为n的问题,当n足够大时,就可以忽略掉复杂度表达式中的低阶项和最高次项的系数,由此引出“渐进复杂度”,并且用渐进符号来对“渐进复杂度”进行表达。一、渐进符号1、O(大O符号):上界定义:若存在两个正的常数 c 和 n0 , 对于任意 n≥n0 , 都有 T( n)≤cf( n) ,则称T( n) = O( f( n) )(或称算法...原创 2020-08-07 22:16:56 · 1298 阅读 · 0 评论 -
常见排序算法的最好、最坏、平均时间复杂度、稳定性、是否基于比较
先看表格分类算法时间复杂度空间复杂度 稳定性 关联性 最好 最差 平均 插入排序 直接插入排序  原创 2020-07-10 17:35:39 · 13426 阅读 · 1 评论 -
解递归式方法
分解:将原问题划分成形式相同的子问题,规模可以不等,对半或2/3对1/3的划分。解决:对于子问题的解决,很明显,采用的是递归求解的方式,如果子问题足够小了,就停止递归,直接求解。合并:将子问题的解合并成原问题的解。这里引出了一个如何求解子问题的问题,显然是采用递归调用栈的方式。因此,递归式与分治法是紧密相连的,使用递归式可以很自然地刻画分治法的运行时间。所以,如果你要问我分治与递归的关系,我会这样回答:分治依托于递归,分治是一种思想,而递归是一种手段,递归式可以刻画分治算法的时间复杂度。解递归式:原创 2020-07-10 14:48:58 · 2261 阅读 · 0 评论 -
NOIP2010普及组初赛(C++)答案解析
一、单项选择题 1 D2E + 03 = 2 * 103 = 20002E - 03 = 2 * 1 / (2 * 103) = 2 * 0.001 = 0.0022 A常识题3 A对于A选项,假设P为真,则结果必为真;假设P为假,则!p为真 ==> (!P & Q)和(!P & !Q)中必有一个为真 ==> P | (!P & Q) | (!P & !Q)为真。对于B选项,当P和Q同时为假时,Q | (!P & Q) | (P &a.原创 2020-07-03 14:05:28 · 3366 阅读 · 2 评论 -
关于素数问题相关算法模板
关于素数问题相关判断模板原始筛法问题背景:判断一个数是不是素数原理:枚举所有可能的因数,有因数则不是素数这里为什么用sqrt(n),是因为没有必要枚举所有的数字,每一个小于根号n的因数i,一定有一个大于根号n的因数j与之相对应,也就是i*j=n,所以枚举小于等于根号n的因数即可。void isPrimer(int n){ for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true;}埃氏筛法(普通原创 2020-06-11 15:21:34 · 198 阅读 · 1 评论 -
To CSP Oler
曾记否,严寒的冬季,指尖的冰冷。曾记否,酷热的夏季,眉头的细汗。曾记否,绿色的AC,带来的欢快。也曾记否,程序的代码,是思想的升华。无论结果如何,身为一位Oler,努力了,就是幸福的。没有人生来就是为了背负什么而去努力赛场上,我们不求超长发挥,只求无怨无悔。或许有更多的人会将会退役,回到文化课,与天天泡在交流群里自称蒟蒻的小学生告别,与键盘说再见。但是,至少多年后,我们仍然可以追忆...原创 2019-11-16 09:07:42 · 181 阅读 · 0 评论 -
NOIP常用三种输入输出框架
格式化输入与输出:#include <stdio.h>int main(){ int x,n = 0,min,max,s = 0; while(scanf("%d,&x)==1){ s += x; if(x<min) min = x; if(x>max) max = x; n++; } printf("%d %d %.3f\n",min,...原创 2019-11-11 16:11:08 · 754 阅读 · 0 评论 -
NOI-Linux使用技巧
NOI-Linux安装安装的方式有很多,基于不同的平台,采取的方式也有区别,接下来介绍关于windows平台下,安装NOI-Linux的方式,仅供参考:1.通过虚拟机安装虚拟机安装我们的NOI-Linux系统是最保险,也是最容易的方法,步骤如下:1)首先下载VMware虚拟机,我这里推荐给大家的版本是免费的,当然网上有很多不同的破解版,大家可以自行进行百度/谷歌搜索下载安装;VMw...原创 2019-11-11 14:09:52 · 4016 阅读 · 0 评论 -
【NOIP复赛篇4】打表+枚举的暴力方法
【NOIP复赛篇】5、打表+枚举的暴力方法一、打表有时候,我们需要对某个范围内的数据进行判断,判断它是否符合某种条件,然后在接下来的很多次数据中,我们有可能会反复使用到这些判断的结果。为了减少重复计算,我们可以事先将某个范围的数据的判断结果都计算一遍,并保存起来,以后需要再使用到的时候,直接使用就可以了,这样的方式,我们可以称之为打表。二、案例说明质数的和与积Description两个...原创 2019-10-26 20:47:13 · 633 阅读 · 0 评论 -
【NOIP复赛篇3】文件输入输出和构造数据
【NOIP复赛篇3】文件输入输出和构造数据2017.11.16 17:37:41字数 2477阅读 1181在上篇文章 中,我们简单地提到过使用freopen的方式进行文件的输入输出,这篇文章我们再介绍一下其他几种文件的输入输出方式,接着再谈谈如何构造数据检测程序是否正确。一、 文件输入输出1、标准输入输出我们最常接触到的程序的输入输出,是直接在命令行窗口(Dos窗口)进行输入输出的,...原创 2019-10-26 20:26:10 · 1362 阅读 · 0 评论 -
【NOIP复赛篇2】上机指南(二)观察变量和调试技巧
【NOIP复赛篇2】上机指南(二)观察变量和调试技巧上篇文章,我们提到了如何利用DEV-C++进行编写程序并运行。但是编程是一个技术活,我们可能很难一下子就编写出无懈可击的代码,精辟的代码往往需要伴随着我们一次次的修改和调试,我们这次就来专门谈谈编程中调试的一些小技巧。一、读懂编译错误提示或警告加强英语的学习,熟悉常见的提示和错误。查看错误我们一编译,就会提示我们出现了错...原创 2019-10-26 20:24:45 · 500 阅读 · 0 评论 -
【NOIP复赛篇1】上机指南(一)环境搭建和运行
【NOIP复赛篇1】上机指南(一)环境搭建和运行一、复赛说明信息学奥赛分区联赛(NOIP)分初赛和复赛两个部分,初赛和复赛。初赛是笔试题,在每年的10月份的第二或第三个周六;复赛是上机编程,提交代码文件,初赛成绩良好者可以进入复赛,复赛一般在11月第三个周六、周日。复赛是根据考试试题编写程序,通过『黑盒测试』去检测选手所提交的代码,一般是用若干的数据进行检测结果是否正确。所谓『黑盒测...原创 2019-10-26 20:23:01 · 1927 阅读 · 0 评论