ABC 330 E Mex and Update
摘要:题意 给出一个长度为N的序列A,有Q次询问,每次询问输入两个整数i,k,表示将A[i]赋值为x。 每次询问输出序列A的mex。mex是指序列中未出现的最小非负整数。 思路 由于N是小于等于2e5的,那么说明每次询问的mex结果是无论如何都不会超过2e5+1的。我们先用set将1~2e5+1都存起来。
阅读全文
posted @
2024-06-21 17:01
Linear_L
阅读(8)
推荐(0) 编辑
ABC 330 F Minimize Bounding Square
摘要:题意 给定xoy平面上的N个点,可以进行K次操作,每一次操作可以让这N个点中的一个点横向或纵向移动一个单位。最后用一个所有边都平行于x轴或y轴的正方形将这N个点包围,请最小化这个正方形的边长。 思路 最小化最大横向或纵向长度,显然二分答案。二分最后正方形的长度,现在问题转化为如何check。我们现在
阅读全文
posted @
2024-06-21 16:53
Linear_L
阅读(13)
推荐(0) 编辑
ABC 328F Good Set Query
摘要:题意 直接看题吧https://atcoder.jp/contests/abc328/tasks/abc328_f 题解 本题主要考了带权并查集,具体实现是在路径压缩的时候顺便维护一下边权(其中w[i]表示点i距离它的祖先的边权之和,fa[i]是点i的祖先)。依次遍历每一次询问,如果询问中的a与b拥
阅读全文
posted @
2024-06-19 18:23
Linear_L
阅读(12)
推荐(0) 编辑
ABC 322 E Product Development
摘要:题意 公司要升级一个产品的K种属性,每种的初始值为0。有N种升级计划,第i种花费c[i]的代价给编号为j=1,2,...,K的属性分别增加a[i][j],求把所有属性提升到大于等于P的最小代价 题解 显然多维费用背包,定义dp[t][i][j][k][s][r]为前t个物品,让这几种属性为i,j,k
阅读全文
posted @
2024-06-15 18:16
Linear_L
阅读(12)
推荐(0) 编辑
ABC 321 E Complete Binary Tree
摘要:题意 有T次询问,每次询问给出三个参数N,X,K,分别表示,有N个节点的二叉树,询问从X号节点出发走K条边能走到多少个不同的点。 思路 对于一颗二叉树上的点,我们可以分两种情况,一种是向上走,一种是向下走。 对于向下走,我们只需要不停的、分别的遍历当前节点的右儿子(对于二叉树就是序号乘2),直到向下
阅读全文
posted @
2024-06-13 18:49
Linear_L
阅读(6)
推荐(0) 编辑
ABC 321 F #(subset sum = K) with Add and Erase
摘要:题意 有一个箱子,每次可以向里面添加或者拿走一个数,问每次操作过后,任选箱子里的数相加,总和等于k的方案数是多少。 思路 萌新算是学到新东西了,这其实是个可撤销背包的板题。 我们先考虑一个问题: 对于普通计数类dp,我们现在禁用某一个数i,我们现在想知道某一个数j有多少种方式表示(即dp[j])。那
阅读全文
posted @
2024-06-13 16:37
Linear_L
阅读(11)
推荐(0) 编辑
ABC 320F Fuel Round Trip
摘要:题意 在坐标轴上给定N个点,坐标依次为x1,x2,...,xn,你需要从原点前往xn并且实现往返,其中从第一个点到第N-1个点上有加油站,其中第i个加油站可以花费p[i]购买f[i]升汽油,汽油的上限为H升,每行驶一单位距离需要花费一升汽油。在全部过程中每个加油站最多使用一次,判断是否可以完成行程并
阅读全文
posted @
2024-06-12 20:19
Linear_L
阅读(10)
推荐(0) 编辑
ABC 315F Shortcuts
摘要:题意 有N个点,你从第一个点出发,要按顺序经过所有的点,最终抵达第N个点。在这个过程中你可以跳过一些点,但如果你跳过了C个点,那么你必须要接受pow(2,C-1)的惩罚。设s为你走过的距离加上你的惩罚,请求出最小化s。 题解 显然考虑dp,设计dp[i][j]为到达第i个点,中途跳过了j个点需要的路
阅读全文
posted @
2024-06-09 20:33
Linear_L
阅读(5)
推荐(0) 编辑
ABC 307 D Mismatched Parentheses
摘要:题解 现在有个长度为N的字符串s,其中s由(,)和小写字母组成,每个)都要与其左边的(配成一对,并且将他们和中间的部分给删除掉。输出最后的s 思路 我们首先设最后的答案为空串,然后模拟整个过程就行了,一旦遇到(,我们就用cnt进行计数。一旦遇到),就在答案里一直删直到遇到最近的(为止。其他情况直接加
阅读全文
posted @
2024-06-03 20:45
Linear_L
阅读(8)
推荐(0) 编辑
ABC 308E MEX
摘要:题意 给定长度为N的包含0,1,2的a序列,和一个长度为N的包含字符M,E,X的字符串s。对于所以符合条件的1<=i<j<k<=N,使得s[i]s[j]s[k]=="MEX"的三元组(i,j,k),请你求出所有mex(a[i],a[j],a[k])之和。mex()函数表示未出现在序列中的最小非负整数
阅读全文
posted @
2024-06-03 20:36
Linear_L
阅读(12)
推荐(0) 编辑
ABC 309 E Family and Insurance
摘要:题意 一个家庭用一颗树来表示。其中有m个人买了保险,x[i]买的保险可以继承y[i]代,请问有多少人至少有一份保险 思路 感觉是比较水的E题了,我们采取bfs遍历,然后类似于最短路的想法来更新每个点可以继承的最大保险代数。最后扫一遍所有人,看他们的dis有多少大于等于0,即为答案(dis最初所有人赋
阅读全文
posted @
2024-06-03 20:24
Linear_L
阅读(6)
推荐(0) 编辑
ABC 310 E NAND repeatedly
摘要:题意 太懒了,直接给链接吧,题意挺好懂的。https://atcoder.jp/contests/abc310/tasks/abc310_e 思路 NAND运算,根据题意,我们可以总结出以下两点: 当前结果如果遇到1,那么结果反转(0->1,1->0) 当前结果如果遇到0,那么结果赋值为1 我们手模
阅读全文
posted @
2024-06-03 20:12
Linear_L
阅读(5)
推荐(0) 编辑
ABC 311 C Find it!
摘要:题意 给定一个有向图,其中有N个顶点和N条边。保证其中有一个环,请找出这个环并且输出环上的点。 思路 我们先将图dfs一遍,遍历到的点我们用map进行标记一下,并且储存在一个数组里面,当我们dfs到一个已经标记过的点时,此时则出现了环。那么如何将这个环输出出来呢?我们这个时候扫一遍刚刚所提到的数组,
阅读全文
posted @
2024-06-03 19:48
Linear_L
阅读(5)
推荐(0) 编辑
ABC 312 E Tangency of Cuboids
摘要:题意 给定三维空间的n个长方体,每个长方体以其一条体对角线的坐标形式给出,即对于每一个长方体i,其一条体对角线的两个端点的坐标会给出。 现在对于每一个给出的长方体,求出其它给出的长方体,与其共面的长方体个数。(保证每个长方体两两不相交) 思路 首先我们第一个关注的应该是坐标的数据范围,这个数据范围显
阅读全文
posted @
2024-06-03 19:38
Linear_L
阅读(6)
推荐(0) 编辑
ABC 312 F Cans and Openers
摘要:题意 现在有三种物品,给出的格式为(t[i],x[i])如下: 拉环罐头,被标记为t[i]=0,得到即食,可以得到x[i]的开心值。 普通罐头,被标记为t[i]=1,需要用开罐器打开,食用后可以得到x[i]的开心值。 开罐器,被标记为t[i]=2,使用后可以打开x[i]个普通罐头。 现在有N个这样的
阅读全文
posted @
2024-06-03 17:32
Linear_L
阅读(13)
推荐(0) 编辑
ABC 313C Approximate Equalization 2
摘要:题意 现在给出一个数组a[n],现在你可以进行这种操作: 选择i,j(1<=i,j<=n),使得a[i]=a[i]-1,a[j]=a[j]+1 现在你可以进行无限次这种操作,现在需要你求出最少次数,使得数组中的最大值与最小值之间的差不超过1。 思路 我们考虑到每一次操作可以使得数组中的一个数加一,另
阅读全文
posted @
2024-06-03 17:07
Linear_L
阅读(10)
推荐(0) 编辑
ABC 312D题 Count Bracket Sequences
摘要:题意 给定一个非空的字符串,其由(,),?三个字符构成,其中?可以被(或者)给替换掉,求替换后的字符串是符合括号匹配的情况下的方案数。最后答案对mod=998244353取模 思路 应该算是一个板题,一开始的想法是往卡特兰数的方向思考,但是可能是我太水了没想出来,然后一想到卡特兰数的dp求法,就顺理
阅读全文
posted @
2024-06-01 11:12
Linear_L
阅读(13)
推荐(0) 编辑