2024年6月21日
摘要: 题意 给定xoy平面上的N个点,可以进行K次操作,每一次操作可以让这N个点中的一个点横向或纵向移动一个单位。最后用一个所有边都平行于x轴或y轴的正方形将这N个点包围,请最小化这个正方形的边长。 思路 最小化最大横向或纵向长度,显然二分答案。二分最后正方形的长度,现在问题转化为如何check。我们现在 阅读全文
posted @ 2024-06-21 16:53 Linear_L 阅读(13) 评论(0) 推荐(0)
  2024年6月19日
摘要: 题意 直接看题吧https://atcoder.jp/contests/abc328/tasks/abc328_f 题解 本题主要考了带权并查集,具体实现是在路径压缩的时候顺便维护一下边权(其中w[i]表示点i距离它的祖先的边权之和,fa[i]是点i的祖先)。依次遍历每一次询问,如果询问中的a与b拥 阅读全文
posted @ 2024-06-19 18:23 Linear_L 阅读(31) 评论(0) 推荐(0)
  2024年6月15日
摘要: 题意 公司要升级一个产品的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 阅读(28) 评论(0) 推荐(0)
  2024年6月13日
摘要: 题意 有T次询问,每次询问给出三个参数N,X,K,分别表示,有N个节点的二叉树,询问从X号节点出发走K条边能走到多少个不同的点。 思路 对于一颗二叉树上的点,我们可以分两种情况,一种是向上走,一种是向下走。 对于向下走,我们只需要不停的、分别的遍历当前节点的右儿子(对于二叉树就是序号乘2),直到向下 阅读全文
posted @ 2024-06-13 18:49 Linear_L 阅读(18) 评论(0) 推荐(0)
摘要: 题意 有一个箱子,每次可以向里面添加或者拿走一个数,问每次操作过后,任选箱子里的数相加,总和等于k的方案数是多少。 思路 萌新算是学到新东西了,这其实是个可撤销背包的板题。 我们先考虑一个问题: 对于普通计数类dp,我们现在禁用某一个数i,我们现在想知道某一个数j有多少种方式表示(即dp[j])。那 阅读全文
posted @ 2024-06-13 16:37 Linear_L 阅读(17) 评论(0) 推荐(0)
  2024年6月12日
摘要: 题意 在坐标轴上给定N个点,坐标依次为x1,x2,...,xn,你需要从原点前往xn并且实现往返,其中从第一个点到第N-1个点上有加油站,其中第i个加油站可以花费p[i]购买f[i]升汽油,汽油的上限为H升,每行驶一单位距离需要花费一升汽油。在全部过程中每个加油站最多使用一次,判断是否可以完成行程并 阅读全文
posted @ 2024-06-12 20:19 Linear_L 阅读(10) 评论(0) 推荐(0)
  2024年6月9日
摘要: 题意 有N个点,你从第一个点出发,要按顺序经过所有的点,最终抵达第N个点。在这个过程中你可以跳过一些点,但如果你跳过了C个点,那么你必须要接受pow(2,C-1)的惩罚。设s为你走过的距离加上你的惩罚,请求出最小化s。 题解 显然考虑dp,设计dp[i][j]为到达第i个点,中途跳过了j个点需要的路 阅读全文
posted @ 2024-06-09 20:33 Linear_L 阅读(7) 评论(0) 推荐(0)
  2024年6月3日
摘要: 题解 现在有个长度为N的字符串s,其中s由(,)和小写字母组成,每个)都要与其左边的(配成一对,并且将他们和中间的部分给删除掉。输出最后的s 思路 我们首先设最后的答案为空串,然后模拟整个过程就行了,一旦遇到(,我们就用cnt进行计数。一旦遇到),就在答案里一直删直到遇到最近的(为止。其他情况直接加 阅读全文
posted @ 2024-06-03 20:45 Linear_L 阅读(10) 评论(0) 推荐(0)
摘要: 题意 给定长度为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 阅读(13) 评论(0) 推荐(0)
摘要: 题意 一个家庭用一颗树来表示。其中有m个人买了保险,x[i]买的保险可以继承y[i]代,请问有多少人至少有一份保险 思路 感觉是比较水的E题了,我们采取bfs遍历,然后类似于最短路的想法来更新每个点可以继承的最大保险代数。最后扫一遍所有人,看他们的dis有多少大于等于0,即为答案(dis最初所有人赋 阅读全文
posted @ 2024-06-03 20:24 Linear_L 阅读(7) 评论(0) 推荐(0)