
题解
文章平均质量分 79
PH_2002
这个作者很懒,什么都没留下…
展开
-
shot【题解】【考试】
前言CF上的被搞成了考题题面一座墙,有n+2层。每一分钟墙的左边与右边都有a/b的概率被炸掉一块砖。每一层有m块砖。第一层和第n+2层是底和顶不能被炸。 现在求T分钟后墙还没有倒的概率 答案对1e9+7取膜 n,m<1500,t<1e7sol解这个题要用到一些ΣΣ\Sigma。 这个题一看就知道层与层之间独立,每一层打掉成什么样很好求。 比如说打成了[l,...原创 2018-09-06 17:46:33 · 253 阅读 · 0 评论 -
货币兑换【题解】
题面戳。 大意:一开始你只有一些钱.你可以用你的所有的钱去买a、b两种东西.你也可以用所有的a、b两种东西去换成钱.所以在一种情况下,你的手里只有钱或者a、b两种东西. 每一天a,b都有自己的价值,买入a,b时,都有一个固定的比值.也就是说,一定量的钱在某一天就对应了一定量的东西. 每一天的操作不限次数.sol如果你知道这是一道斜率优化dp,那么就很简单了. 列出式子发现,...原创 2018-08-08 17:23:28 · 882 阅读 · 0 评论 -
八省联考林克卡特树【题解】
前言为了练习凸优化而做的sol我们发现,按照流程,先减去k条边,就会剩下k+1个联通块,然后再用k条边把这k+1个联通块连起来,这就是它构树的全过程. 我们发现,在重连k条边时,当前最长的路径已经出来了,就是每一个联通块内选一条最长的路径,然后把他们首尾相连。然后,恭喜获得暴力分,暴力就是暴力枚举减去哪k条边,然后求剩下的联通块每一条最长路径的和.注意到这里一个点算一个路径长为0的路...原创 2018-08-15 17:04:55 · 326 阅读 · 0 评论 -
开店【题解】
前言这道题居然调了我一晚上,原因如下: 1. 题解错误,所以对拍老是出错 2. 建边的数组太多了。有一个忘记*2题面戳sol不知道大家有没有想用点分治写但又不会STL的vector。这里,只要使用一下指针就可以了。首先开一个N*150的空间,对于每一个点都开一个指针,最后根据每一个点的大小用指针动态分配一段空间就行了。 解法其实自然。动态点分治难点就在于建立own和t...原创 2018-08-13 08:28:50 · 258 阅读 · 0 评论 -
BZOJ4372烁烁的游戏【题解】(不定长树状数组)
前言这一道题做了我两天,考试时都在做,搞得我爆零了,原因下面会提到.题面原题描述已经很简洁,故您只需戳. 原题数据从时间上看很水,从空间上看有点卡。sol如果说告诉你这是一道点分治,思路实在不难。根据询问,每次只需要一层层的找那些能囊括自己的点。现在包含自己的等级最小的子树,然后更高级的子树。每一次通过子树的根寻找与自己不在同一子树的点。修改也很简单。 中心思路 把一次一...原创 2018-08-03 15:49:56 · 354 阅读 · 0 评论 -
HNOI2015实验比较【题解】
前言记得几个月前自己曾经做过一道关于一张DAG求排列的问题,现如今遇到了的是一道关于树求排列的问题. 这一个问题看似简单实际上有一个细节那就是他可以取=。 这就使得复杂度升高了.sol首先,最简单的插孔原理。这一个非常简单,做这道题时,蒟蒻我现推式子。 为什么要解决这个问题呢,因为最基本的,在不考虑等于的情况下,n个数插入m个数的空隙中就相当于题目中的把两组不等式合起来. ...原创 2018-08-15 10:28:26 · 284 阅读 · 0 评论 -
接水果【题解】
前言虽然是NOI-/NOI/CTSC,但感觉还没有平时考试难,可能是这种题太套路了.题面给了你一棵树,给了你一些路径,每次询问,u,v两点间的第k小的子路径(必须是给出的那些路径中的)sol怎么判某条路径是某条路径的子路径? 一个套路就是用dfs序的区间包含关系.这个套路大概自己推理一下就出来了. 然后发现限制条件是一个二维的,所以这个区间不是一个线段,而是一个矩形...原创 2018-08-12 20:23:58 · 453 阅读 · 0 评论 -
洛谷 小清新数据结构题
前言标算点分治,蒟蒻树链剖分。题面原题可以戳。由于表达能力过弱,所以自己不再复述题面。sol可能有一大堆ΣΣ\Sigma 。。 然而我并不会那么数学的符号。。。 所以全凭脑算。 在不考虑换根与修改的情况下,只要理解了题意,求解就是dfs。但由于发现修改是一个点一个点修改的,所以每次要针对一个点的修改来算出与修改前的贡献差。所以说要针对出一个点来算贡献。如果我们是按一个一个...原创 2018-08-02 17:29:13 · 302 阅读 · 0 评论 -
QTREE5 - Query on a tree V【题解】
前言动点分。难度属于套路难度,只要掌握了模板,就会做。所以没有详细说明。题面戳;sol提醒的是,该题不需要建立tofa堆代码#include<bits/stdc++.h>using namespace std;const int _ = 1e5+1e3,INF = 2e9;inline char gc(){ static char buf[...原创 2018-08-02 10:12:16 · 409 阅读 · 0 评论 -
写给自己,区间k个不同数的查询
前言今天考场上忘了,只记得使用主席树.所以特意来补一篇.静态不带修改,进行查询. 如果只是单纯的对每一个位置建一颗主席树,在查询时进行减法的话,显然无法做到直接出结果。为此,我们可以在任意一棵主席树上规定[l,r]的值是这一段区间内有多少种不同的颜色。如果l<pos1<pos2<rl<pos1<pos2<rlpos1,pos2pos1,pos2...原创 2018-08-06 22:04:39 · 329 阅读 · 0 评论 -
ZJOI旅行者【题解】
前言为什么分治? 首先是一个同学的ppt里有这个题,那里面有一句话——可以离线.这就说明八成是一个分治。 然后这种问题,如果询问少肯定还会考虑一下dp。然后一个显然的性质是每次都会经过他们两中间的那条轴线.一个基于此而又看似暴力的做法就诞生了sol一个比较暴力易想的办法是,如果对于一个点,知道它到所有的点的最短路,那么这个点如果是某两点的必经之路,那么显然他到这两点的最短路之和就是...原创 2018-08-13 16:22:49 · 409 阅读 · 0 评论 -
temperature【题解】
前言考场题看错了看错版本题面给你若干个区间,选择尽可能多的区间,使得在这些区间内,每一个区间存在一个数,这一些数单调不降。sol用一个简单的dp就行了。 离散化后dp[i]表示以选择i结尾的最多的选择的区间数量。 显然,设当前枚举到的为[l,r][l,r][l,r]有 1. dp[l]=maxi<li=1(dp[l],dp[i]+1)dp[l]=ma...原创 2018-08-26 08:14:38 · 420 阅读 · 0 评论 -
[agc023E]Inversions【题解】【考试】
前言一次考试的中档题题面戳(直接弄了个vjudge)sol这道题一开始我求逆序对先是想枚举一个点,然后在去log的查询他前面的比他大的点的合法情况,虽然这是这道题最后的解法,但是未免有些冲动,因为还有很多细节与铺垫的东西没有考虑而直接跳到了最后一步。 但实际上,这也并不是没有指示作用。接下来,就会以这个想法为指引 这道题一个绕不过去的最基本的、现实的问题就是无论怎样...原创 2018-09-11 23:09:27 · 495 阅读 · 0 评论 -
cataclysm【题解】【考试】
前言是CF上一道题,被用来当做考题了题面描述现在砰砰博士检测到通道中有 n 个虫洞,每个虫洞无论成功与否只能传送一人,并且这个时空通道 只能进入 n 人; 每个虫洞有一个特征值,特征值在 [1, m] 之间,只有特征值和虫洞相同的人才能被成功传送; 但由于虫洞的不稳定性,每个虫洞的特征值是无法预知的,具体来说,对于第 i 个虫洞,其特征值 为 j 的概率是 p i,j ; n...原创 2018-09-08 15:58:19 · 327 阅读 · 0 评论 -
小Y和地铁【题解】【考试】
前言被搞成了考题 其实很简单,但是一定要加最优化剪枝要不然死都过不了题面戳sol是一个搜索 然后就会发现有很多种情况。大概不知道有多少种。 如果让你每一个个去枚举,就不会是道黑题。 那就潜心研究,发现,连完一个地铁后,把这根直线分成了两个集合,一个是你这条线围住的,一个是你这条线没有围住的。围住的叫0集合,没有围住的叫做1集合。 如果有一条路线两个端点一个在0集合一个...原创 2018-09-08 10:26:48 · 404 阅读 · 0 评论 -
Message 【题解】【考试】
前言为了降为Noip难度,好心出题人悄悄把数据改成了随机,这样树高就是log题面给定一棵树与他的根,根标号是0,有n+1个点。 现有一些信息在树上传递,每一个信息在树上两个节点传递的时间都是1s。 现每一个节点除了根有两种状态。普通状态:可以上传信息,下传信息。懵逼状态只能下传信息。一开始所有点都是普通状态,当一个点上传信息后变为懵逼状态,当一个点接受了下传的信息后变...原创 2018-09-04 21:58:49 · 350 阅读 · 0 评论 -
数列gcd【题解】
前言BZOJ权限题题面对于一个长度为n的满足<1<ai<m<1<ai<md∈[1,m]d∈[1,m]d\in[1,m]sol解法与n的大小没有关系。 直接规定一下gcd,然后通过简单的组合数学搞出来,然后再用容斥减一下code#include<bits/stdc++.h>using namespace std;...原创 2018-08-27 20:35:10 · 447 阅读 · 0 评论 -
魔术球问题【题解】
前言具体的数学关系还是不会证,除了能打表发现球数规律外,内在原理也弄不清楚。题面戳sol很难想象是一道网络流。第一感是数学。 但是看到数据范围比较小,估计可以暴力dp。 又发现,状态转移比较难,状态调整比较多,dp估计难设,又看到数据范围又小于dp通常可做范围,所以用同样以规划和状态设计为关键字的,状态调整能力更强的,复杂度可能略高的网络流来做。 实际上,这种题考...原创 2018-08-20 16:49:41 · 771 阅读 · 0 评论 -
航空路线【题解】
前言一道既可以dp又可以网络流的题题面戳SOLdp做法首先为了保存状态,最容易想到的就是状态压缩,但是数据范围不允许我们压缩,所以就要换思路。最简单的,就会想到,我们并不关心状态是什么,而关心的是状态是否合法。我们只要让当前这个dp是合法的,他的转移是合法的,他的转移又不会影响到他已经合法的状态,那么这样就可以了。 那么dp就要表示出来合法的是哪一段。 我们又发现,状态...原创 2018-08-22 17:03:48 · 457 阅读 · 0 评论 -
最小路径覆盖【题解】
前言搞了几天网络流,总算会做题了题面戳sol显然,如果是个dp,那么转移就是到某一个点的状态转移给下一个点。 但是下一个点不能被选,也就是一个点被选的状态加上与其有连边的点没有选的状态转移给这一个点被选的状态。 然后发现,这个dp显然很难设出状态与变量意义,但换成网络流很好设。 但是网络流只能求最大流,没有最小。这道题是最小路径覆盖,所以要把最小转换成最大。我们发现,在最...原创 2018-08-19 21:47:20 · 416 阅读 · 0 评论 -
太空飞行计划【题解】网络流
前言蒟蒻初涉及图论,不会做sol这道题,一个显然的建图是用S向每一个实验连一条流量为赞助费的边,相当于是你做了这个实验给你的报酬。 又一个显然的连边是把实验连向仪器,作为该实验的一个开支,该实验对成本的获得。这一个流量显然是INF,因为你肯定是要把你得到的报酬都尽可能去先把实验仪器买齐,所以肯定没有用经费限制。 仪器显然有的出边是仪器的成本,当这条边的残量为0时,证明这个仪器买...原创 2018-08-19 15:10:53 · 280 阅读 · 0 评论 -
[ZJOI2007]捉迷藏
前言又是一道动点分 真是越来越套路题面详细题面请戳 概要 : 一棵树,一开始,所有点都为白色,若干次修改。每一次选择一个点,改变其颜色(白变黑,黑变白)。若干次询问,每一次问最远的两个白点的距离。sol这道题据说有两种解法,点分治与括号序列点分治解法自然,易于理解 首先一点就是,如何用STL优先队列删除某一个指定元素。 一般会在迪杰斯特拉求最短路中用到。这...原创 2018-08-01 22:45:01 · 466 阅读 · 0 评论 -
洛谷比赛T2萨塔尼亚的一生之敌(sataniya)
前言题目难懂题面戳 有点难懂sol四十分相当好拿。 暴力n^2枚举两两之间有没有边。 然后考虑优化到100. 注意到复杂度的瓶颈在于有许多无效枚举。也就是说枚举到了两个点没有边但已经在一个集合里. 有注意到复杂度可优化地方在于与自己没有边的太多,与自己有边的太少。所以换一个方法枚举code// luogu-judger-enable-o2#include&l...原创 2018-08-06 17:35:19 · 459 阅读 · 0 评论 -
树上暴力 之 树上启发式合并
前言只是一个神奇的暴力。来源为了快速统计与合并子树信息,最简单的就是每个节点分配一个空间用来存状态。这样做空间开不下,暴力合并信息也一定是高复杂度。所以我们只能给全局开一个空间让他来存状态。每次获取子树信息再重新dfs子树就行了。这样空间优了,复杂度也优了。做法每次把儿子的信息给自己,如果全局只有一个空间来存状态(比如:桶),那么显然,转移是0,因为与儿子共用一个空间存状态。但...原创 2018-07-28 16:36:42 · 623 阅读 · 1 评论 -
disk 盘子序列
前言这道题考场上又搞错了,其实很简单。题目描述有n个盘子。盘子被生产出来后,被按照某种顺序摞在一起。初始盘堆中如果一个盘子比所有它上面的盘子都大,那么它是安全的,否则它是危险的。称初始盘堆为A,另外有一个开始为空的盘堆B。为了掩盖失误,生产商会对盘子序列做一些“处理”,每次进行以下操作中的一个:(1)将A最上面的盘子放到B最上面;(2)将B最上面的盘子给你。在得到所有n个盘子之后,你需...原创 2018-06-10 13:36:51 · 421 阅读 · 0 评论 -
湖南省选 转盘
转盘这道题是我在省选赛场上最接近做出来的一道题。这道题的思想值得总结。思想一:破环为链这应该算的上是是一个老套路。具体做法就是开一个2倍的数组,按顺序把要处理的数列存两遍即可思想二:寻找策略作为一道省选题,思想性还是很强的。总的来说就是把题意理解透彻。我们发现,如果某一位置上有一个数x,那么其前面的第一个数如果小于等于x-1是无需考虑的 前面的第二个数如果小于等于x-...原创 2018-06-10 10:10:58 · 224 阅读 · 0 评论 -
sue的小球
说实话 这题我是看了各位大佬题解并询问班上大佬同学写出来的。这题要用区间动规,也就是用f[i][j] 表示一段区间的状态 然后进行状态转移。首先思考 下标 i、j是表示横坐标吗?显然,如果维护横坐标,那么数组开不下。那么,就只能维护第几个小球。即先把小求按横坐标排序,再标上序号(相当于离散化)然后思考 维护什么,怎么转移如果维护这段区间得分,那么,显然,当你要区间合并...原创 2018-06-10 10:08:58 · 366 阅读 · 0 评论 -
开车旅行 travel
题目描述JYJYJY是一个爱旅游的探险家,也是一名强迫症患者。现在JYJYJY想要在CCC国进行一次长途旅行,C国拥有n个城市(编号为0,1,2...,n−10,1,2...,n−10,1,2...,n - 1),城市之间有mmm条道路,可能某个城市到自己有一条道路,也有可能两个城市之间有多条道路,通过每条道路都要花费一些时间。JYJYJY从0号城市开始出发,目的地为n–1n–1n – 1号城...原创 2018-06-10 09:55:30 · 414 阅读 · 0 评论 -
天神下凡
题目描述背景CzyCzyCzy 找到宝藏获得屠龙宝刀和神秘秘籍!现在他要去找经常 ntrntrntr 他的JmarsJmars Jmars 报仇……题目描述CzyCzyCzy 学会了一招“堕天一击”,他对一个地点发动堕天一击,地面上就会留下一个 很大的圆坑。圆坑的周围一圈能量太过庞大,因此无法通过。所以每次czyczy czy 发动技能都会把地面分割。JmarsJmarsJm...原创 2018-06-10 09:55:47 · 963 阅读 · 0 评论 -
题解 伊甸园日历游戏
这是一道SGSGSG函数的板子题。不知道的自行百度。然后就是痛快的SGSGSG函数AC。#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;int SG[2221220];//等于1是对手下了这里有必胜策略int Y,M,D;const int inf =2221219;inline int js(register int y,r...原创 2018-06-09 21:10:02 · 2008 阅读 · 0 评论 -
HDU 5977 Garden of Eden【伊甸园】
前言时间紧,就只写最关键的高维前缀和部分介绍其实我一开始也不知道这样一个东西,但我也做出来了,自己yy 把他想成一个dp,毕竟前缀和本身就是最短的dp. dp有一个思想就是我们一定要充分的假设dp[i][j]是未知的,但推出这个状态的式子是已知的,尽管你觉得这样一个推出这个状态的式子本身不可求。 很简单的,就是要求dp[(1010...)2]dp[(1010...)2]dp[(1...原创 2018-07-29 07:49:44 · 395 阅读 · 0 评论 -
建筑抢修【题解】
题意描述小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者。但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建筑设施将会完全毁坏。现在的情况是:T部落基地里只有一个修理工人,虽然他能瞬间到达任何一个建筑,但是修复每个建筑都需要一定的时间。同时,修理工人修理完一个建筑才能修理下一个建筑,不能同时修理多个建筑。...原创 2018-07-20 21:02:29 · 314 阅读 · 0 评论 -
稻草人【题解】
前言网上代码各种各样的都可以AC,但关于判断横(纵)坐标相同是否构成矩形这一点各有不同。实际上,题目数据没有横坐标标或者纵坐标相同的情况,所以放心AC。solCDQ分治都看得出来。反正按纵坐标分为上下两层,然后考虑上对下的贡献。由于不能跨点,研究一个性质放在单调队列里就行了。 比普通分治还是多一个思维.提高组T1难度吧code#include<bits/stdc++.h...原创 2018-08-05 21:47:02 · 414 阅读 · 0 评论 -
ZJOI幻想乡战略游戏【题解】
前言动点分思维难度还是高些,不像点分那样板(这也是为为什么写题解的原因)。但其实也不难,像我这种动点分学都没学只知道要建点分树的蒟蒻都可以 大力 yy一波(为了研究各种性质捣鼓一个晚上)题面题面就不粘了,搞个链接戳sol分治树就是一个数据结构。大部分优秀的数据结构都是带log的,这是因为利用了化小子问题或是利用线性来作为原理支撑。 数据结构的优秀是建立在修改与查询几乎相等或者...原创 2018-07-31 19:01:40 · 258 阅读 · 0 评论 -
Mokia【题解】
前言刚开始开心的二维树状数组(真裸),后面发现他在故意卡树状数组(W有200w)离散化都不行. 所以~~开心~~CDQ。题面戳一下就好了。吐槽特意上网搜了一下mokia,发现是盗版nokia。这年头,洛基亚还有盗版,盗版比正版还火,都用来出题solCDQ除了能用来解决N维偏序以外,好像就没什么了,所以转换成三位偏序就好了。 具体来说就是,对于加人这种操作,记一下加的...原创 2018-08-05 07:38:22 · 296 阅读 · 0 评论 -
动态逆序对1
前言容易写挂(对于新手与蒟蒻)题面洛谷;solCDQ 如果按照三维偏序那样求,那么会漏掉一些情况。所以要跑两遍cdq。 两遍CDQ又会有一个问题,就是判等于的问题。第一遍CDQ第三维判等于,第二遍判不等于.code#include<bits/stdc++.h>#define LL long longusing namespace std;inl...原创 2018-08-04 16:09:50 · 245 阅读 · 0 评论 -
【APIO2008】免费道路
前言看了同学的贪心博客来做此题,同学都说水。然而我把问题看错了。。。题目描述新亚(New Asia)王国有 N 个村庄,由 M 条道路连接。其中一些道路是鹅卵石路,而其它道路是水泥路。保持道路免费运行需要一大笔费用,并且看上去 王国不可能保持所有道路免费。为此亟待制定一个新的道路维护计划。国王已决定保持尽可能少的道路免费,但是两个不同的村庄之间都应该一条且仅由一条 且仅由一条免费道...原创 2018-07-23 07:58:48 · 428 阅读 · 0 评论 -
三维偏序
前言怕自己忘,给自己留一个板子 以下代码均为洛谷【模板】三维偏序代码树套树先排序。 第一层树是一个树状数组。 第二层是一个线段树。 排完序后,枚举i,查询b小于自己的数所建的树,这一层通过树状数组快速枚举。 在线段树内二分找c小于自己的数.code#include&lt;bits/stdc++.h&gt;using namespace std;inline...原创 2018-08-03 22:03:52 · 555 阅读 · 0 评论 -
BZOJ震波
前言跟烁烁的游戏一模一样代码#include<bits/stdc++.h>#define LL long longusing namespace std;const int _ = 1e5+1e2;const int INF = 2e9;namespace zjy_io{ inline char gc(){ static char buf[...原创 2018-08-03 17:03:44 · 377 阅读 · 0 评论 -
[HNOI2003]消防局的设立
前言原题戳这里题目描述2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d。由于火星上非常干燥,经常引发火灾,人类决定在火星上修建若干个消防局。消防局只能修建在基地里,...原创 2018-07-21 18:41:03 · 449 阅读 · 0 评论