Last minute average judge speed: sps.

2018-[admin]
各位老师:NOIP2018的复赛分数线:普及组77分(含)以上,提高组68分(含)以上。请大家组织此分数线之上的学生抓紧时间完成网上报名/微笑,严格按照上线学生的实际信息进行申报,不得多报错报。
NOIP复赛的一些注意事项-[admin]

https://blog.csdn.net/WenDavidOI/article/details/50670029?utm_source=blogxgwz8


复赛即将到来,在此整理一些注意事项,以防止出错。
【常用头文件】
常用的头文件有很多,可以在考试前先预先打好,然后再一次性复制粘贴到程序里面。
/*C 标准头文件*/
# include <cstring> //memset(),strcmp()等函数,必须记得 
# include <cstdlib> //rand(),atoi()之类的函数,C标准的函数库 
# include <climit> //一些int之类的系统类型的最大最小值 
# include <cstdio> //标准输入输出,注意scanf()和printf()比较快 
# include <cctype> //转换大小写之类的小功能,和字符相关 
# include <cmath> //C语言的一个非常重要的数学库,sqrt(),floor()之类的都在里面 
/*C++ 标准头文件*/
# include <iostream> //C++的输入输出流,long long类型建议使用,但效率慢 
# include <fstream> //C++的文件流,比freopen()+scanf()慢很多 
# include <string> //C++的字符串就定义在其中,非常常用 
/*STL 函数库*/
# include <algorithm> //STL最神奇的算法库,什么sort(),unique()之类的都在里面 
# include <bitset> //按位存储的set,相当于set<bool>,但是更加高效 
# include <vector> //vecotr动态数组,有时可以用来骗分,接近数组 
# include <stack> //STL的栈,使用比较方便 
# include <queue> //STL的FIFO队列和优先队列 
# include <deque> //双端队列,适用于两端插入的情况,也可以随机访问 

# include <list> //链表,但是常数比较大,要小心使用
# include <map> //映射,用红黑树实现,基于主关键字排序,共有两个关键字 
# include <set> //集合,和set差不多,但只有一个关键字

【不同平台的一些兼容性问题】
考试使用的机器是Windows系统,但是最终评测使用的是Linux系统,所以GCC的标准不一样。这就会带出许多的兼容性的问题。首先,Windows下结构体内的数组会一般来说初始为0,但是Linux下好像包括全局变量都不会初始化,所以必须写明了来初始化。其次,在Windows下scanf读入long long int 类型时要用%I64d,但是Linux下却不一样,是%lld,所以这是一个必须注意的问题,所以如果数据量较小可以用cin/cout来读入,这样兼容性更强。还有,Windows下在程序的最后可以不用打return 0;,但是Linux下就必须打,不然就会0分。像这样的问题似乎还很多,都是要引起高度重视的点。还有全局变量要慎用,在一些特殊的量前面可以加下划线。

