11 2020 档案
摘要:题目链接 碎碎念 刚开始:这怎么是个黑题啊,就是一个线段树而已啦。 然后,这道题我断断续续调了两天。 所以说,$flag$不要立得太早。 题目解析 如果题目没有说选$k$段不相交,而是只有一段的话,那就直接求最大子段和。 但是这道题可以选$k$段的话,就相当于我们可以在最大子段和里断开$k-1$处(
阅读全文
摘要:题目链接 题目解析 首先考虑$P$怎么求。 刚开始想的如果一个数可以被其它数凑出来就不要它,这很对,但不能拿来算答案。 考虑到如果$Q$足够大,那么可以凑出来的数能达到去掉$P$可以凑出来的数的两倍。 所以答案就是去掉它,剩下的数可以凑成的数的个数最多。当然,个数相同取最小。 这个怎么求呢?我们可以
阅读全文
摘要:题目链接 题目解析 我们知道$01$背包方案数的递推式长这样: \(f[j]+=f[j-w[i]]\) 如果一件物品不选,就会少一次这样的转移贡献。 于是我们把这个贡献还回去。 \(g[j]-=g[j-w[i]]\) 就做完了。 ►Code View #include<cstdio> #includ
阅读全文
摘要:题目链接 题目解析 是考试的题目。 虽然是个签到题但我还是挣扎了很久,而且我个智障把文件名打错了,签到失败嘤嘤嘤 首先简化一下题意:找到一个最大的$k$,使得$a[k+1]$至$a[2k]$中的数都能在$a[1]$到$a[k]$中匹配到一个比它严格小的数(每个数都只能和一个数匹配)。如果没有这样的$
阅读全文
摘要:题目链接 题目解析 想法还是比较难想到的。 把每棵生成树的$\sum a_e$和$\sum b_e$看成点对$(x,y)$,于是答案是$k=x\times y$最小的点对。由于边权都是非负数,所以可以看成是离坐标轴最近的反比例函数的系数。 怎么求这个点呢? 首先,分别找到离$x$轴,$y$轴最近的点
阅读全文
摘要:题目链接 题目解析 神奇题目,洛谷评分居然是普及+,果然还是我太菜了吗$qwq$ 题意我也看了好一会儿,我以为它是一个类似于化合反应的东西,把试剂$a$倒入试剂$b$之后,药水就全部变成试剂$b$了,而质量为两者的和(质量守恒定律)。 但实际上题目的意思只是把这两种药水混合在一起,是物理变化,只有生
阅读全文
摘要:题目链接 题目解析 根据$k$的范围,不难想到我们$2^k$枚举所有新边是否在$MST$中,然后再加入原始边,计算出答案取最值。 但是这样做复杂度过不去。 先考虑把$k$条新边加进去,然后再按照$Kruskal$算法加入$n-1-k$条原始边,形成一棵树。由于原始边的权值各不相同,那么目前加入的这些
阅读全文
摘要:(博客园第$100$篇博客合影~ 题目链接 题目解析 被拿来作为考试题,我以为我会做来着,然而并不会(怎么好多人都做过这道题,果然是我太菜了嘤嘤嘤 (三种做法的代码都放在了最后面 法一 如果你什么都不会,就像我一样,那么可以先敲出一个大暴力出来。 $a[i][j]\(表示点\)(i,j)$前面一列最
阅读全文
摘要:题目链接 题目解析 啊咧,是一道卡时间卡空间的好题目(划掉 我们可以先找到最后那只小动物最多能走过的结点,就是和左上角相连的一整个四联通连通块。(以下所有连通块都是指四联通 然后发觉这个连通块就可以让所有的小动物随便走了,因为无论如何走,最后总会被最后一只小动物覆盖。 那么把和这个连通块相连的其它连
阅读全文
摘要:题目链接 算法分析 (我似乎之前学过两遍$prufer$,但是我咕咕咕了,而且板子也不知道丢到哪里去了(难怪我这么菜 树 → prufer 序列 算法流程: 找到树中编号最小的入度为$1$的结点(叶结点) 删去该结点,并将与该结点相邻结点的标号加入$prufer$序列 重复$1,2$操作$n-2$次
阅读全文
摘要:题目链接 题目解析 刚开始想到了加边然后破圈法,但我似乎不会统计答案。 有个结论:所有$MST$中,同一权值的边的个数是不会变的。 简单说明一下: 我们想想$Kruskal$的算法流程,是按照边权从小到大进行排序加边,然后直到整个图联通我们就得到了$MST$。如果再选一个$MST$出来,假设我们删掉
阅读全文
摘要:题目链接 题目解析 简单理解一下题意,发现题意就是尾字母和首字母相同的两个长度为$2$的单词可以拼在一起,问是否能把所有的单词拼成一个长串。 把字母看成点,容易发现一个单词描述了一条有向边,而题目要求就是问你是否有一条路径,每条边经过次数有且仅有一次。 和 这道题有点像,不过那道题是欧拉回路,这道题
阅读全文
摘要:(其实我不会念这个算法的名字 题目链接 题目解析 我如果说我现在才会欧拉路还有救吗 毕竟我关于欧拉路径的题只做过这个-骑马修栅栏,其他时候最多做到过判断是否是欧拉路的题,并没有输出方案过 考试的时候脑子里完全没有蹦出来这四个字过,然后自己在那儿瞎写(从零开始自己推这个算法,不过我这么菜当然是没有成功
阅读全文
摘要:简化题意:求至少有一条线段覆盖的最大区间和没有线段覆盖的最大区间(注意题目是左闭右开区间(好像左开右闭也可以?)) 第一反应:线段树(wu) 这道题做法好像很多的样子啊。 虽然以这道题“渺小”的数据范围来说,不需要特别优秀的解法。 法一 比较直观的一个方法。 对所有的线段按照左端点从小到大进行排序。
阅读全文
摘要:题目链接 题意简述 Description 小Y 有一个$n$点的无向图,图中的每个点从$1$到$n$标号。图中还有$m$条边,每条边有一个长度。 小Y 有$Q$个询问,每次询问两个点的所有路径中最长的边最小值是多少若这两个点之间没有任何路径,输出$-1$。 Input 第一行三个整数$n,m,Q$
阅读全文
摘要:第一类问题:当前决策对未来的贡献只与当前决策有关 SDOI2008 Sue的小球 关路灯 BalticOI 2009 Day1甲虫 小结: 新增一维状态表示过去决策的影响,状态数过大无法承受。于是将影响在过去决策时计算,通过状态传递。 影响是必然的,后面无论发生什么,都会对未来结果产生贡献,即这个影
阅读全文
摘要:题目链接 解析 考试$T3$,正解不会,暴力打挂,惨兮兮。 类似于费用提前计算的题目:SDOI2008 Sue的小球(好像就是因为这道题才去学这个的 定义$f[0/1][i][j]\(表示吃掉\)[i,j]$露水并且停留在最左端/最右端的最大水分。 转移:\(f[0][i][j]=min(f[0][
阅读全文
摘要:题目链接 解析 显然这道题重点在于消掉一些块之后会产生一些新的连续的块可以一起消,这个不能想到别的什么做法,可以考虑区间$dp$。 不过对于一整坨,你要么把他们全部一起消掉,要么就留着等更多的过来一起消掉,你总不可能把一坨分批消掉吧,明显$(x+y)2>=x2+y^2$啊 所以刚开始可以把相同颜色的
阅读全文
摘要:题目链接 解析 首先,你经过一个地方,肯定就会把这个地方的球搞下来,不然你之后再来拿这个球,得分就变低了,不划算。所以你在某个时间拿到的球的集合是一段连续的区间。 然后你搞完了一个区间肯定是为了再次搞别的区间才会走,而不会平白无故地往已经搞过的区间里面跑,所以你搞完一个区间之后停在区间端点。 所以可
阅读全文
摘要:题目链接 题意 解析 我就是傻瓜本傻,最简单的一道题,一来看错题目,扫了一眼以为是求最后的$A,B,C$,除了暴力之外想不到任何做法,还以为有循环之类的东西(实际上根本没有),然后就放弃了。 后面做完$T2$再看这道题,发现只用求$C$,而且发现无论怎样操作,三个数的和都不变,所以很快列出了以下式子
阅读全文
摘要:题目链接 题意简述 仰慕喜欢同色奶牛的奶牛喜欢同色 (禁止套娃 ,求一种方案,奶牛喜欢的颜色种数最多,多种方案求字典序最小。 题目解析 这道题我最先想到的居然是二分+并查集,我在想啥 咳咳 首先,考虑一个比较简单的情况,假如图长这样: 仰慕关系:$6,4$仰慕$5$,$3,1$仰慕$2$ 同一头奶牛
阅读全文
摘要:题目链接 题目解析 乍一想有$2^{2^n}$种状态,直接暴力不太可取。 考虑树$dp$的话,设$dp[i]$表示子树$i$的答案,由于有个$m$的限制,我们设$dp[i][j]$表示子树$i$内有$j$个人选择作战的最大贡献。 但是这样很难转移,因为我们不知道儿子们选了啥。 但如果从儿子们的角度来
阅读全文
摘要:题目链接 题意简述 给定一个长度为$2n$的排列,有$n$种操作,第$i$种操作为:将序列分成$2{n-i+1}$段,每段恰好包含$2^$个数,然后任选其中两段进行交换。每个操作最多用一次,求有多少操作序列能把序列按照从小到大排序。 题目解析 数据范围这么小,可以先考虑考虑爆搜啊。 但是我没有想出来
阅读全文
摘要:题目链接 题意简述 $JOI$参加$IOI$联谊会,会场有一张桌子,桌子上有$R\times C$个三明治被摆成$R$行$C$列,每个三明治被沿着主对角线或副对角线切成两个小三明治。 $JOI$要吃三明治,他会按照一定的规则吃三明治,如果一个小三明治同时满足以下两种条件,他就不会吃掉那个小三明治:
阅读全文
摘要:题目链接 题目解析 两个公式: 整数唯一分解定理: \(n=\prod_{i=1}^mp_i^{α_i}\) 约数和定理: \(S=\prod_{i=1}^m\sum_{j=0}^{α_i}p_i^j\) 然后可以搜索质因子和它们的指数,记录下当前还剩多少和$s$,已经枚举到的第$i$个质数,目前产
阅读全文
摘要:题目链接 题目翻译 题面 大学生$JOI$君要坐公交车上学。他的家和学校都在$IOI$市内,他住在$1$号结点,大学在$N$号结点。 $IOI$市有$M$辆公交车,每辆公交车每天只开一次,从特定的时刻在某个站点出发,在特定的时刻到达某个站点,不能在中途上下车,且时间跨度不会超过一天。 $JOI$每天
阅读全文
摘要:题目链接 题目解析 查询操作看起来有点麻烦,但完全可以用二分的思路。 只需要记录下左右儿子有多少个连续的空房间就可以判断起点在左边还是右边了。 当然,还要考虑区间合并,所以又是喜闻乐见的类似于维护最大子段和的方法。 维护这样一些域值: $sum:$该区间内连续的最大空房间数 $lsum:$包含左端点
阅读全文
摘要:题目链接 题意简述 求任意两点之间曼哈顿距离相等的无序三元组个数。 题目解析 Step.1 首先,有个结论:平面上到点$(x,y)$的曼哈顿距离为$d$的点的轨迹,是以$(x,y)$为中心,$2d$为对角线的正方形。(就是图中的四边形$BCDE$ 这个应该比较好看,点在正方形上滑动时,纵坐标$±1$
阅读全文
摘要:题目链接 题意简述 求树上路径$(u,v)$上是否存在$H/G$ 题目解析 一个比较明显的做法是用树上前缀和,用$H[i]/G[i]$表示从根到$i$$H/G$的个数,处理询问的时候,\(ans=H/G[u]+H/G[v]-H/G[lca]-H/G[f[lca]]\)($lca$自己不能减去),类似
阅读全文
摘要:题目链接 题目解析 刚开始把题目看错了,看成了乘法,然后直接上指数循环节了qwq 虽然$N$很大,但是$M$却很小,$A_i$的范围被限定在$[0,M-1]$,而这个$f()$是类似于函数一样的东西,一旦第一个数给定,后面的数就唯一确定~~(拉普拉斯信条~~。而根据抽屉原理,至少$m+1$个数之后就
阅读全文
摘要:题目链接 题目解析 其实是一道水题,但我还是想了好久(指$40min+$ 首先可以搞一个一般的$dp$出来:定义$f[i]$表示走到$i$的方案数 那么有转移:\(f[i]+=f[i-d],d∈S\) 这个转移的复杂度消耗是巨大的,但是由于$k$比较小,而且符合条件的转移对象是连续的,所以可以用前缀
阅读全文
摘要:题目链接 题目解析 我们发现译者在题面里加了一句非常有趣的话: 但是不保证端点所在的区间不重合 嘿嘿,$get$到了。 我们进行分类讨论,如果$r1<l2$,那么事情就变得简单起来了: $ans=[l1,r1]$的最大后缀+\(sum[r1+1,l2-1]\)+$[l2,r2]$的最大前缀 然后那玩
阅读全文
摘要:题目链接 题目解析 呐,是一道非常有意思的线段树的题呢(奇怪的语气 仅仅只是比GSS1多了一个去重的要求,思维方式就完全不一样了呢(更奇怪的语气 咳咳 像GSS1那样简单粗暴地维护$sum,mx,mxl,mxr$是无法处理“重复”这个限制的,我们需要用一种不同的方式来处理,我也是看了题解才知道怎么做
阅读全文
摘要:引言 $CSP$之后马上是紧锣密鼓的期中考试,所以消失了一周没有去竞赛那边。 不过我期中也惨,除了物理和生物其他都挂了,英语尤为离谱,挂到$rk250+$去了,就比班级均分高$3$分。 这里回来写个游记证明我还活着。 Day 0 愉快的试机,翘掉了一节语文课和两节自习课和晚自习的数学考试。 没有想到
阅读全文
摘要:题目链接 题目解析 我是这么想的: $1=\frac{1}{2i}*2i$ 所以题目是求$k$个形如$2^i$的形式的数的和为$n$的方案数。(然而并没有什么用,只是把题意反过来了而已qwq (忘掉前面的东西 考虑这样一个$dp$:设$f[i][j]$表示$i$个数和为$j$,考虑转移,由于放数的种
阅读全文
摘要:题目链接 题目解析 刚开始想的是分层图,同个公司的边是同一层。走的时候你可以在同一层随便乱走,然后可以跑到另外一层的对应点去,这需要$1$的花费。 所以可以想到如下建边方式:每一层之间的边的边权为$0$,同一个点的任意两层的点之间边权为$1$,即表示换乘的花费为$1$。 发现这样建边边数会很多,比如
阅读全文
摘要:题目链接 题目解析 这道题数学色彩比较浓厚,正解做法是我妹有想到的qwq 但是这道题其实也并没有用到什么高明的技巧和想法,只是优化了枚举而已,就很巧妙。 对于小于等于$\sqrt n$的$b$,可以直接枚举判断,复杂度可以接受。 而如果$b$大于了$\sqrt n$,那就说明$n$可以表示成$n=k
阅读全文
摘要:题目链接 其实也不是挺难吧,但是就是没有做出来啊(忧伤 最可怕的是读完题之后大脑一片空白,没有任何想法 题目解析 首先,行和列是独立的,我们分别算出行和列的方案然后再相乘就可以了,而且由于行和列具有对称性~~(是这个词,吧)~~,所以算行和列的算法是一样的。 考虑到,如果$x,y$可以交换,$y,z
阅读全文