NOIP提高组历年考试
文章平均质量分 88
NOIP提高组历年考试等题目的解析
Hi_KER
Lost in the maze of overwhelming information, chaos becomes inevitable.
展开
-
NOIP2017提高组DAY2题解
T1:奶酪考察知识:搜索,并查集,枚举算法难度:XX 实现难度:XX分析:这道题我当年考试用的dfs,没有处理最后20%的情况,得了80分。下面讲解用并查集解决此题。显然我们可以用并查集合并连通的洞,只需要进行枚举就可以了然后我们继续枚举两个不同的洞,如果一个与下边界相交,一个与上边界相交,且在同一个集合里,说明有解;如果枚举完都没有找到解,说明无解。时间复杂度:代码:...原创 2018-10-30 08:16:18 · 1624 阅读 · 0 评论 -
NOIP2017提高组DAY1题解
T1:小凯的疑惑考察知识:数学,数论算法难度:XXX 实现难度:X分析:这是一个推(cai)结(da)论(an)的题一看数据范围,就知道应该用时间复杂度或以下的算法,如果猜有些或许你会发现答案就是,注意用long long关于结论的证明就参考这里吧:P3951 小凯的疑惑 题解代码:#include<iostream>int main(){ lo...原创 2018-10-26 17:05:17 · 1631 阅读 · 0 评论 -
NOIP2018提高组初赛选择题解析
说明:难题解析比较详细,简单题没有解析一、单项选择题(共 10 题,每题 2 分,共计 20 分; 每题有且仅有一个正确选项) 1. 下列四个不同进制的数中,与其它三项数值上不相等的是( )。A. (269) 16B. (617) 10C. (1151) 8D. (1001101011) 2答案:D解析:考察进制转换,我们可以先将A,B转换为二进制,就可以发现A,...原创 2018-10-13 20:59:42 · 11292 阅读 · 0 评论 -
NOIP2016提高组DAY2题解
T1:组合数问题考察知识:数学,记忆化算法难度:XX+ 实现难度:XX+分析:设 表示中 的数的个数状态转移:,其中cnt表示预处理之后,对于每个输入我们直接输出答案即可代码:#include<iostream>#include<cstdio>#include<algorithm>using namespace s...原创 2018-10-30 10:47:41 · 783 阅读 · 0 评论 -
NOIP2016提高组DAY1题解
T1:玩具谜题考察知识:模拟算法难度:X+ 实现难度:X+分析:把题目读懂之后就比较简单了,直接按题目说明模拟即可为了简洁,我们用 0...n-1 表示每个小人的位置就可以了代码:#include<cstdio>int n,m,f[100005];//f表示朝向char name[100005][12];int main(){ int f_,...原创 2018-09-26 13:56:58 · 907 阅读 · 0 评论 -
NOIP2015提高组DAY2题解
T1:跳石头考察知识:二分,模拟算法难度:XX+ 实现难度:XX+分析:因为答案具有单调性(或者说这是最大最小问题,为T3做铺垫),我们考虑二分解决我们二分出最短跳跃距离的最大值mid,然后进行判断:判断至少要移除多少块石头才能满足条件至于怎么判断,我们可以写一个判断函数,用模拟的方法统计#include<cstdio>int L,n,m,a[50005];...原创 2018-09-18 17:13:45 · 982 阅读 · 1 评论 -
NOIP2014提高组DAY2题解
T1:无线网络发射器选址考察知识:枚举,二维数组算法难度:X+ 实现难度:XX分析:权值储存用二维数组实现,直接枚举放正方形的坐标(x,y)并计算覆盖权值即可注意下标不要越界。代码:#include<cstdio>#include<algorithm>using namespace std;int d,n,g[130][130];voi...原创 2018-09-10 16:48:21 · 539 阅读 · 0 评论 -
NOIP2014提高组DAY1题解
T1:生活大爆炸版石头剪刀布考察知识:模拟算法难度:X+ 实现难度:XX分析:按照题目描述模拟即可,代码应该很易懂的:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,na,nb,a[205],b[205],A,B;int ...原创 2018-09-08 14:42:50 · 402 阅读 · 0 评论 -
NOIP2013提高组DAY1题解
T1:转圈游戏考察知识:数学算法难度:XX 实现难度:XX分析:不难发现:位置为x的小伙伴移动m步后在(x+m)mod n处重复m*10^k次,所以答案为:求m*10^k我们可以用快速幂,注意防溢出代码:#include<cstdio>long long n,m,k,x;long long q_pow(int a,int k){ long ...原创 2018-09-04 13:52:27 · 396 阅读 · 0 评论 -
NOIP2011提高组DAY2题解
链接:NOIP2011DAY1题解:https://blog.csdn.net/Hi_KER/article/details/82142423 T1:计算系数考察知识:快速幂,组合数,数论算法难度:XX+ 实现难度:XX+分析:首先我们要知道二项式定理:那么:其中一项为:所以我们求出就可以了求:用公式就可以了(当然,也可以用整数的唯一分解定理)求:用快速幂(...原创 2018-08-29 11:44:55 · 588 阅读 · 0 评论 -
NOIP2011提高组DAY1题解
链接:NOIP2011DAY2题解:https://blog.csdn.net/Hi_KER/article/details/82180163 T1:铺地毯考察知识:模拟,枚举算法难度:X 实现难度:X分析:直接读入数据然后判断就可以了,真的没有难度代码:#include<cstdio>const int maxn=10005;int n,a[maxn...原创 2018-08-28 09:47:15 · 545 阅读 · 0 评论 -
NOIP2001-2010题目简介
前言可以说2010-2011是一个分界线,不但题目数量从4道变成了6道,而且在考察知识的侧重点也发生了一定变化。在2010及之前难题有一部分集中在搜索+剪枝算法中(如:传染病控制,靶形数独,虫食算),还有少量集中在数据结构上;NOIP2010之后难题开始集中在数据结构,而且数学类题几乎每年都有,同时题目描述,样例数据,测试数据也更加完善。可以看见NOIP正日渐趋于成熟,难度也在逐年增大。对...原创 2018-08-27 09:03:21 · 401 阅读 · 0 评论 -
NOIP2010提高组题解
T1:机器翻译考察知识:队列,模拟算法难度:X+ 实现难度:X+分析:真的很简单,直接按照题意模拟即可代码:#include<cstdio>int n,m,que[1005],L,R,cnt=0,k;int main(){ scanf("%d%d",&m,&n); while(n--){ bool find=fa...原创 2018-08-27 12:14:34 · 795 阅读 · 0 评论 -
NOIP2009提高组题解
T1:潜伏者考察知识:map,模拟算法难度:XX 实现难度:XX分析:我们开一个map<char,char>mp用mp[a]=b表示明文b为密文a的映射我们只需要输入后一个一个的映射,然后判断是否合理就可以了但是判断是否合理要考虑严谨,这里比较容易丢分细节见代码:#include<cstdio>#include<algorithm&...原创 2018-08-24 17:18:06 · 1142 阅读 · 0 评论 -
NOIP2008提高组题解
T1:笨小猴考察知识:字符串,素数判定算法难度:X+ 实现难度:X+分析:直接输入后安装要求计算就可以了。#include<cstdio>bool isprime(int n){ if(n<=1) return false; for(int i=2;i<n;i++) if(n%i==0) return false; retur...原创 2018-09-10 18:29:58 · 790 阅读 · 0 评论 -
NOIP2007提高组题解
T1:统计数字考察知识:快速排序,map的基本操作算法难度:XX || X 实现难度:XX || X+分析:如果用快排的话,要用分治思想,难度稍微大一些,用map就是基本操作,难度不大如果追求速度可以写一个快速输入函数,但是注意输入是否有负数map版代码(含快速输入):#include<cstdio>#include<map>#include&...原创 2018-08-15 18:14:58 · 1581 阅读 · 0 评论 -
NOIP2006提高组题解
T1:能量项链考察知识:区间型动态规划算法难度:XXX 实现难度:XX分析:只要分析出状态转移方程就不难实现了根据题意,我们可以把项链看作矩阵,项链的合并就是矩阵乘法所以我们定义两个数组x[],y[],x[],y[]分别存矩阵的行列数首先我们怎么把项链转化为矩阵呢: for(int i=1;i<=n;i++) scanf("%d",a+i); fo...原创 2018-08-22 11:34:17 · 750 阅读 · 0 评论 -
NOIP2005提高组题解
T1:谁拿了最多奖学金考察知识:模拟,条件语句算法难度:X 实现难度:X+分析:初学者都能做,只要细心把所有条件都考虑完就可以了。算法流程:1.读入n2.循环n次,一边读入数据一边判断可以得那些奖学金,并按题目要求处理代码:#include<cstdio>#include<cstring>char top_stu[25],name[25...原创 2018-08-10 15:52:59 · 984 阅读 · 0 评论 -
NOIP2004提高组题解
T1:津津的储蓄计划考察知识:模拟算法难度:X 实现难度:X+分析:按照题目的要求模拟就可以了,只是要考虑严谨,还要看懂题目代码:#include<cstdio>int cost,rest,store,fail;int main(){ for(int i=1;i<=12;i++){ scanf("%d",&cost); rest+=(3...原创 2018-08-08 19:41:49 · 1433 阅读 · 0 评论 -
NOIP2003提高组题解+反思
T1:神经网络考察知识:图的基本知识,细节算法难度:XX+ 实现难度:XX+ 分析:这道题不难,但是细节有点多(见反思)我们考虑节点时需要使用上一个节点的值(所以要反向建图),所以可以用函数的递归调用实现转移方程:代码:#include<iostream>#include<cstdio>#include<cstring>#...原创 2018-08-06 19:34:19 · 1186 阅读 · 0 评论 -
NOIP2002提高组题解
T1:均分纸牌考察知识:贪心,模拟算法难度:XX 实现难度:XX分析:此题有很多解法,下面介绍我的算法步骤:(具体请参见代码)0.定义pos表示已经处理好的部分(从左往右),pos初始值为01.从左往右(i=1 to n)扫描,并统计sum=sum+a[i]2.一旦sum除以i-pos大于平均值,cnt+=(i-pos-1),并修改pos=i,sum=sum-ave*(...原创 2018-08-02 19:47:13 · 1280 阅读 · 0 评论 -
NOIP2001提高组题解
T1:一元三次方程求解考察知识:二分,枚举算法难度:XX 代码实现难度:XXTips:'X'越多表示越难分析:这道题给定的一元三次方程限制比较多,减少了难度,我们可以考虑枚举区间长为1的区间(-100~100),二分答案,题目提示所得比较清晰,说明开区间 (l,r) 之间有根,我们采用二分法即可代码实现:#include<iostream>#include&...原创 2018-07-30 19:39:51 · 1164 阅读 · 0 评论