首页 > 其他分享 >2024牛客多校第二场 - I. Red Playing Cards

2024牛客多校第二场 - I. Red Playing Cards

时间:2024-10-05 20:33:42浏览次数:1  
标签:int 多校 2024 牛客 Cards include Playing Red

思路与官方题解一样,不过我采用了递归的写法,这样就可以避免排序等操作。

另外还要注意递归的时候不能让多个不同的递归函数同时修改一个数组,否则这个数组同时被多个函数使用,会很混乱。我这里把它开成了二维来避免这个问题。

代码如下:

#include<cstdio>
#include<algorithm>
using namespace std;

const int N=3005;
int n,a[N<<1],L[N],R[N];
long long f[N],g[N][N<<1];

long long DFS(int x)
{
	if(f[x]) return f[x];
	for(int i=L[x];i<=R[x];i++)
	{
		g[x][i]=g[x][i-1]+x;
		if(i==R[a[i]] && L[x]<L[a[i]])
			g[x][i]=max(g[x][i],g[x][L[a[i]]-1]+DFS(a[i]));
	}
	return f[x]=g[x][R[x]];
}

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n<<1;i++)
	{
		scanf("%d",&a[i]);
		if(L[a[i]]) R[a[i]]=i;
		else L[a[i]]=i;
	}
	L[0]=0,R[0]=(n<<1)+1;
	printf("%lld\n",DFS(0));
	return 0;
}

标签:int,多校,2024,牛客,Cards,include,Playing,Red
From: https://www.cnblogs.com/jerrycyx/p/18448448

相关文章

  • 团队训练记录2024.10.5
    这次double精度上卡了,赛时和学校强队差两题题目链接:https://codeforces.com/gym/104023/problemA.Dunai队友写的,答案在总冠军位人数和位置上冠军加非冠军人数最小取min?#include<bits/stdc++.h>#definetest(i)cout<<#i<<""<<i<<""<<endl;#defin......
  • 2024.10.1 近期练习
    CF1993F2Dyn-scriptedRobot(HardVersion)这个题非常的一眼,首先翻转路径的操作可以转化为翻转矩形。也就是,如果触碰了边界不改变行走的路径,而是继续走下去,只不过对应的位置需要对称回去。那么,计算走到\((0,0)\)的次数,也就是在反转后的坐标系里的\((2k_1w,2k_2h)\)的位置......
  • 2024.10.5 LGJ Round
    A给定\(n\)个区间,你要选出最多区间对数,使得每一对的区间都不交。\(n\le4e5\)。反悔贪心,我们将所有区间按\(l_i\)从小到大排序,一个一个加入,加入的时候有两种情况。1.之前的区间中存在未匹配的区间,且可以跟当前区间匹配。我们随便选择一个区间跟当前区间匹配即可。2.找不到......
  • 20241005-顺路
    又顺了一次路呢,感觉现在对距离的感知越来越清晰了。吃完饭准备去买雪糕结果lzm就看到了zyx,真是巧呢,于是买完雪糕跟他们顺路回去了。其实想记的不是这个,是因为最近我又莫名有很强烈的自卑感了。感觉自己这种心理很有问题但是就是克制不住,OI和whk的学习有,甚至连打个乒乓球......
  • 2024牛客多校第二场 - C. Red Walking on Grid
    题目大意:\(2\timesn\)大小的方格矩阵,某些格子不能走,走过的格子不能走。从任意点出发,一次最多走多少次?首先有一个贪心的思想,每次从最左走到最右,只能向上下右走,不能向左走(因为向左走一定不会让步数更多)。动态规划,设\(f_{i,j}\)表示从每个连通块走到\((i,j)\)的最大格子数......
  • 2024牛客多校第一场 - Mirror Maze
    题目大意:一个由四种镜面(|-/\)组成的矩阵,根据镜面的方向反射光线。问坐标\((x,y)\)处向某方向射入一束光线后(此光线会直接穿过此位置\((x,y)\)的镜面),一共会反射(直接穿过的不算)到多少个不同(一个坐标算一个镜面)的镜面。总体思路为预处理出每一个坐标向每一个位置发射光线的答......
  • 2024.10.5 LGJ Round
    A给定\(n\)个区间,你要选出最多区间对数,使得每一对的区间都不交。\(n\le4e5\)。反悔贪心,我们将所有区间按\(l_i\)从小到大排序,一个一个加入,加入的时候有两种情况。1.之前的区间中存在未匹配的区间,且可以跟当前区间匹配。我们随便选择一个区间跟当前区间匹配即可。2.找不到......
  • 2024-2025 20242307
    我的作业1,以上内容没有掌握没有我掌握的......
  • 2024年——博士延期第8年有感
    刚和期刊编辑社沟通邮件,被告知已接收录用的期刊排期为明年(2025年)5月份出版发表,然后我接到邮件后马上去翻找大连理工大学的博士毕业的要求,然后又赶紧去查了一下这个期刊的中科院SCI分区排名,最后得出一个结论,那就是学校要求论文得分6分才允许答辩,但是必须有一篇论文是已发表,而我现在......
  • [DMY]2024 CSP-S 模拟赛 Day 10
    赛时对于T1,看懂题面以后感觉很可做。首先明确正解复杂度应该是基于\(N\)额度线性做法。把输入按照开始时间排序,然后依次处理。赛时考虑到一个元素在覆盖过程中遇到其他元素时无法确定时间先后,确定后想要找到该元素的当前位置和重新覆盖有些困难,写了1h以后先放弃了。舍远......