作者归档:admin

Noip 2019

NOIP–全国分区联赛

  NOIP(National Olympiad in Informatics in Provinces)–全国青少年信息学奥林匹克联赛(省赛):NOIP由中国计算机学会(CCF)进行全国统一命题,以省为单位在同一时间、不同地点由各省特派员组织考试。

  NOIP竞赛比赛时间

  NOIP在每年10-11月份,分别举行初赛和复赛。

  初赛侧重考察:

  学生的计算机基础知识和编程的基本能力,并对知识面的广度进行测试。初试为资格测试,各省初试成绩在本赛区前15%的学生进入复赛。

  复赛侧重考察:

  学生对问题的分析理解力,数学抽象能力,编程语言的能力和编程技巧、想象力和创造性等。各省联赛的等第奖在复试的优胜者中产生。

  NOIP竞赛赛制

  NOIP分普及组和提高组。二者题目不完全相同,提高组难度高于普及组。

  普及组和提高组分别面向小学、初中和高中阶段的学生。

  小学、初中可以参加普及组的比赛;

  初中、高中可以参加提高组的比赛。

  有关初赛

  在10月份第三个星期六的14:30~16:30进行,时间为2小时,内容全部为笔试,满分100分。

  试题由四部分组成:

  ① 选择题(共20题,每题1.5分,共计30分):提高组的前10道题为单选题,后10道题为不定项选择题(只有全部选对才得分,否则不得分);普及组的前20道题都是单选题。

  ② 问题求解题(共2题,每题5分,共计10分):试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。考生给出的答案与标准答案相同,则得分;否则不得分。

  ③ 程序阅读理解题(共4题,每题8分,共计32分):题目给出一段程序(不一定有关于程序功能的说明),考生通过阅读理解该段程序给出程序的输出。输出与标准答案一致,则得分;否则不得分。

  ④程序完善题(共2题,共计28分):题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句或语句的一部分并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对则得分;否则不得分。

  注意:赛制将面临调整

  据2019年3月的NOI特派员会议传来的变革,2019年起初赛由笔试修改为机考,CCF统一命题。全国陆续实施调整中。

  赛制调整后,将有一些区别。

  NOIP初赛为:第一轮程序设计能力测试

  周期:每年1-2次

  形式:机试(题型与原有笔试题型会有不同)

  NOIP复赛为:第二轮程序设计能力测试

  资格:由各省确定第二轮选手名单

  形式:机试

  有关复赛

  复赛在11月份第三个星期六和星期日的上午8:30~11:30进行。

  复赛的题型和考试形式与NOI类似,全部为上机编程题,但难度比NOI低。

  普及组的复赛时间为3小时,共4道题,每题100分,共计400分。

  提高组的复赛包括一试和二试,分两天进行。每次测试时间为3小时,有3道题,每题100分。选手的总分为两次测试的分数的总和,最高600分。

  每一试题包括:题目、问题描述、输入输出要求、样例数据(部分题目有样例的说明)。

  测试时,测试程序为每道题提供了10-20组测试数据,考生程序每答对一组得5-10分,累计分即为该道题的得分。

  NOIP的程序将在NOI Linux 1.4.1(Ubuntu系统)的环境下测评,G++编译器版本为4.8.4。

  NOIP测试的知识范围

  初赛内容与要求

  ① 计算机的基本常识

  ② 计算机的基本操作

  ③ 程序设计的基本知识

  复赛内容与要求

  在初赛的内容上增加以下内容:

  【数据结构】

  指针类型

  多维数组

  单链表及循环链表

  二叉树

  文件操作(从文本文件中读入数据,并输出到文本文件中)

  【程序设计】

  算法的实现能力

  程序调试基本能力

  设计测试数据的基本能力

  程序的时间复杂度和空间复杂度的估计

  【算法处理】

  离散数学知识的应用(如排列组合、简单图论、数理逻辑)

  分治思想

  模拟法

  贪心法

  简单搜索算法(深度优先广度优先)搜索中的剪枝

  动态规划的思想及基本算法

初中升阅读书目推荐参考

儿子小升初了,在网上找了一圈,根据大家初一的阅读经历,决定把我们阅读书目和体会分享出来。

我个人觉得初中的书单已经可以相当宽泛了,其实倒没那么严格分初一二三。孩子基本都已过渡到全文字阶段,不会执着于图画,但是跟孩子的阅读抢时间的会有许多方面,比如课业、作业、补课,比如稍有闲余就想要玩手机,还想要保持一些文体活动和兴趣。想要保持阅读,有效阅读,属实不易。但还是有时间阅读,时间要靠挤,这需要孩子确实有牢不可破的阅读习惯,以及书籍本身的吸引力,还有家长对阅读时间的维护与创造。真是缺一不可。本文首先想要廓清一个认识,不要排斥推荐书目。其次,推荐一些书以供网友选择扩容。希望能够是有益的帮助。

继续阅读

C++ 数据结构 struct 语句

C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:

  • Title :标题
  • Author :作者
  • Subject :类目
  • Book ID :书的 ID

定义结构

为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:


1
2
3
4
5
6
7
struct type_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;

type_name 是结构体类型的名称,member_type1 member_name1 是标准的变量定义,比如 int i; 或者 float f; 或者其他有效的变量定义。在结构定义的末尾,最后一个分号之前,您可以指定一个或多个结构变量,这是可选的。下面是声明一个结构体类型 Books,变量为 book


1
2
3
4
5
6
7
struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} book;

示例:对结构体数组排序。

按结构体中某个成员进行排序,下面代码以成员b1为升序的排序。

继续阅读

山进ATS-909收音机评测

评测时间:1996-97 (Radio Shack版本上市较晚)

电源: 4节5号电池,ATS-909含有AC电源适配器,DX-398不含电源适配器