【可能考点】
NOIP的基本难度分布是这样的:
第一题:肯定是水题,基本上不难想到解法,一般来说模拟即可
第二题:可能会用到一些基础算法,比如贪心,枚举,搜索之类,很入门
第三题:从第三道题开始就会难很多,会逐渐考到二分、动态规划之类的算法,应该会相对难不少
第四题:最后一道题绝对是压轴题,要么是剪枝的搜索,要么是动态规划,甚至还有状压DP、树形DP之类的,可能会考到树和图。
所以有必要复习一些相对来说重要的算法:
1.高精度
高精度是一个非常非常重要的算法!高精度一般来说会用在递推、动态规划求方案数,以及组合数学直接计算的方面。一定要熟悉高精度的加减乘,除法至少也要记住原理,求余就比较少见了。
2.模拟
这是非常基础的内容,但是有可能出很难的题目,比如08年的立体图,一定要注意审清题目,弄懂题意。
3.贪心
贪心是一种比较重要的算法,在关键时刻可以做出一些避免超时的决策,在比如说搜索、动规时也可以起到相对重要的作用,大大减少状态数,比如守望者的逃离一题,直接动规就会爆内存+超时,用贪心可以使状态数快速锐减。
4.动态规划
动态规划、贪心都是和子问题相关的,动态规划的基本思想是将一个大的问题划分成子问题,接着分别求解,而且能够将一些重复的计算记忆化,大大提高效率。
5.搜索与枚举
搜索和枚举在本质上都是相同的,一般来说用在数据范围较小的题目中,而且比较容易写。当然在能够观察到有着非常多的重复计算时可以使用记忆化搜索,不过使用了记忆化之后DP方程通常也不难求出,但是记忆化搜索比较好写,和搜索很想,考虑到NOIP的弱数据,和动规也都差不多。
6.二分答案
二分答案在实质上是一种枚举的优化,一般采用迭代的写法,但是有的时候也用递归,因为要递归的层数一般很少。二分答案一般适用于当所要求的答案递增时可用,时间复杂度一般来说都是O(log2n)。
7.计数
计数这一技巧可以在数据的规模较小,而对时间复杂度的要求很低时可用,基于计数排序或者哈希表的原理,这个技巧可以在近似O(1)的时间内找到数据。
8.数论
NOIP并不考太过难的题目,比如欧拉函数φ(n)之类的东西,一般来说只会考与质数相关的基本数论,并不会太难,就算是指数筛选也鲜有用O(n)算法的,质数判定之类的问题更是一个O(sqrt(n))的算法就能搞定,一般都出在第一到二题,或者说也就是一些非主要考点罢了。
9.树与图
树与图其实是一个很难的概念,在省赛里几乎是家常便饭,但是NOIP之前并没有考多少,一般来说记住SPFA和Floyed就足够了,还有最小生成树(好像最小树形图都不考),拓扑排序和强联通分量之类的东西,一般来说连像并查集这样的东西都没有考到,更何况像动态树、平衡树、线段树这样的东西?
10.字符串相关操作
字符串的操作有的时候还是比较烦的,比如说洛谷11月月赛的第一题,我用了半个小时才写出一个程序来。一般来说都是用到一些字符串的基本函数,还有可能会用到的O(m+n)的哈希和KMP之类的算法。
11.数据结构
数据结构一类,无非就是队列、栈、邻接矩阵之类的东西,高级一点也无非是单调队列、哈希表、并查集,树状数组和线段树就绝对不会考了。其实还是挺简单的,只要细心一点观察题目,不难解决。
--------------------- 
作者:WenDavidOI 
来源:CSDN 
原文:https://blog.csdn.net/WenDavidOI/article/details/50670029 
版权声明:本文为博主原创文章,转载请附上博文链接!

注意-[admin]

注意:

1、不能使用 头文件  bits/stdc++.h
2、不能使用 qsort,请使用 sort

FAQ: 为什么我的程序在本地跑没事,交到你的OJ上就挂了(ノ=Д=)ノ┻━┻

  • 你的数组越界了,你的数组越界了,你的数组越界了!一些隐藏的数组越界可能在本地不会报错,而到了OJ上由于运行环境发生了变化,才发生错误。数组越界不仅可能导致运行错误,也可能导致答案错误或超时等,这是由于数组越界干扰了其他内存导致的。
  • 不要使用gets等读取一行,因为这些函数使用换行符来判断行结束(当然也不要手动判断换行符)。Windows下换行符是\r\n,而Linux下换行符是\r。假设此题的数据是在Windows下生成的,那么他的换行符是\r\n,而OJ上的程序是在Linux下编译的,读取的换行符是\n,这样就错了。
  • 请记得使用%lld而非%I64d。
  • 如果出现了编译错误,记得旧版g++可能不需要#include<cstring>,而OJ上的g++需要。
  • 如果你内存超限了,记住OJ是64位机器,指针占8字节内存。
  • 你的程序可能有精度等其他问题。
  • 如果很多人都挂了,也可能是SPJ由于上述原因挂了。
优秀教程合集(同时欢迎投稿:pjcjm@qq.com)-[admin]

http://blog.csdn.net/baidu_28312631/article/details/47749737  

数据结构——全面学习哈希 


 http://blog.csdn.net/pi9nc/article/details/8142876  

背包九讲  


http://blog.csdn.net/baidu_28312631/article/details/47426445

  教你彻底学会动态规划——进阶篇  


http://blog.csdn.net/baidu_28312631/article/details/47418773 

 教你彻底学会动态规划——入门篇


  kNN,k邻近点对  

http://www.cnblogs.com/dwtfukgv/articles/6063637.html


图的存储方式:邻接矩阵和邻接表【基础】 :https://www.cnblogs.com/XMU-hcq/p/6065057.html


OJ和题目分类:https://blog.csdn.net/dl962454/article/details/73277396

2018年新闻-[admin]

1、关于超算

