HEOI2018——welcome to NOI2018】的更多相关文章

我不得不和烈士和小丑走在同一道路上,  万人都要将火熄灭,  我一人独将此火高高举起,  我借此火得度一生的茫茫黑夜. ——海子 弹指一瞬间,翘首以盼的HEOI2018就来了. 我,一个滑稽的小丑,带着最惨淡的祝愿:我是不希望你进省队的,第四度来到了秦皇岛. 没有了往日的意气奋发,指点江山的豪迈,与舍友高谈阔论,挥斥方遒已随风远逝,年月只给我留下了腐朽的麻木. 半年已逝,昔日旧友已另寻新人,挚友所剩无几. 炽热的心,冷了. 曾梦想斩金夺银,曾砥砺前行,曾自以为是,曾毫不退缩. 放荡,或已寸不离身…
NOIP2016惨淡收场了,距离省一还有相当一大段距离,省队更是差了十条街去了,不过没关系. 既然已经对信息学产生了兴趣,竞赛无疑是最好的锻炼场所. 路是自己选择的,伤痕累累也要走下去. 还有一年,事实上抠去学文化课的时间,时间对我来说并不充裕. 提高效率,冲击NOIP2017省一,冲击NOI2018省队,就从今天开始!!!…
[NOI2018模拟5]三角剖分Bsh Description 给定一个正 n 边形及其三角剖分,共 2n - 3 条边 (n条多边形的边和n-3 条对角线),每条边的长度为 1. 共 q 次询问,每次询问给定两个点,求它们的最短距离. Input 第一行一个整数 n ,表示多边形的点数: 接下来 n - 3 行,每行两个整数 ui,vi,表示一条 ai 和 bi 之间的对角线: 接下来一行一个整数 q,表示询问个数: 接下来 q 行,每行两个整数 xi,yi,表示第 i 次询问的起点和终点:…
JZOJ 5602.[NOI2018模拟3.26]Cti Description 有一个 \(n×m\) 的地图,地图上的每一个位置可以是空地,炮塔或是敌人.你需要操纵炮塔消灭敌人. 对于每个炮塔都有一个它可以瞄准的方向,你需要在它的瞄准方向上确定一个它的攻击位置,当然也可以不进行攻击.一旦一个位置被攻击,则在这个位置上的所有敌人都会被消灭. 保证对于任意一个炮塔,它所有可能的攻击位置上不存在另外一个炮塔. 定义炮弹的运行轨迹为炮弹的起点和终点覆盖的区域.你需要求出一种方案, 使得没有两条炮弹轨…
[NOI2018模拟]Yja Description 在平面上找\(n\)个点,要求这 \(n\)个点离原点的距离分别为 \(r1,r2,...,rn\) .最大化这\(n\) 个点构成的凸包面积,凸包上的点的顺序任意. 注意:不要求点全部在凸包上. Input 第一行一个整数 \(n\). 接下来一行$ n$ 个整数依次表示 \(ri\). Output 输出一个实数表示答案,要求绝对误差或相对误差 \(≤ 10^{-6}\). Sample Input 4 5 8 58 85 Sample…
题目链接: [Noi2018]屠龙勇士 题目大意:有$n$条龙和初始$m$个武器,每个武器有一个攻击力$t_{i}$,每条龙有一个初始血量$a_{i}$和一个回复值$p_{i}$(即只要血量为负数就一直回复$p_{i}$的血量,只有在攻击后会回血),杀死一条龙当且仅当攻击结束后或回复血量之后血量为$0$,杀死一条龙会获得一个新的武器.现在要求对每条龙攻击固定次数$x$求出最小的$x$,使所有龙都能被杀死. 因为每次选择的武器是固定的,所以只要用$multiset$存当前剩下的武器然后每次按题目规…
题目链接: [Noi2018]你的名字 题目大意:给出一个字符串$S$及$q$次询问,每次询问一个字符串$T$有多少本质不同的子串不是$S[l,r]$的子串($S[l,r]$表示$S$串的第$l$个字符到第$r$个字符组成的子串). 首先考虑$l=1,r=|S|$的情况,对$T$串建立后缀自动机,可以知道$T$串本质不同的子串个数就是后缀自动机上每个点的$len[i]-len[pre[i]]$($len[i]$代表这个点所能表示的最长串长度),这也就是后缀自动机上每个点贡献的子串个数.对于每个点…
题目链接: [NOI2018]情报中心 题目大意:给出一棵n个节点的树,边有非负边权,并给出m条链,对于每条链有一个代价,要求选出两条有公共边的链使两条链的并的边权和-两条链的代价和最大. 花了一天的时间,终于搞定了这道题,不可否认这真的是一道神题,对思维和代码能力的考察都非常到位. 通过手画或者数据范围的特殊性质都不难发现两条有公共边的链的$LCA$要么相同要么不同(这不废话吗?) 而两条链的并的计算方法也可以按照上面两种情况来分类计算,我们先分别讨论两种情况的计算方法再考虑如何一起考虑两种情…
[BZOJ5417][NOI2018]你的名字(线段树,后缀自动机) 题面 BZOJ 洛谷 题解 首先考虑\(l=1,r=|S|\)的做法,对于每次询问的\(T\)串,暴力在\(S\)串的\(SAM\)上跑,对于每个点记录其被匹配的最大长度,然后把每个被匹配到的点以及它到\(parent\)树根节点的所有节点全部计算一下能够被匹配的最大长度,最后计算一下有多少个串在\(S\)中出现过.拿总方案减去不合法就行了. 然后现在\(l,r\)任意,那么首先线段树合并求出所有的\(endpos\). 一样…
[BZOJ5416][NOI2018]冒泡排序(动态规划) 题面 BZOJ 洛谷 UOJ 题解 考场推出了就是两个上升子序列,并且最长下降子序列长度不超过\(2\)...然后大力暴力状压\(dp\)混了\(44\)分...这个结论并不是很难证明,考虑一下冒泡排序的过程就好了. 实际上\(O(n^2)\)并不是很难吧... 先不考虑字典序的问题,设\(f[i][j]\)表示长度为\(i\)的\([1,i]\)的排列,并且第一个数为\(j\)的合法排列方案数. 考虑如何转移,如果\(j=1\),那么…
「NOI2018」屠龙勇士(EXCRT) 终于把传说中 \(NOI2018D2\) 的签到题写掉了... 开始我还没读懂题目...而且这题细节巨麻烦...(可能对我而言) 首先我们要转换一下,每次的 \(atk[i]\) 都可以用 \(multiset\) 找. 我们发现题目求的是 \(atk*x\equiv a_i(\text{mod}\ p_i)\),所以我们做一遍 \(exgcd\),求出同余方程. 然后就可以愉快的 \(EXCRT\) 了~ 不过发现一次要把龙的血量清零,所以一定要减到负…
题意 LOJ #2721. 「NOI2018」屠龙勇士 题解 首先假设每条龙都可以打死,每次拿到的剑攻击力为 \(ATK\) . 这个需要支持每次插入一个数,查找比一个 \(\le\) 数最大的数(或者找到 \(>\) 一个数的最小数),删除一个数. 这个东西显然是可以用 std :: multiset<long long> 来处理的(手写权值线段树或者平衡树也行). 对于每一条龙我们只能刚好一次秒杀,并且要恰好算血量最后为 \(0\)(一波带走). 然后就转化成求很多个方程: \[ \…
NOI2018退役记 终于我也退役了-- Day0 高中毕业前最后一次坐飞机了--在机场干什么呢?当然是打元气打元气打元气.下飞机干什么呢?当然是打元气打元气打元气. 有接机服务,大巴上有个导游,又向我们介绍了一番长沙--(导游:你们来这次夏令营不就是为了去韶山的嘛) 中午到了熟悉的洋湖,报到的时候还被雅礼小姐姐抓去采访了一番:"你这次有什么小目标嘛?""前一百?前一百就有一本了--"(后来我这段采访并没有被放进开幕式视频里 = =) 在签名墙上画了个胡小兔(后来育…
前尘浮华一场梦 NOI2018 哦?我摆弄着手中的键盘,看起来,是要我离开吗?好吧,对于每一个OIer的年,都是以NOI开始,以NOI结束的啊…这个年过的,可不是那么让人舒服呢… 你想听那个人的故事?真是罕见呢…说起来,还要从6月份说起呢!他啊,没有那么幸运,也没有机会去夏令营一展身手啊…他看着和他同届的人,拿到了PKU的一本线,也就是那么平平淡淡的…世界杯也是那么索然无趣的,仿佛什么都没有打动他的,他还是照常那样,每天机械的做着自己该做的事情.他也曾经握紧双拳说,我要在NOI上拿出一个优秀的分…
「NOI2018」你的名字 题目描述 小A 被选为了\(ION2018\) 的出题人,他精心准备了一道质量十分高的题目,且已经 把除了题目命名以外的工作都做好了. 由于\(ION\) 已经举办了很多届,所以在题目命名上也是有规定的,\(ION\) 命题手册规 定:每年由命题委员会规定一个小写字母字符串,我们称之为那一年的命名串,要求每道题的名字必须是那一年的命名串的一个非空连续子串,且不能和前一年的任何一道题目的名字相同. 由于一些特殊的原因,小A 不知道\(ION2017\) 每道题的名字,但…
HEOI2018翻盘记 听说依照惯例要写一篇游记?好吧,没有退役,我已经谢天谢地了QAQ.那就用两句歌词做开头吧: "遠い遠い夢の終わり.悪夢に似た現実はもう昔日久远,梦之终结,那犹如噩梦的现实夜を飛ぶ蝶のように淡く消えてく已如夜舞之蝶,烟消云散滲み行く陽炎に.終焉を告げて向朦胧阳炎宣告终焉「イツノヒカ」を今日.迎えようか将“终会来到之日”化为今天"(イノチの灯し方) 然后就是标准的游记格式? Day-2:今天高一的又有考试,教练说高二的能不参加?那我才不考呢!然后认真刷Bzoj...…
传送门 新鲜出炉的noi2018试题. 下面讲讲这题的解法: 首先要学习一个叫做kruskal重构树的东东. 听名字就知道跟kruskal算法有关,没错,原来的kruskal算法就是用并查集实现的,但当我们使用kruskal重构树的时候,对于每次找出的不同的两个连通块的祖先,我们都新建一个点作为两个祖先的父亲,并将当前边的边权转化为新点的点权.然而,路径压缩的时候会让我们丢失这种辛辛苦苦创造的树的形状...因此我们需要在使用并查集维护连通性的同时使用二叉树来维护树的形状.这样维护出来的树就是kr…
[NOI2018]归程 LG传送门 kruskal重构树模板题. 另一篇文章里有关于kruskal重构树更详细的介绍和更板子的题目. 题意懒得说了,这题的关键在于快速找出从查询的点出发能到达的点(即经过海拔高于水位线的边能到达的点)中距离\(1\)号点最近的距离. 看上去可以kruskal,假设我们把边实现按海拔从大到小排序,考虑我们的重构树的性质:一个小根堆,任意一个点到根节点的路径上的点权单调不升,且这条路径上最浅的高于水位线的点\(u\)的子树中的所有叶节点就是这个点所能到达的所有点.di…
P4774 [NOI2018]屠龙勇士 先平衡树跑出打每条龙的atk t[] 然后每条龙有\(xt \equiv a[i](\text{mod }p[i])\) 就是\(xt+kp[i]=a[i]\) 求出一个满足条件的\(x_0\),通解是\(x=x_0+k*\text{gcd}(t,p[i])\) 就是\(x \equiv x_0 (\text{mod }\text{gcd}(t,p[i]))\) 然后就有n个这样的式子,用excrt,合并方程 excrt懒得写了 // luogu-judg…
[NOI2010] [NOI2010]海拔 高度只需要0/1,所以一个合法方案就是一个割,平面图求最小割. [NOI2010]航空管制 反序拓扑排序,每次取出第一类限制最大的放置,这样做答案不会更劣. 考虑如何求每一个的最早时间,同上述拓扑排序,该元素不入队,当无点可拓展时就是最早时间. [NOI2010]超级钢琴 对每一个左端点维护当前取出了前几大的右端点,用堆+主席树维护. [NOI2011] [NOI2011]兔农 不难发现数列模意义下的进程是:斐波那切数列,首项回归0(减一操作),斐波那…
题目链接 loj#2718. 「NOI2018」归程 题解 按照高度做克鲁斯卡尔重构树 那么对于询问倍增找到当前点能到达的高度最小可行点,该点的子树就是能到达的联通快,维护子树中到1节点的最短距离 spfa她死了...同步赛没写的说... 似乎前两题比去年简单些....连蒟蒻我都可做前两题的说 代码 #include<queue> #include<cstdio> #include<cstring> #include<algorithm> inline in…
题目链接 loj#2721. 「NOI2018」屠龙勇士 题解 首先可以列出线性方程组 方程组转化为在模p意义下的同余方程 因为不保证pp 互素,考虑扩展中国剩余定理合并 方程组是带系数的,我们要做的是在%p意义下把系数除过去,(系数为atk[i]) (atk[i],p[i]) 不等于1时无逆元,此时仍可能有解 很显然无解的情况就是 瞎jb猜的,无解的话就是%p[i]意义下atk[i] != 0 ,a[i] = 0 考虑原方程式ai = atk{i] * x + p[i] * y 方程两边同除g…
[NOI2018]屠龙勇士(数论,exgcd) 题面 洛谷 题解 考场上半个小时就会做了,一个小时就写完了.. 然后发现没过样例,结果大力调发现中间值爆\(longlong\)了,然后就没管了.. 然后又没切掉...我是真的傻逼... 首先每次选择的刀一定,直接一个\(multiset\)就算出来了. 然后对于每关都单独解一个方程 \(atk[i]x+p[i]y=a[i]\),直接\(exgcd\)求解即可. 但是注意题目方程的含义,所以\(x\gt 0,y\le 0\) 所以要解出来之后还需要…
[NOI2018]归程(克鲁斯卡尔重构树) 题面 洛谷 题解 我在现场竟然没有把这道傻逼题给切掉,身败名裂. 因为这题就是克鲁斯卡尔重构树的模板题啊 我就直接简单的说一下把 首先发现答案就是在只经过海拔大于\(p\)的边的情况下,所有点到\(1\)号点中最短路最小的那个点.所以预处理最短路径,构建克鲁斯卡尔重构树,直接倍增+线段树就好了. 还有一种基于离线做法的方法. 我们发现离线做法只需要按照所有询问排序, 然后利用并查集按照海拔高度从小往大合并(这个其实就是克鲁斯卡尔) 这样子就可以利用可持…
NOI2018前的每日记录 开头 今天是\(2018.7.2\),不知不觉已经这么久了.本来还是高一的小蒟蒻,过不了多久就要成为高二的老年选手了. 再过半个月我也要去\(NOI\)打酱油了.我这种D类蒟蒻当然是去打酱油的啊 发现我自己最近状态差的不行,索性开一个坑记录一下自己每天干了些啥,状态什么的怎么样吧. 和省选前一样吧,也就是流水账+做题的一些记录,顺带加上一点自己的感悟吧. 差不多就是这样了.但是现在已经是晚上了,今天我就不写今天发生的事情了. 听说明天要考试,所以我从明天开始记录,这样…
洛谷题目链接:[NOI2018]屠龙勇士 因为markdown复制过来有点炸格式,所以看题目请戳上面. 题解: 因为杀死一条龙的条件是在攻击\(x\)次,龙恢复\(y\)次血量\((y\in N^{*})\)后龙的血量恰好为\(0\).那么根据题意我们可以列出方程: \[atk_i*x\equiv hp_i(mod \ p_i)\] 这个形式是不是很像中国剩余定理的形式:\(x\equiv b_i(mod \ a_i)\). 事实上我们可以直接将这个方程看做一个同余方程,即\[atk_i*x+p…
洛谷题目链接:[NOI2018]归程 因为题面复制过来有点炸格式,所以要看题目就点一下链接吧\(qwq\) 题意: 在一张无向图上,每一条边都有一个长度和海拔高度,小\(Y\)的家在\(1\)节点,并且他有一部车,车只能在海拔高度大于降水量的道路上行驶,如果某一条边的海拔高度小于等于降水量,那么小\(Y\)就必须下车步行,现在有\(q\)次询问,每次询问从目标点到\(1\)要步行的最短距离.强制在线. 题解: 这题我采用的做法是kruskal重构树. 可能大家对kruskal重构树并不是很熟悉,…
day1 今天是报到日,坐着早上9点的飞机到了长沙,午饭时间到达雅礼洋湖. 宿舍还是一模一样,虽然是在女生宿舍. wifi信号还是一样的德行,刻意避开了宿舍内,只好把手机放在窗台上开热点. 饭菜还是如以前一般,虽然D大爷说没以前那么咸了. 与众不同的是发了一张多功能卡,可以吃饭&洗热水,不用单独办张水卡了.午晚餐40元的标价让我有些心疼,但钱是学校出的饭菜挺好吃的. 唯一的遗憾是没有去签到墙上留下自己的名字. day2 早上6点就被一阵滴滴声吵醒了,发现D大爷的水卡忘了拔出来,插了一晚上.按照三…
「NOI2018」屠龙勇士 题目描述 小\(D\)最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照编号\(1-n\)顺序杀掉\(n\) 条巨龙,每条巨龙拥有一个初始的生命 值ai .同时每条巨龙拥有恢复能力,当其使用恢复能力时,它的生命值就会每 次增加 \(p_i\) ,直至生命值非负.只有在攻击结束后且当生命值恰好为 \(0\) 时它才会 死去. 游戏开始时玩家拥有\(m\)把攻击力已知的剑,每次面对巨龙时,玩家只能选择一 把剑,当杀死巨龙后这把剑就会消失,但作为奖励,玩家会获得…
「NOI2018」归程 题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 >\(1\) 个节点. \(m\) 条边的无向连通图(节点的编号从 \(1\) 至 \(n\) ).我们依次用 \(l, a\) 描述一 条边的长度.海拔. 作为季风气候的代表城市,魔力之都时常有雨水相伴,因此道路积水总是不 可避免 的.由于整个城市的排水系统连通,因此有积水的边一定是海拔相对最低的一些边.我们用水>位线来描述降雨的程度,它的意义是:所有海拔不超过水位线的边…