改题
文章平均质量分 71
megalomaniac丶yl
蒟蒻
展开
-
3月10日 模拟题
prime.cpp这第一道题特简单。。。。。一个俩质数相乘的数只有1,那俩质数(可能有1),和他本身那几个约数,那我找到小的那个质数,用大数除以它则是答案了。//#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<cstdlib>#include<algor...原创 2018-03-10 15:56:25 · 248 阅读 · 0 评论 -
noip2017 Day1
第一题数学公式推导,反正推完后就是(a*b)-a+b,没什么好说的,送分。第二题懒得放题目,总而言之就是一道大模拟,判断循环,还挺麻烦的。。,但只要仔细都能打对。主要是在每个循环判断能不能进,如果不能进就得停止累加时间复杂度,后面的E结束要对应前面的F,我是用了一个stack+结构体来判断这次能不能进循环,会不会停止,和更新答案了否(就是cifang有没有比之前+1),然后后面E结束循环时...原创 2018-09-22 17:24:24 · 311 阅读 · 0 评论 -
noip模拟 2018 10 17
刺客信条(AC)Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这...原创 2018-10-17 21:54:33 · 233 阅读 · 0 评论 -
noip2018 10.18 day2
轻功Description题目背景: 尊者神高达进入了基三的世界,作为一个 mmorpg 做任务是必不可少的,然而跑地图却令人十分不爽。好在基三可以使用轻功,但是尊者神高达有些手残,他决定用梅花桩练习轻功。 题目描述: 一共有 n 个木桩,要求从起点(0)开始,经过所有梅花桩,恰好到达终点...原创 2018-10-18 21:40:50 · 427 阅读 · 0 评论 -
10.19 noip 模拟题 【NOIP2018模拟赛2018.10.19】
今天也才改出来一道题orz,大坑最近要填,,,今天题目难度适中,暴力都打出来了,但是第二题“spfa死了”。于是今天就改出来了第一题和去练了下dijkstra+堆优化。。。于是时间不够用orz。。------------------------------------------------------------------------------------------------...原创 2018-10-19 23:42:23 · 515 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.22】cards
这道题十分阴险啊。。一般来说看到这道题都会选择打一个最长上升子序列的模板吧(比较时就比较三个参数)。。。。但你可以看到,5,6,7,8四个点m达到了1e6的规模,那么n^2的复杂的肯定是过不了的。又可以惊奇的发现,1~8个点的z都为0!于是经过仔(can)细(kao)思(ti)考(jie)后,1~8个点发现咱可以用树状数组维护DP转移,使其复杂度降到O(nlogn)。...原创 2018-10-22 21:10:13 · 321 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.22】pets
与cards同天考的题,反正很恶心人。。首先分组,我将一队放进a,二队放进b,然后队伍中n^2建边,若 i 打得过 j 就连一条有向边,将 j 的入度+1,然后topo序判环。可以看出如果有环就说明一个队中存在 a 打得过 b,b 打得过 c, c 又打得过 a 的情况,这种情况出现是不可能保证后面的pets都能打得过前面的pets的,故不合法,输出NO。若没有环,这时候我们得...原创 2018-10-22 21:28:20 · 216 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.27】
小猫爬山【题目描述】:Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。Freda和rainbow只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过W。每租用一辆缆车,Freda和rain...原创 2018-10-28 14:59:22 · 295 阅读 · 0 评论 -
【联考第一场2018.10.20】
前言今天虽然题目难度不大,但是我打爆了。虽然一开始都想到正解,但后来都没打出来,不敢浪,就先打了个暴力,就第一题直接打的正解。但是翻车了。。。第一题只有5分,原因是期望算的最大概率,cmp排序用的int排double,,,orzorz---------------------------------------------------------------------------...原创 2018-10-21 10:57:10 · 176 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.25 B组】
此题爆零。原因不知道可以因费马小定理推出 b' = b MOD p。可以看出,f(u,p) = v 在这道题里面意思就是 v = u MOD p,由于p是一个质数,那么可以知道所有的a[i]等价于a[i] % p,所有的b[i]等价于b[i] % (p-1)懒得讲部分分 正解如下:1、首先我们可以看出处理过后所有的a,b满足 0 <= a <= p-1,0 <= ...原创 2018-10-25 22:59:59 · 350 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.23】字符串
字符串(string)【题目描述】 定义两个字符串A,B相似当且仅当满足以下两个条件中的至少一个: (1)A和B相同; (2)将A分为长度相同的两个子串A0,A1,将B分为长度相同的两个子串B0,B1,满足A0相似于B0,A1相似于B1或A0相似于B1,A1相似于B0。 给定两个字符串S,T,问它们是否相似。 有多组数据。【输入数据】 第一行一个整数t表示数据组数。 每组数据第一行一个字符...原创 2018-10-23 17:16:15 · 455 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.29】
正解 边带权并查集具体思路,跟一般的边带权并查集一样,一边加入并查集,维护每个点到其根的dis,还没加入的边默认正确,在加入的边中进行判断是否合法。 可以知道,若一次询问两个士兵 (设为l,r) 在一个集合中,为了满足前面的要求,又要满足这次的要求,必须 dis[l] + d == dis[r] ,dis[l]代表l点到根的距离,dis[r]代表r到根的距离,若不满足则一定不合法。 如果两...原创 2018-10-29 23:06:16 · 223 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.26】
第一题数论,证不出来,,,spfa统计到每个点最短路数量,乘起来就是答案。统计方法:更新最短路就把此点最短路数量重新赋为1,遇到相等dis[x] + w == dis[to]的情况则数量++。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define pt putchar...原创 2018-10-26 22:50:13 · 311 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.31】
#include&lt;bits/stdc++.h&gt;using namespace std;#define ll long long#define gc getchar#define pt putchar#define ko pt(' ')#define ex pt('\n')const int MAXN = 2e5 + 5;int n,maxnow;int a[MAXN...原创 2018-10-31 23:25:24 · 250 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.24 B组】
此题直接暴力枚举 1~1e6 + 1000 左右预处理一个好数数组,然后二分找到询问n位置,往后找m个就行了。。被行末空格恶心到,,代码变丑了好多。。#include<bits/stdc++.h>using namespace std;#define ll long long#define pt putchar#define ex pt('\n')#define...原创 2018-10-24 23:26:29 · 284 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.30】
区间DP 明显的序列合并操作,dalao们想到了区间DP 预处理0~7进行题目所示操作(实际上你会发现就是(a + b)/2)结果(O(1)算也可以),f[l][r][k]代表区间为[l,r]时,可以合并出k,转移明显是: if(f[l1][r1][ki] &amp;&amp; f[l2][r2][kj]) f[l1][r2][ca[ki][kj] = 1;(ca为预处理) 答案从0枚举...原创 2018-10-30 22:42:44 · 236 阅读 · 0 评论 -
【NOIP2018模拟赛2018.11.1】
预处理优化 一看就知道是快速幂,但是很可惜,暴力快速幂很慢,50分。考虑分解b,达到O(1)查询效果 观察到一个重点l &lt;= 1012,即可知道b &lt;= 1012 于是考虑分解b,分成 x*1e6 + y 的形式,预处理出 a的1 ~ 1e6次方, 然后利用算出来的a1e6再预处理出a的1 * 1e6 ~ 1e6 * 1e6次方,这样就可以拆成ax*1e6 * ay,进行O(...原创 2018-11-01 21:30:16 · 429 阅读 · 0 评论 -
data track capacitor 10.3模拟题 题解总结
今天题目挺难的,第二题有坑,题目中输入n,m,根所属的节点后,还有个E (= n-m)的输入,导致全场第二题爆零。就得了第一题100分,第三题暴力深搜都错了。。。我实在太弱了。。----------------------------------------------------------------------------------------------------------...原创 2018-10-03 19:02:01 · 166 阅读 · 0 评论 -
noip2013 day2
一道纯模拟就可以过(水水水)。考试时本蒟蒻甚至写了个线段树,然后发现其实不如直接模拟。模拟思路:从1到n枚举每个最长的不为0的序列,每次每个数减去其中剩余的最小值,答案加上这个最小值,如此反复到每个值都减为0。蒟蒻代码:#include<bits/stdc++.h>using namespace std;#define ll long long#d...原创 2018-07-25 22:09:03 · 573 阅读 · 0 评论 -
noip2011 day2
二项式定理推出系数等于a^n * b^m * C(n,k)快速幂+组合数(逆元做除法)结束。具体看代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<vector>#inc...原创 2018-07-14 08:13:09 · 172 阅读 · 0 评论 -
落地成盒
3 落地成盒 pdd.cpp / pdd.in / pdd.out 3.1 题目描述 众而周知,落地成盒是件很痛苦的事情,然而对于萌萌哒选手 pdd(不是 PDD)来说,只要有一种特 殊的技巧,就能避免落地成盒。 这个技巧便是:不停地往前跑,永远不要回头,永远不要往低处走。尴尬的是,当不能再往高处前进 时,pdd 还是不能避免成盒的命运。pdd 希望知道,自己最多能跑到多少地方。 整个地图可以抽象...原创 2018-03-04 16:24:23 · 467 阅读 · 0 评论 -
2018.3.4 2、bcatch
2.接苹果(bcatch.pas/c/cpp) 题目描述 很少有人知道奶牛爱吃苹果。农夫约翰的农场上有两棵苹果树(编号为 1 和 2),每一 棵树上都长满了苹果。奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果从树上落下。但 是,由于苹果掉到地上会摔烂,贝茜必须在半空中接住苹果(没有人爱吃摔烂的苹果)。贝 茜吃东西很快,所以她接到苹果后仅用几秒钟就能吃完。 每一分钟,两棵苹果树其中...原创 2018-03-04 11:23:20 · 423 阅读 · 0 评论 -
2018.3.4 st
5、生成树(st.cpp) 题目描述 【题目背景】 LLJ 热愛生成树。 【题目描述】 给出一个结点数为 N 的无向完全图,即任意结点两两相连,且每条边长为 1。LLJ 想知道这 个图的生成树个数。 但这个数量太大了,LLJ 会懒得看,所以他只想看这个数量模 K 后的结果(若 K=0,输出-1 即 可) 注:生成树定义:在图中节点数为 N,边数为 N-1 的连通子图。 输入 输入共一行,...原创 2018-03-04 11:35:14 · 152 阅读 · 0 评论 -
2018.3.4 sline
4.最短路线(sline.pas/c/cpp) 题目描述 某城市的街道是一个很规整的矩形网格(见下图),有 M 条南北向的纵街,N 条东 西向的横街。现要从西南角的 A 走到东北角的 B,最短的走法共有多少种? 输入 输入文件 Sline.in,一行,两个数 M,N,其中 2<M,N<=800; 输出 输出文件 sline.out,输出最短路的走法总数. 样例输入 7 5...原创 2018-03-04 14:30:12 · 620 阅读 · 0 评论 -
三月十三日 大学先修课考试
A:吃糖果总时间限制: 1000ms内存限制: 65536kB描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以...原创 2018-03-13 17:00:54 · 428 阅读 · 1 评论 -
3月27日 题解
基本思路就模拟整个过程,每次进行两两比较,赢得一分,输了的就不管。sort其实就是快速排序,而快速排序其实就是二分的思想。稳定的话O(nlogn)左右。但是仔细想想此题——每次需要更新的值,都是相邻两个人变化后的分数;而相邻的分数,有些是不会改变位置的,而快速排序则是每次全部修改,必然会造成浪费。虽然很慢但是可能这种暴力也应该会打那我就放在这://#include<bits/stdc++.h...原创 2018-03-29 17:35:58 · 207 阅读 · 0 评论 -
4月7日 测试题
第二天的测试。觉得还是有点进步。再接再厉。代码风格开始转变,用了很多简写。主要是懒简单模拟,不想多说什么。一开始想到用Map[maxn][maxn]来打标记的做法,但是n范围达1e5所以会炸,然后就想到用变量表示行列,每次遇到坐标就减1就好了。#include<iostream>#include<cstdio>#include<cstdlib>#inclu...原创 2018-04-07 21:38:46 · 178 阅读 · 0 评论 -
3月24日 模拟赛题解
此题我用stack做出了负数,至今不知道为什么,代码如下,麻烦知道的各位大神能告知小的一声://#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#include<string>#...原创 2018-03-25 22:59:55 · 316 阅读 · 0 评论 -
4月6日 题解
这道题可以说是一道阅读理解题,考语文。题意就给你俩字符串,一密码一原文,让你判断是否翻得合理。但是这道题判断是否合理其实就是判断一个原文和密码中出现次数相同的字母个数是否相同。因为其实题中所说的替换和顺序变换两种处理方式使得原文变化成密码只需要原文和密码中出现次数相同的字母个数相同就行了。照此原理:#include<iostream>#include<cstdio>#inc...原创 2018-04-06 20:37:16 · 217 阅读 · 0 评论 -
noip 2006 提高组
环状处理+区间dp得解,注意答案需要枚举判断出以哪一颗珠子开始最大。状态转移方程为:dp[j][i] = max(E[j]*E[k+1]*E[i+1]+dp[j][k]+dp[k+1][i],dp[j][i])j是开始的一颗珠子,i是结束的一颗珠子。相当于用k截开每两颗珠子计算最大区间值。#include<bits/stdc++.h>using namespace std;#def...原创 2018-05-27 21:42:15 · 884 阅读 · 0 评论 -
6.23模拟题解
A. 【NOIP2018 模拟】密码假发通过了不懈的努力,得到了将军家门锁的密码(一串小写英文字母)。但是假发被十四和猩猩他们盯上了,所以假发需要把密码传递出去。因为假发不想十四他们发现几松门前贴的小纸条就是将军家的密码,所以他加密了密码(新八:听起来有点诡异)。加密方法如下:随机地,在密码中任意位置插入随机长度的小写字符串。 不过,假发相信银桑和他那么多年小...原创 2018-06-24 10:20:04 · 441 阅读 · 0 评论 -
noip2010提高组
最近几次始终考的不怎么好,思路比较死。---------------------------------------------------------------------------------------------------------------------------------- 一道简单的模拟,不多说,用stl很简单直观代码:#include<cstdio&...原创 2018-06-18 10:40:26 · 2168 阅读 · 0 评论 -
noip2012 day1
简单模拟。规律的话就是密匙中A代表加0,B代表加1,以此类推。于是先把密匙大小写同一,然后与A减,得到的再用密文减即可。需要注意的一点就是密文大小写一开始就定下来了,如果减过了‘a’或者‘A’的话,依照表的规律的话要改成‘Z’或‘z’减掉溢出。#include<bits/stdc++.h>using namespace std;#define RG register...原创 2018-07-16 19:39:36 · 302 阅读 · 0 评论 -
noip2012 day2
扩展欧几里得模板题。注意取模。#include<bits/stdc++.h>using namespace std;#define ll long long#define in(x) scanf("%d",&x) #define lin(x) scanf("%lld",&x)#define out(x) printf("%d",x)#defin...原创 2018-07-16 19:45:51 · 265 阅读 · 1 评论 -
noip2013 day1
1.转圈游戏(circle.cpp/c/pas)【问题描述】n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从0 到 n-1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,...原创 2018-07-24 15:48:43 · 324 阅读 · 0 评论 -
noip2011 day1
简单模拟,蜜汁WA。因为错了还是写一下思路: 先保存,然后倒着(n到1)枚举覆盖目标点的毯子,找到即是答案。#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<cctype>...原创 2018-07-13 19:55:01 · 320 阅读 · 0 评论 -
【NOIP2018模拟赛2018.11.2】
SJR的直线题目大意给你n条直线,每条直线的方程为Aix+Biy+Ci=0,求这些直线相交组成了多少个三角形解法 注意,没有三条直线交于一点 对于所有的平行线,我们考虑他们对答案的影响分别是什么 考虑每次加入一条直线的影响,明显两条平行线和一条其他斜率的线不能满足题意,累加答案时应避开这种情况,于是可以想到加入一条线增加的三角形等于选了这条线并且在前面的i-1条中选两条的方案数 - 前...原创 2018-11-02 22:52:22 · 324 阅读 · 0 评论