随笔分类 - Source -- NOI
摘要:【BZOJ4944】[NOI2017]泳池(线性常系数齐次递推,动态规划) 首先恰好为很不好算,变为至少或者至多计算然后考虑容斥。 如果是至少的话,我们依然很难处理最大面积这个东西。所以考虑答案至多为的概率,再减去至多为的概率就是最终的答案。 发现要求的东西必须贴着底边,所以对
阅读全文
摘要:【BZOJ4942】[NOI2017]整数(分块) 题面 "BZOJ" "洛谷" 题解 暴力就是真正的暴力,直接手动模拟进位就好了。 此时复杂度是模拟的复杂度加上单次询问的。 所以我们需要优化的是模拟的复杂度。 首先如果一位位单位加入,这个复杂度是均摊的。因为是均摊,所以我们
阅读全文
摘要:【BZOJ5417】[NOI2018]你的名字(线段树,后缀自动机) 题面 "BZOJ" "洛谷" 题解 首先考虑的做法,对于每次询问的串,暴力在串的上跑,对于每个点记录其被匹配的最大长度,然后把每个被匹配到的点以及它到树根节点的所有节点全
阅读全文
摘要:【BZOJ5416】【NOI2018】冒泡排序(动态规划) 题面 "BZOJ" "洛谷" "UOJ" 题解 考场推出了就是两个上升子序列,并且最长下降子序列长度不超过。。。然后大力暴力状压混了分。。。这个结论并不是很难证明,考虑一下冒泡排序的过程就好了。 实际上
阅读全文
摘要:【BZOJ4946】[NOI2017]蔬菜(贪心) 题面 "BZOJ" "洛谷" "UOJ" 题解 忽然发现今年之前的时候切往年的题目,就年的根本不知道怎么下手(一定是我太菜了) 这题是一道神仙题(下定义),然而部分分多得不得了,不知道写一个费用流可以得多少分。 我决
阅读全文
摘要:【NOI2018】屠龙勇士(数论,exgcd) 题面 "洛谷" 题解 考场上半个小时就会做了,一个小时就写完了。。 然后发现没过样例,结果大力调发现中间值爆了,然后就没管了。。 然后又没切掉。。。~~我是真的傻逼。。。~~ 首先每次选择的刀一定,直接一个就算出
阅读全文
摘要:【NOI2018】归程(克鲁斯卡尔重构树) 题面 "洛谷" 题解 我在现场竟然没有把这道傻逼题给切掉,身败名裂。 ~~因为这题就是克鲁斯卡尔重构树的模板题啊~~ 我就直接简单的说一下把 首先发现答案就是在只经过海拔大于的边的情况下,所有点到号点中最短路最小的那个点。所以预处理最短路径,构
阅读全文
摘要:【BZOJ4654】【NOI2016】国王饮水记(动态规划,斜率优化) 题面 "BZOJ" "洛谷" 题解 首先肯定是找性质。 明确一点, 比小的没有任何意义 。 所以我们按照排序,那么就是当前号位置的水量。 假设我们使用的次数不受到任何限制,我们思考怎么样才是最优。
阅读全文
摘要:【BZOJ4651】【NOI2016】网格(Tarjan,哈希) 题面 "BZOJ" "洛谷" 题解 首先把题目稍微变得好说一些,给定一个网格,已经删去了若干个格子 问最少删去多少个格子使得图不连通。 这题的关键是要看出答案一定只有 证明一下一定存在答案不超过二。 在不是无解的情
阅读全文
摘要:【BZOJ4200】【NOI2015】小园丁与老司机(动态规划,网络流) 题面 "BZOJ权限题,洛谷链接" 题解 一道二合一的题目 考虑第一问。 先考虑如何计算六个方向上的第一个点。 左右上很好考虑,只需要按照或者轴排序就行了。 对于度的斜角,两点一定在同一条直线上。 这条直线
阅读全文
摘要:【BZOJ4197】【NOI2015】寿司晚宴(动态规划) 题面 "BZOJ" 从中选择两个集合(可以为空集),使得两个集合中各选一个数出来,都互质。 求方案数。 题解 对于以内的所有数,它的最大质因子如果大于,那么便只有一个。 利用这一点,我们把所有数全部
阅读全文
摘要:【BZOJ3244】【NOI2013】树的计数(神仙题) 题面 "BZOJ" 这题有点假,上如果要交的话请输出 题解 数的形态和编号没有关系,因此对于序重标号,同时修改一下序方便做题。 因为的层数等于树高,所
阅读全文
摘要:【BZOJ4943】【NOI2017】蚯蚓排队(哈希) 题面 "BZOJ" "洛谷" "UOJ" 题解 记得去年看网络同步赛的时候是一脸懵逼的。 昨天看到做了,今天就看了看。。 这不是的傻逼题吗。。。 呜。。。 开链表存一下前驱后继,因为询问长度不超过 那么,总的串的个
阅读全文
摘要:【BZOJ4198】【NOI2015】荷马史诗(贪心,Huffman树) 题面 "BZOJ" "洛谷" 题解 合并果子都是不知道多久以前做过的了。现在才知道原来本质就是一棵哈夫曼树啊。 这题我们仔细研究一下题目的意思。 就是让你构造一个叉树,所有的权值都放在叶子节点上,求权值乘深度和的最小值。
阅读全文
摘要:【BZOJ3242】【NOI2013】快餐店(动态规划) 题面 "BZOJ" 题解 假设我们要做的是一棵树,那么答案显然是树的直径的一半。 证明? 假设树的直径是,那么此时最远点的距离是 假设存在一个点的距离大于,那么直径可以由这个点到达直径的一个端点拼出。 所以最远点距离为$d
阅读全文
摘要:【BZOJ3243】【NOI2013】向量内积(矩阵,数论) 题面 "BZOJ" 题解 这题好神仙。 首先分直接是送的。加点随机之类的可以多得点分。 考虑正解。 我们先考虑一下暴力。 我们把个向量拼接在一起,形成一个的矩阵。 显然这个矩阵和它的转置矩阵,也就是一个
阅读全文
摘要:【BZOJ2876】【NOI2012】骑行川藏(数学,二分答案) 题面 "BZOJ" 题解 我们有一个很有趣的思路。 首先我们给每条边随意的赋一个初值。 当然了,这个初值不会比这条边的风速小。 那么,我们可以先计算一下当前所需要的总能量。 剩下的能量我们分成若干等份。 每次从所有的边中,选择一个加了
阅读全文
摘要:【BZOJ2879】【NOI2012】美食节(费用流) 题面 "BZOJ" "洛谷" 题解 一眼就会思路了吧。 把每个厨师拆点,拆分为他最多能要做的菜的个数,即 然后把每个菜向厨师的每个点连边,表示这个菜是这个厨师做的第几个菜。 考虑一下这个菜放在这个位置对于后面所有位置的影响就
阅读全文
摘要:【BZOJ2878】【NOI2012】迷失游乐园(动态规划) 题面 "BZOJ" 题解 记得以前考试的时候做过这道题目 这题的暴力还是非常显然的,每次一下就好了。 时间复杂度 cpp include include include include include inclu
阅读全文
摘要:【BZOJ2432】【NOI2011】兔农(数论,矩阵快速幂) 题面 "BZOJ" 题解 这题分就是送的,我什么都不想写。 先手玩一下,发现每次每次出现的数之后 把它减一,就变成了。接着后面的数显然还是一个斐波那契数列 只是都乘了之前的那个数作为倍数而已。 拿
阅读全文