尺寸: 225 * 132 * 35 mm

重量: 874克(含电池)
覆盖频率:150-29999 kHz,FM 87.5-108MHz

星级评定:五星

*********************
本评测完全独立完成.何广和该机的制造商山进公司没有任何的财务联系。

***********************

评测者:Jonathan Marks, Diana Janssen, & Willem Bos;Tom Sundstrom提供了DX-398的部分。

注意到西门子已经不再持有山进短波收音机的商标了,所以西门子的RK-777 在德国和比利时,荷兰,卢森堡三国关税联盟的商店中的库存就快消失了。在英国,山进ATS-909被作为Roberts R861出售,同时也被作为DX-398出售,在Tandy商店。

一、介绍

价格是我们选择供旅行时用的便携收音机的一个重要因素。在欧洲,如果你想要一种轻便的,可以放在公文包里,用来收听强信号国际广播电台的收音机,那么选择价格60美元以下的模拟收音机。但是有人想选择调谐方便并且可以存储大量喜欢电台的数调机。

在1996年8月,中国台湾的山进公司发售了它最新版本的便携收音机,顶级的ATS-909。直到1997中期德国西门子停止了进口收音机,ATS-909一直被西门子作为RK-777在欧洲销售。除了名字外,它们的性能是一样的。同时也作为RobertsR861销售。Roberts是英国的老牌收音机制造商,但Roberts却停止了在英国本土生产收音机,而转由远东地区的制造商代工。山进已经发展成为世界上最大的便携式短波收音机制造商之一,生产从低端廉价收音机到像ATS-909一样的顶级高端收音机。在过去几年,山进在美国和中国台湾的研发团队开发出了很多新功能,并且很多已经融入了ATS-909的设计之中。

继续阅读

快速地查找程序中的中文字符

编程时进场会因为程序中使用了中文字符导致编译错误。
一般原因: 代码中有中文状态下的标点符号,如 冒号、逗号、引号

如果看一个个地查找的话,会成为斗鸡眼的。怎样在中英文混杂的代码中找出中文来,如果只想要保留其中的英文,一行一行编辑的话,既浪费时间又容易出错,如何快速的找出其中的中文字符呢?

继续阅读

C++中的二分算法,二分查找

用C++实现二分法查找,简单来说就是每次去一个有序数列的中间数,时间复杂度为O(n),然后和目标值比对,如果不是的话,大的就在中间值的右边查找,小的话就在中间值的左边查找,时间复杂度为O(logn)。这是最初级的算法。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
 
using namespace std;
 
 
int SearchK(int *Arr,int low,int high,int k)//在有序数列中返回t的序号p是数列的起点,q是终点
{
 
    int mid;
    while (low<high)//稳定版,考虑数组中不存在k的情况
    {
        mid = (low + high) / 2;
 
        if (Arr[mid] ==k)
        {
            return mid + 1;
        }
        else
        {
            if (Arr[mid] < k)//右边查找
            {
                low = mid + 1;
            }
            else
            {
                high = mid - 1;
            }
        }
    }
 
    cout << "未找到" << endl;
    return -1;//没找到
 
}
 
int main()
{
    int p[] = { 1, 2, 3, 4, 5, 6, 7 };
 
    cout<<SearchK(p, 0, 6, 6)<<endl;
    cout << SearchK(p, 0, 6, 8)<<endl;
 
    system("pause");
    return 0;
}

C++题目: 缺失的扑克牌

题目描述

有一种扑克牌,都是以大写字母“A~Z”组成,每张牌有n张。现在这副牌中少了一些,小Y请了几个同学来帮助确认到底少了哪些牌。每个同学将自己清理的牌用字母区间和数量进行表示,比如 A Q 1表示A到Q之间的牌各有1张。T W 2 表示T到W之间的牌各有2张。

现在根据这些同学提供的信息,请你编写一个程序来帮助小Y确认一下缺失哪个字母扑克牌,每种扑克牌缺多少张。

继续阅读

C++中什么是STL介绍

一、一般介绍     

STL(StandardTemplate Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++Standard Library)中,是ANSI/ISOC++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。

继续阅读

C++题目:小 X 与小和尚(sum)

题目描述

研究了这么多学术性的问题,小 X 想听个故事来放松一下自己的大脑。而小 X 最喜欢听的是这样一个故事: 从前有座山 , 山 里有座庙, 庙里有个老和尚和小和尚,老和尚给小和尚讲故事: 从前有座山 , 山里有座庙, 庙里有个老和尚和小和尚,老和尚给小和尚讲故事: 从前有座山……不过讲着讲着,老和尚也有点累 了,所以这一次老和尚不给小和尚讲故事了,老和尚要求小和尚去敲木鱼。 这个敲木鱼是有讲究的,在开始敲之前老和尚会告诉小和尚一个数 n。而小和尚在敲的时候, 第一次敲 1 下, 第二次敲 2 下… 第 n 次敲 n 下, 第 n+1 次敲 n 下, 第 n+2 次敲 n-1 下… 第 2× n 次敲 1 下,第 2× n+1 次敲 1 下, 第 2× n+2 次敲 2 下……如果用一个简单的数列 来表示小和尚 每次敲了多少 下,那应该是: 1, 2, 3,……, n-1, n, n, n-1, n-2,……, 3, 2, 1, 1, 2, 3,……简单说来就是 1~n, n~1, 1~n 一直这么循环地敲下去。小和尚数着数着就不记得自己敲了多少下了,而他只记得自己刚刚敲完第 m 次。 马上老和尚就要来检查小和尚是不是在认真的敲了,小和尚没办法, 只 能求助于你, 希望你能告诉他, 敲完第 m 次的时候,他一共敲了多少下?

继续阅读