
NOIP
Ceyo
这个作者很懒,什么都没留下…
展开
-
NOIP普及组2017比赛总结
这次考试 第一题:用四则运算, 2*a div 10+3*b div 10+5*c div 10=AC 第二题:看了一下数据范围,立即打了暴力。 先快排了一遍(图书馆里的书),然后再暴力查找(也就是一个个找,慢慢来,不用着急)。 因为数据(对于 100%的数据:1 ≤ n ≤ 1,000,1 ≤ q ≤ 1原创 2017-11-20 19:26:10 · 488 阅读 · 0 评论 -
【NOIP2009TG】靶形数独
这题是我好久以前打的了,感觉当时打的烂啊暴力dfs,但是需要倒着枚举才可以⁞⁞⁞⁞꒰ ´╥ д ╥`  ू ꒱⁞⁞⁞⁞const n=9; fu:array[1..9,1..9] of longint=((1,1,1,2,2,2,3,3,3), ...原创 2018-12-30 16:40:55 · 187 阅读 · 0 评论 -
【NOIP2009PJ】道路游戏
啊哈,现在有重温了一遍o(╥﹏╥)o从以前的O(n2)——>现在的O(n3),感觉自己废了~(尽管代码大幅度减少)我们可以发现p其实只是一个限制的作用,不需要枚举啊,它是一个个走的,所以只需要记录一下就行了┭┮﹏┭┮uses math;var f,g:array[0..1001,0..1001,0..1] of longint; a:array[1....原创 2018-12-30 16:45:38 · 603 阅读 · 0 评论 -
【NOIP2009TG】最优贸易
本题甚水,可做也。从1号城市出发,由于最终要到达n号城市,所以我们不妨可以做反向边,然后从n号城市出发,找到最终可以n号城市的城市,简单明了啊(#^.^#)这样我们只需要走到标记过的城市即可。然后,我懒得打太麻烦了。就仔细地想了想,发现每个城市走的次数不可能超过两次,于是就打了个简单的bfs,过了。上标:#include<cstdio>#include<algorith...原创 2018-12-31 22:23:06 · 219 阅读 · 0 评论 -
【NOIP2011提高组day1第1题】铺地毯
此题暴力枚举即可。由于它的铺地毯顺序是1~n,要求最上面的那个,可以倒着枚举。#include<cstdio>using namespace std;int n,a[10010][4],x,y; inline int read(){ int x=0; char c=getchar(); while (c<'0' || c>'9') c=getchar()原创 2019-01-01 11:58:50 · 765 阅读 · 5 评论 -
【NOIP2015提高组】运输计划
本题先求出DFS序,然后倍增LCA。最后用二分判一下即可。#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{int v,fr,t;}e[600010];int tail[300010],de原创 2019-01-01 12:02:17 · 197 阅读 · 0 评论 -
【NOIP2013提高组】货车运输
做法:克鲁斯卡尔+倍增LCA#include<cstdio>#include<algorithm>using namespace std;struct street {int u,v,z;}a[50010];struct node {int v,fr,z;}e[20010];int tail[10010],fa[10010],dep[10010];int f[.原创 2019-01-01 12:04:35 · 269 阅读 · 0 评论 -
【NOIP2018PJ正式赛】标题统计
暴力即可。#include<cstdio>#include<cstring>using namespace std;char ch;int ans=0;int main(){ freopen("title.in","r",stdin); freopen("title.out","w",stdout); while (scanf("%c"原创 2019-01-05 19:47:37 · 253 阅读 · 0 评论 -
【NOIP2018PJ正式赛】龙虎斗
暴力模拟即可。#include&lt;cstdio&gt;#include&lt;algorithm&gt;#define ll long longusing namespace std;ll n,m,a[100010],s=0,s1,s2,p1;inline ll read(){ ll x=0; char c=getchar(); while (c&lt;'0' || c&原创 2019-01-06 13:05:40 · 461 阅读 · 0 评论 -
【NOIP2018PJ正式赛】摆渡车
DP设f[i][j]表示第i个人等了j分钟后开车的最小花费时间。#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#define ll long longusing namespace std;int t[501],f[501][201],sum[501],n,m;inline int rea原创 2019-01-06 13:05:45 · 414 阅读 · 0 评论 -
【NOIP2018PJ正式赛】对称二叉树
暴力dfs即可。#include&lt;cstdio&gt;#define N 1000010using namespace std;int n,v[N],l[N],r[N],son[N],ans=0;inline int read(){ int x=0,f=0; char c=getchar(); while (c&lt;'0' || c&gt;'9') f=(c=='-') ...原创 2019-01-06 13:05:49 · 309 阅读 · 0 评论 -
【NOIP2010提高组】机器翻译
本题暴力做即可。#include&lt;cstdio&gt;using namespace std;int m,n,a[1010],b[1010],ans=0,tot=0;bool bz[1010];inline int read(){ int x=0; char c=getchar(); while (c&lt;'0' || c&gt;'9') c=getchar(); wh...原创 2019-01-17 14:25:09 · 881 阅读 · 0 评论 -
【NOIP2010提高组】乌龟棋
这题一眼DP,本来是设五维的:f[i][j][k][l][o]表示到了第i格还剩下j个‘1’,k个‘2’,l个‘3’,o个‘4’但是,咳咳,空超了!!!如何?我们在仔细地看一看DP数组我们可以发现,i其实是不需要的!为什么?!因为,当我们确定了剩下的卡片,我们就能确定了它当前所在的位置是哪里。所以,我们可以直接将i去掉,perfect!那这样的话,我们只要设四维就可以了。f[j...原创 2019-01-17 14:25:05 · 297 阅读 · 0 评论 -
【NOIP2010提高组】关押罪犯
本题稍难,排序+并查集即可。#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;struct pid{ int x,y,z;}a[100001];int f[20001],l[20001][1234];bool by[20001];int ans=2147483647,n,m;void qsort...原创 2019-01-17 14:23:36 · 261 阅读 · 0 评论 -
【NOIP2010提高组】引水入城
这题。。。以前打的,很暴力的bfs:#include<cstdio>#include<cstring>using namespace std;int a[502][502],ll[502],rr[502],data[300001][2];bool bz[502][502];int temp,n,m;const int way[5][2]={-1,0,1,0,...原创 2019-01-17 14:54:45 · 181 阅读 · 0 评论 -
【NOIP2012提高组】开车旅行
这题倍增。当拿到a数组时,我们便记录他的位置并拍个序(再用一个数组)然后,我们就将其变成一个链表的样子。由于题目要求每次这能从左边走到右边,所以我们便从1开始枚举到n,设nx[i][j]表示从i走2j步所到达的点f[i][j][0/1]表示到达A/B所走的路程(一步表示A一天+B一天)上标:#include&amp;lt;cstdio&amp;gt;#include&amp;lt;algorithm&am原创 2019-01-20 07:42:05 · 168 阅读 · 0 评论 -
【NOIP2011DAY2】计算系数
#include&lt;cstdio&gt;using namespace std;int f[1001][1001];int ksm(int x,int y){ int s=1;x%=10007; while (y) { if (y&amp;1) s=s*x%10007; x=x*x%10007; y&gt;&gt;=1; } return s;}int m原创 2019-01-26 07:26:44 · 272 阅读 · 1 评论 -
【NOIP2011PJ】表达式的值
暴力弄一弄(搞一搞)就可以了哦~var zf:array[1..100000] of char; c0,c1:array[0..100000] of int64; s:ansistring; n,i,j,ss:longint;begin //assign(input,'ccc.in');reset(input);...原创 2019-01-16 15:19:46 · 335 阅读 · 0 评论 -
【NOIP2007提高组】树网的核
此题不错!(可惜考场没时间打了 )两种做法哦~,有种简单但慢,有种快速但难想。。。先讲简单的:Floyd+暴判呵呵,标题好吓人啊。但其实真的很简单,经过调查研究发现,F一定是在直径上,所以所求最小偏心距也一定是在F上(也就是不可能在不是直径的路径上)。上标:#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstring&amp;amp;gt;原创 2018-12-30 16:36:16 · 242 阅读 · 0 评论 -
【NOIP2007提高组】矩阵取数游戏
本题DP+高精度即可。首先我们可以发现它的贡献只与行有关系,于是就分成n行,每行都做DP,然后将max加起来即可。(PS:用高精度实现)上标:#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;algorithm&amp;gt;#define mo 100000#define ll l原创 2018-12-30 14:23:15 · 694 阅读 · 0 评论 -
【NOIP2007提高组】字符串的展开
这题嘛,直接按照题意照做即可,就是要小心一点啊。。。#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;using namespace std;int p1,p2,p3,len,c[110];char s[110];int main(){ freopen(&quot;expand.in&quot;,&am原创 2018-12-30 14:18:39 · 508 阅读 · 0 评论 -
NOIP提高组第一题——小凯的疑惑
题目大意: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。很简单,直接输出a*b-a-b就可以的(int类型就可以的)#include<cstdio>using namespace std;原创 2017-11-20 19:53:52 · 550 阅读 · 0 评论 -
【NOIP2017普及组正式赛】成绩
牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%牛牛想知道,这门课程自己最终能得到多少分。NOIP的第一题永远是如此的简单,如何实现(题目已给)直接上代码!#include<cstdio>using namespace std;int main(){ int a,b,c,s;原创 2017-11-20 20:03:54 · 2386 阅读 · 0 评论 -
【NOIP2017普及组正式赛】 图书管理员
这一题有很多人都搞不懂意思。但是,只要是认真看了题的人,就不会有什么错了!这一题直接用暴力是可以过的,不需要wjq讲的什么字典树(不过空闲者可“自残”一下)var ycl:array[1..8] of longint=(10,100,1000,10000,100000,1000000,10000000,100000000); a:array[0..1000] of原创 2017-11-20 20:08:37 · 1194 阅读 · 0 评论 -
【NOIP2017普及组正式赛】棋盘
此题依旧简单,用一个深搜+记忆化就可以AC了! var way:array[1..4,1..2] of longint=((1,0),(0,1),(-1,0),(0,-1)); a,zx:array[0..101,0..101] of longint; m,n,i,j,x,y,k,ans:longint;procedure dg(x,y,s:l原创 2017-11-20 20:09:41 · 1130 阅读 · 0 评论 -
【NOIP2017普及组正式赛】跳房子
这一题很有它的价值,我都要认真思考一番才能够想到方法。先讲一下题目大意题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 n 个格子,这些格子都在同一条直线上。每个格子内有一个数字(整数),表示到达这个格子能得到的分数。玩家第一次从起点开始向右跳,跳到起点右侧的一个格子内。第二原创 2017-11-20 20:21:56 · 1663 阅读 · 0 评论 -
NOIP2018复赛广东省分数线
NOIP2018复赛广东省一等奖分数线为310分各位,都有一等奖吗???原创 2018-12-04 21:47:30 · 1445 阅读 · 0 评论 -
NOIP2018提高组总结
这次翻车了。。。(3普及+3省选)/22=6提高???Day0:早早地吃完了饭,便坐上大巴开跑了。。。Day1:考得还算理想,就是T3打炸了,T飞了。T1:原题,for循环的普及组题目。T2:暴力,各种方法都能水过,堪称世界水题。T3:二分+贪心。但是。。。考场的贪心打炸了,T飞了。中午在成都快餐吃了个午饭,下午回到了酒店。突然有人提出去三元里玩,怪不得他只带了这么少的作业!我想:“读...原创 2018-12-04 21:50:14 · 321 阅读 · 0 评论 -
CCF NOIP2018复赛提高组一等奖获奖名单
CCF NOIP2018复赛提高组一等奖获奖名单证书编号 准考证号 省份 姓名 性别 总分 学校 年级 高中阶段获历年NOIP提高组一等奖或历年集训队用“*”标注CCF-NOIP2018-0001 AH-0622 安徽 朱震霆 男 580 安徽师范大学附属中学 高三 *CCF-NOIP2018-0002 AH-0366 安徽 谭亦轩 男 541 安徽师范大学附属中学 高二 *CCF-N...转载 2018-12-05 12:41:02 · 16164 阅读 · 0 评论 -
NOIP2018提高组复赛成绩-广东
NOIP2018提高组广东省复赛成绩表示这次考砸了。。。转载 2018-12-03 22:07:50 · 910 阅读 · 0 评论 -
【NOIP2015提高组Day1】斗地主
简单,暴力模拟#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstring&amp;amp;amp;gt;using namespace std;int a[18],f[18][18][18][18];int ans;int min(int x,int y){return x&amp;amp;amp;lt原创 2018-12-19 21:49:06 · 194 阅读 · 0 评论 -
【NOIP2018提高组D1T3】赛道修建
唉,这题考场想到了,就是细节搞爆了。。。主要是二分答案然后判一下,每次深搜(类似贪心)即可。#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;algorithm&amp;gt;using namespace std;struct node{int v,fr,l;}e[100010原创 2018-12-15 16:29:51 · 631 阅读 · 0 评论 -
【NOIP2018提高组D2T1】旅行
这一道题嘛,水。分类讨论即可mn 暴力删边判mn-1 直接做即可#include&amp;lt;cstdio&amp;gt;#include&amp;lt;string&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;algorithm&amp;gt;using namespace st原创 2018-12-15 16:31:34 · 629 阅读 · 0 评论 -
【NOIP2018提高组D1T2】货币系统
这题就是送分的。直接记忆化深搜即可但有些人竟然跟我打的不一样,我也贴一下标吧深搜:#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstring&amp;amp;gt;#include&amp;amp;lt;algorithm&amp;amp;gt;using namespace std;int T,n,a[1原创 2018-12-15 16:34:16 · 444 阅读 · 0 评论 -
【NOIP2018提高组D1T1】铺设道路
这题不用讲了吧,一遍扫直接过#include&amp;lt;cstdio&amp;gt;using namespace std;int n,a[100010],ans=0;inline int read(){ int x=0; char c=getchar(); while (c&amp;lt;'0' || c&amp;gt;'9') c=getchar(); while (c&amp原创 2018-12-15 16:35:06 · 417 阅读 · 0 评论 -
【NOIP2018提高组D2T2】填数游戏
此题较为特殊,有两种打法1.打表过2.正解打表的:#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;#define mo 1000000007lltypedef long long ll;ll n,m,ans1[20],ans2[20];ll qp(ll x,ll y){ if(!y)return 1; if(y==1)re...原创 2018-12-15 16:38:47 · 540 阅读 · 0 评论 -
【NOIP2018提高组D2T3】保卫王国
抱歉,本人蒟蒻没能做出,不过可给标程,orz大佬const maxn=100000;inf=trunc(1e+12)-1;varf : array[0..maxn,0..17,0..1,0..1]of int64;up,dw : array[0..maxn,0..1]of int64;fa : array[0..maxn,0..17]of longint;go,nxt : arr...原创 2018-12-15 16:44:41 · 365 阅读 · 0 评论 -
【NOIP2007提高组】统计数字
本题排序输出即可。#include&amp;lt;cstdio&amp;gt;#include&amp;lt;algorithm&amp;gt;using namespace std;int n,a[200010],tot=1;inline int read(){ int x=0; char c=getchar(); while (c&amp;lt;'0' || c&amp;g原创 2018-12-30 12:06:01 · 871 阅读 · 0 评论 -
【NOIP2008tj】传纸条
哈哈。。。这题我竟然到现在才做(看见其同学早早地AC了,我十分gg)暴力DP,设f[i][j][k][l]。由于它是一来一回的而且不能有重叠,所以我们可以发现它一定是:由于不能重叠,所以只有可能是上面的,而不可能↙相交上标:#include<cstdio>#define max(x,y) x=x>y ? x:yusing namespace std;int...原创 2019-01-16 16:33:58 · 163 阅读 · 0 评论