-
NOIP考点
摘要:NOIP考点基础算法图树数论数据结构动态规划搜索其他算法省选知识点汇总图论数据结构字符串相关算法及数据结构数学计算几何搜索动态规划其他算法转自:巨佬的博客 加*号是选学,加粗为重点,重要值排序不分先后NOIP考点基础算法贪心、枚举、分治、二分、倍增、*构造、高精、模拟...
阅读全文
-
NOIP2017提高组day2T1题解(奶酪)
摘要:题目链接:奶酪 这道题还是很水的,在下拿了满分。 并没有用什么高级的算法,我讲一下基本思路。 我们把每个洞都视为一个节点。 我们读入相关数据后,就先进行预处理,通过每个节点的信息和题目的规定,建立一张无向图,两个能相通的洞对应的节点之间有一条无向边,这样我们就建立好了...
阅读全文
-
NOIP2017普及组T2题解
摘要:还是神奇的链接 上面依然是题目。 这道题依然很简单,比起2015年的普及组t2好像还是更水一些。 不过这道题能讲的比第一题多。 我们一起来看一下吧! 这一题,我们首先将书的编号全部读入,存在一个数组里。 接下来我们需要对这个数组进行一个操作,那就是用sort排序,因为...
阅读全文
-
NOIP2017普及组T1题解
摘要:神奇的链接 上面时题目。 其实不得不说,这一题很水,比2015年的第一题水多了。 直接按题目套公式就行了,当然你也可以像我一样化简一下。 直接看代码:#include#include#include //有些头文件不要也行using namespace std;i...
阅读全文
-
栈(NOIP2003&水题测试2017082501)
摘要:题目链接:栈 这题不难。 我们看一下,其实可以发现是卡特兰数。 不知道卡特兰数?没事,给你简单讲一下。 卡特兰数的递推式f(n)=f(0)*f(n-1)+f(1)*f(n-2)+…+f(n-2)*f(1)+f(n-1)*f(0) 这样你应该能发现规律了。 我们枚举栈空...
阅读全文
-
装箱问题(NOIP2001&水题测试2017082401)
摘要:题目链接:装箱问题 这题经典的01背包。 动规。 设计状态f[n][V]表示前n个物体放在V中的最大体积是多少。 所以代码如下:#includeusing namespace std;int f[35][20003];int dp(int* v,int V,int n...
阅读全文
-
数的划分(NOIP2001&水题测试2017082401)
摘要:题目链接:数的划分 这题直接搜索就行了。给代码,思路没什么好讲的,要讲的放在代码后面:#includeusing namespace std;int dfs(int n,int k,int cur){ if(k==1){ return 1; ...
阅读全文
-
旅行家的预算(NOIP1999&水题测试2017082301)
摘要:题目链接:旅行家的预算 这题还可以,不算太水。 这题贪心即可。 我们采取如下动作:如果在装满油的情况下能到达的范围内,没有加油站,则无解。如果在装满油的情况下能到达的范围内,油价最低的加油站的油价比当前高,那就装满油再走。如果在装满油的情况下能到达的范围内,油价最低的...
阅读全文
-
求先序排列(NOIP2001&NOIP水题测试(2017082301))
摘要:题目链接:求先序排列 这道题讲白了,就是数的构造,然后遍历。 思路大致是这样: 我们先通过后序遍历,找到当前区间的根,然后在中序遍历中找到根对应的下标,然后就可以分出左右子树,建立当前根与左右子树根的关系,然后分为两段,重复该操作即可。 先序遍历也没有什么难的,先输出...
阅读全文
-
乘积最大(NOIP2000&NOIP水题测试(2017082301))
摘要:题目链接:乘积最大 这道题显然是道区间dp。 难度不是很大。 思路也很清晰。 我们设计一个三维状态。 ans[l][r][k] 这里表示在闭区间[l,r]上操作k次的最大值。 操作就是加乘号。 转移也很好转移,写一个双循环,外层循环断点,内层循环两段的操作次数。 下面...
阅读全文
-
进制转换(NOIP2000&NOIP水题测试(2017082301))
摘要:题目链接:进制转换 这题得明白其中的数学方法,明白后就不难了。 那么我们应该怎么计算呢? 其实也很简单。 我们依然采取辗转相除法。 但是,对于负的余数,我们需要进行一些处理。 我们怎么处理呢? 很简单,我们只需要将余数加上我们的进制数的绝对值,然后将商加一,即可。 所...
阅读全文
-
数字统计(NOIP2010)
摘要:题目链接:数字统计 这题很水。 思路就是:枚举每一个区间内的数,然后对于每一个数,每个位去判断是否为2,就行了。 下面上代码:#includeusing namespace std;int main(){ int l,r; scanf("%d%d",&l,...
阅读全文
-
计算器的改良(NOIP2000)
摘要:题目链接:计算器的改良 这道题,不是很难,但代码也短不到哪去。 我们这里决定采取边读入边计算的方法,因为题目没有明确说式子有多长。 我们需要计算什么? 我们需要知道等号两边未知数的系数和常数项即可。 那么我们就要分五种情况去处理: 数字,加号,减号,等号和未知数。 今...
阅读全文
-
求和(NOIP2015)
摘要:题目链接:求和 这道题不是很简单,因为数据并不是很小,常规计算会t。 这里引用chenleyu的解答(如果想要cgg原创解答,……改天吧): 这题相对是比较难的,首先我们要解读题目的意思一条狭长的纸带被均匀划分出了n个格子,格子编号从1到n。每个格子上都染了一种颜色c...
阅读全文
-
组合数问题(NOIP2016)
摘要:题目链接:组合数问题 这道题可以算当年第二简单的。 这里要用到两个技巧:用杨辉三角递推计算组合数运用前缀和 有了这两点,这道题就出来了。 我们先运用杨辉三角推出题目范围内所能用到的所有组合数,然后运用二维前缀和(就是每一行的前缀和),这个前缀和用于保存是k的倍数的数的...
阅读全文
-
海港(NOIP2016)
摘要:题目链接:海港 这一题怎么样呢?还好吧,也不是太难,没有用到什么特殊的算法,但写法还是很值得学习的。下面讲一下思路: 我们维护三个队列(这里我们采用自己手写的队列,因为这比STL的要快,不过这一题,STL也够了),分别存储时间,人数,国籍。 然后模拟就行了,先看代码,...
阅读全文
-
玩具谜题(NOIP2016)
摘要:题目链接:玩具谜题 提高组日常水题。 直接模拟,有需要注意的点会在代码后讲解:#includeusing namespace std;int main(){ int n,m; scanf("%d%d",&n,&m); int dirt[n]; ...
阅读全文
-
Cantor表(NOIP1999)
摘要:题目链接:Cantor表 这道题很水,但有的人没看懂题意,这不怪大家,怪题目没说清楚。 给张图: 看到这,你应该明白题目意思了。 先看看有什么规律。 我把这个数列写出来: 1/1,1/2,2/1,3/1,2/2,1/3,1/4,2/3,3/2,4/1,5/1,4/2...
阅读全文
-
选数(NOIP2002)
摘要:题目链接:选数 这一题水过去就行了,我们这里用next_permutation去生成各种排列,有一个注意点,我会在代码中标注。#includeusing namespace std;bool isprime(int x){ int q=sqrt(x+0.5); ...
阅读全文
-
车站(NOIP1998)
摘要:题目链接:车站 这一题,首先你要会推导,推到出式子后,就会像我一样简单AC。 给一张图: 这里,t是第二个车站上车人数。 有什么规律? 其实很好找。有如下规律:第x车站的人数增量为第x-2车站的上车人数。第x车站的出发时人数等于1到x车站人数增量之和 那么...
阅读全文
|