“E级超算”(Exascale)是指百亿亿次超级计算机,被公认为“超算界下一顶皇冠”。据新华社报道,8月5日,神威E级超算原型机在国家超级计算济南中心完成部署,并正式启用。这距离“天河三号”E级原型机在国家超级计算天津中心通过项目课题验收刚刚过去两周。

我国E级计算机研制计划第一期主要为“关键技术”研究,并安排了三个E级原型样机的研制。这三个E级原型机分别是:
天河三号E级原型机、神威E级原型机和曙光E级原型机。


国家超级计算济南中心已部署有“神威·蓝光”超算系统。  作为我国首台全部采用国产CPU和系统软件构建的千万亿次计算机,“神威·蓝光”已运行7年。  数据上,神威E级超算原型机的运算能力已达到“神威·蓝光”的三倍,体积仅为后者的九分之一,能耗同比下降75%。  截至目前,神威E级超算原型机已完成包括全球气候变化、海洋数值模拟、生物医药仿真、大数据处理和类脑智能等12个领域的35项重大计算任务,未来应用前景非常广阔。


2、英特尔上月(7月)表示,其10纳米芯片将于2019年假期发布,而所对标的AMD的7纳米芯片将于今年晚些时候上市。

一纳米等于十亿分之一米。

补位、域宽-[admin]
#include<iostream>
using namespace std;
int main()
{
    int num;
    num=5;
    cout.fill('0');//设置填充字符
    cout.width(5);//设置域宽
    cout<<23<<endl;
    return 0;
}
结果:00023
封号--请吸取教训,严禁抄袭-[admin]

jichen              2018.7.12

chenlihang        2018.7.12

gaoyiheng        2018.7.12

8220               2018.7.13

8206               2018.7.13


采荷中学视频-[admin]

收看视频的正确姿势:找个安静的地方和时间段,一边看一边做笔记,碰到需要打代码的,暂停打一遍代码。

01程序介绍

02流程图

03变量

04表达式

05if语句

06程序设计结构

07switch

08while循环

09for循环

使用系统必看-[admin]

练习时请注意:每个题目必须要独立完成:不看书,不看笔记,不查资料,边思考边打代码(coding)。

    如果答题过程中还需要查资料的,请注意还没有掌握的东西,必须牢记,过一两天后重新AC一遍。


Linux系统及基本操作-[admin]

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 3232 位和 6464 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    NOI系列比赛就是采用Linux系统,所以要求大家能熟练操作Linux系统。


ls               显示文件或目录

      -l           列出文件详细信息l (list)

      -a           列出当前目录下所有文件及目录,包括隐藏的a (all)

mkdir              创建目录

      -p           创建目录,若无父目录,则创建p(parent)

cd                 切换目录

touch              创建空文件

echo               创建带有内容的文件。

cat                查看文件内容

cp                 拷贝

mv                 移动或重命名

rm                 删除文件

     -r            递归删除,可删除子目录及文件

     -f            强制删除

find               在文件系统中搜索某文件

wc                 统计文本中行数、字数、字符数

grep               在文本文件中查找某个字符串

rmdir              删除空目录

tree               树形结构显示目录,需要安装tree包

pwd                显示当前目录

ln                 创建链接文件

more、less         分页显示文本文件内容

head、tail         显示文件头、尾内容

ctrl+alt+F1        命令行全屏模式
gzip:

bzip2:

tar:                  打包压缩

       -c             归档文件

       -x             压缩文件

       -z             gzip压缩文件

       -j             bzip2压缩文件

       -v             显示压缩或解压缩过程 v(view)

       -f             使用档名


shutdown

       -r             关机重启

       -h             关机不重启

       now            立刻关机

halt                  关机

reboot                重启
sudo apt-get install tree                      安装tree

sudo apt-get remove tree                       卸载tree

sudo apt-get update                            更新源

sudo apt-get upgrade
/etc/passwd      存储用户账号

/etc/group       存储组账号

/etc/shadow      存储用户账号的密码

/etc/gshadow     存储用户组账号的密码

useradd          用户名

userdel          用户名

adduser          用户名

groupadd         组名

groupdel         组名

passwd root      给root设置密码

su root

su – root

/etc/profile     系统环境变量

bash_profile     用户环境变量

.bashrc          用户环境变量

su user          切换用户,加载配置文件.bashrc

su – user        切换用户,加载配置文件/etc/profile ,加载bash_profile


This ACM/ICPC OnlineJudge is a GPL product from hustoj