【特别专栏】点燃梦想,燃烧激情
文章平均质量分 89
NOIP旨在向那些在中学阶段学习的青少年普及计算机科学知识;给学校的信息技术教育课程提供动力和新的思路;给那些有才华的学生提供相互交流和学习的机会;通过竞赛和相关的活动培养和选拔优秀计算机人才。
本专栏是NOIP复赛必备系列,希望大家点燃梦想,燃烧激情,夺得NOIP省一等奖!!!
Ljnoit
Copyright 2016-2024 Ljnoit
本人荣誉:第17届浙江省大学生程序设计竞赛场外赛金牌️
展开
-
【Math】几个不那么重要的公式
文章目录1.错位排列递推公式2.卡特兰公式3.二叉树重要公式4.杨辉三角形递推公式5.第二类stiring数1.错位排列递推公式f[1]=0f[2]=1f[3]=2f[4]=9f[n]=(n−1)∗(f[n−1]+f[n−2])(n>=3)f[1]=0 \\f[2]=1\\f[3]=2\\f[4]=9 \\f[n]=(n-1)*(f[n-1]+f[n-2]) (n>=3) f[1]=0f[2]=1f[3]=2f[4]=9f[n]=(n−1)∗(f[n−1]+f[n−2])(n>原创 2021-08-12 18:06:00 · 135 阅读 · 0 评论 -
【Pascal】再谈对拍程序的应用
文章目录绪言对拍的思想于是乎对拍程序(第4个程序)介绍例题题目标算动归程序(第1个程序)搜索程序(第2个程序)生成数据的程序(第3个程序)最后一步总结绪言信息学竞赛中,高手往往能够有很高的正确率,这一方面取决于他们超前的代码能力(传说陈立杰大神在WC2013中,当场怒A平面图神题,代码500+行)。膜拜一下。当然了,除了超前的代码能力之外,他们还非常熟悉一种对拍技术,对他们(包括我)来说,对拍已经是家常便饭了。所以要成为高手的话,你也必须学会对拍。曾经已经写了一个简单的C++版对拍原创 2021-08-12 12:26:14 · 206 阅读 · 0 评论 -
【Code】代码答案错误怎么办?三种方法教你如何查错
查错的方法1.目测法2.调试法3.对拍法在写完代码的时候,测一下样例,很多时候样例过了,但交到OJ上却挂了,始终找不到错误原因。有时候连样例都过不了。因此,我总结了三种方法教给大家,让大家有方向地去查错,而不是看着程序发呆。希望大家可以把三种方法熟练掌握,并懂得去运用。1.目测法目测法并不是简单的目测。此方法用于数据小且少的题目。用例子来说话:FZU-1889 龟兔赛跑原题 vju...原创 2020-03-11 15:45:06 · 8183 阅读 · 0 评论 -
【C++】信息学联赛机试常见错误和注意事项
1.文件输入输出(freopen)格式打错C++:#include <iostream>#include <cstdio>using namespace std;int main() { freopen("ex.in","r",stdin); freopen("ex.out","w",stdout); cin >> a >> b; cout << a+b << endl; fclose(stdin); //可原创 2020-11-05 20:48:29 · 706 阅读 · 0 评论 -
【CCF】NOI笔试题库
# 竞赛环境和竞赛规则1.NOI 机试使用的操作系统是:**Linux**2.Linux 中为文件改名使用的命令是:**mv <旧文件名> <新文件名>**3.在 Linux 中返回上一级目录使用的命令是:**cd ..**4.在 Linux 中删除当前目录下的 test 目录的命令是:**rm -r test**5.当前目录下有一个编译好的可执行文件 a.out...原创 2020-02-15 20:03:35 · 1707 阅读 · 0 评论 -
【C++】十大经典排序算法详解
文章目录排序算法总览比较类排序算法交换排序一. 冒泡排序算法思想算法步骤动图演示代码实现二. 快速排序算法思想算法步骤动图演示代码实现三. 插入排序算法思想算法步骤动图演示代码实现四. 希尔排序算法思想算法步骤动图演示代码实现五. 选择排序算法思想算法步骤动图演示代码实现六. 堆排序算法思想算法步骤动图演示代码实现七. 归并排序算法思想算法步骤动图演示代码实现非比较类排序算法一. 计数排序算法思想...翻译 2020-04-18 11:21:12 · 5212 阅读 · 3 评论 -
【C++】堆排序
堆排序百科名片排序操作动图演示代码实现百科名片堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。排序操作在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作:最大堆调整(Max Heapify):...原创 2020-04-15 14:05:50 · 189 阅读 · 0 评论 -
【C++】字符串和字符数组的整行读入
1.用scanf()char str[100];scanf("%[^\n]",&str);getchar();说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。scanf函数也可完成这样的功能,而且还更强大。这里主要介绍一个参数,%[...原创 2020-01-19 17:53:38 · 6355 阅读 · 1 评论 -
【C++】进制转换
进制转换十进制转二进制二进制转十进制十进制转八进制十进制转十六进制八进制转十进制十六进制转十进制八进制转十六进制十六进制转八进制十进制转x进制(通用)m进制转10进制(通用)十进制转二进制#include <cstdio>int main() { int n; int a[1000]; scanf("%d",&n); int i=n,j=0; while(i)...原创 2020-03-07 10:37:37 · 291 阅读 · 2 评论 -
【C++】卡常技巧
1.若乘上一个2的倍数的数值,可改用左移运算符例1:x=x*2 或 x*=2 改成:x=x<<1 或 x<<=1(log22=1)例2:x=x*32 或 x*=32改成:x=x<<5 或 x<<=5(log232=5)2.若除以一个2的倍数的数值,可改用右移运算符例1:x=x/2 或 x/=2改成:x= x&g...原创 2020-03-02 09:55:05 · 5033 阅读 · 5 评论 -
【C++】球盒问题总结(八种情况)
n个球放入m个盒子里一共是八种情况:1.球相同 盒不同 无空箱① ans=C(n-1,m-1) (n>=m)② ans=0 (n<m)2.球相同 盒相同 允许空箱ans=C(n+m-1,m-1)3.球不同 盒相同 无空箱即第二类斯特林数①dp[n][m]=m*dp[n-1][m]+dp[n-1][m-1] (1<=m<n)...原创 2020-02-08 10:00:23 · 5173 阅读 · 4 评论 -
【Code】背包问题九讲(崔添翼)
下载链接:https://raw.githubusercontent.com/tianyicui/pack/master/V2.pdf原创 2020-02-08 18:54:28 · 994 阅读 · 0 评论 -
【C++】max和min函数的实现方法
1.使用algorithm头文件#include <algorithm>using namespace std;inline int max(int a,int b) { return max(a,b);}inline int min(int a,int b) { return min(a,b);}2.宏定义#define max(a,b) (((a)&g...原创 2020-01-23 20:38:26 · 7822 阅读 · 1 评论 -
【C++】gcd函数的写法
gcd函数C++写gcd函数有几种写法,下面介绍几种。while循环inline int(int a,int b) { int r; while(b>0) { r=a%b; a=b; b=r; } return a;}三目运算符inline int gcd(int a,int b) { ...原创 2019-08-12 18:25:00 · 68269 阅读 · 16 评论 -
【C++】输出优化(快写)
原理同样是众所周知, putchar 是用来输出单个字符的函数因此将数字的每一位转化为字符输出以加速要注意的是,负号要单独判断输出,并且每次 %(mod)取出的是数字末位,因此要倒序输出。代码实现inline int write(int x) { if(x<0) { x=-x; putchar('-'); } if(x>9) write(x/10); pu...原创 2020-03-14 19:25:40 · 1501 阅读 · 0 评论 -
【C++】输入优化(快读)
快速读入,简称快读,比cin()、printf()等都快void类型的快读#include <cctype>//isdigit()在<cctype>头文件中,用于判断字符是否为阿拉伯数字(0-9).inline void read(int &x){ x=0; char c=0; int w=0; while (!isdigit(c)) w|=...原创 2020-02-03 20:51:37 · 5183 阅读 · 4 评论