- 博客(4)
- 收藏
- 关注
原创 CodeForces Edu Round 175 D
题目描述:一颗根节点为1,有n个节点的树中,除根结点外,对于两个节点u,v,满足u与v的高度差为1,且u与v不为父子节点可以作为一个子路径。保证每次从根节点开始走。但(1->2,2->3)和(1->2,2->4)是不被允许的,因为2,3之间和2,4之间是父子节点的关系。dep保存每个点所在的高度,根节点高度为0,v[i]根据高度存图,f保存当前节点为终点时的合法路径,s保存当前高度所有节点的合法路径。枚举每个高度的所有点,找到该点的合法路径数量的同时累加此高度所有结点的合法路径,便于求答案。
2025-03-07 16:12:42
589
原创 Atcoder ABC 393 F
区间型问题且限制条件很多,说明状态转移方程比较好确定,考虑dp;思路:q的范围为2e5,因此暴力不可取;的子序列中,找出一个子序列的和不超过。为第i个询问的右区间,因此我们按。题意:给定一个有n个元素的序列。,q次询问,第i次询问中考虑在。进行排序后可以离线处理;
2025-02-23 20:01:52
287
原创 Atcoder ABC 381 A-E
由条件2,3可知,一个字符在一个有效子串中只能相邻的出现2次,因此我们可以定义一个vis数组来标记出现过的字符, i为有效字串的左边界,对于每一个左边界找到最长的有效字串,并将出现过的字符用vis数组标记,期间用 t 记录子串长度(即满足条件就+2),如果遇到之前出现过的字符,将第i个字符取消标记(因为此时子串的左边界已经不包含第i个字符),令左边界i+2,如果出现不相同的两个相邻字符,将vis数组清空,t清零,令左边界i+1。输出在字符串中的最长的满足条件的连续子串的长度大小。
2024-11-26 21:54:40
1604
1
原创 Atcoder ABC 353 C题解
根据题意,每个数会与其他数进行一次发f(x,y)运算,即n-1次,算出。题意:给出n个正整数,使每两个不重复的数相加求和,若两数相加后大于。是最简单的解决方法,但显然暴力会超时,因此可以使用。所以要找到所有f(x,y)大于10^8的情况,用。,使i,j同时进行变化降低时间复杂度,防止超时.题目与数字顺序无关,可先进行排序.解题思路:首先看到题发现。
2024-05-16 08:52:17
460
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人