首页 > 其他分享 >Solution of CF1842C

Solution of CF1842C

时间:2024-10-20 15:03:13浏览次数:6  
标签:CF1842C le int max Solution maxn Size

Brief description of the title

若 \(a_i=a_j\) 且 \(1\le i < j\le |a|\)。则删除 \(a_{i}\) 到 \(a_j\) 所有数。求出能删除数列中的数的最大数量。

Solution

考虑动态规划:

状态:

\(f_i\) 表示前 \(i\) 个数里面最多能删除多少个数。

\(maxn_{a_i}\) 表示对于数 \(a_i\),满足 \(a_j=x\) 的最大的 \(f_{i-1}-j+1\) 的值。

状态转移方程

\[f_i=\max(f_{i-1},\max_{1\le j<i \wedge a_i=a_j}f_{j-1}+i-j+1) \]

可化简为:

\[f_i=\max(f_{i-1},maxn_{a_i}+i+1) \]

边界

\(f_0=0\)

答案

\(f_n\)

Code

	#include<bits/stdc++.h>
	#define int long long
	using namespace std;
	const int Size=3e6+55;
	const int infi=-100e7;//相当于1e9
	signed main(){
		int t;
		cin>>t;
		while(t--){
			int a[Size],f[Size],maxn[Size],n;
			cin>>n;
			for(int i=1;i<=n;i++)
				cin>>a[i],maxn[i]=infi;
			for(int i=1;i<=n;i++){
				f[i]=max(f[i-1],maxn[a[i]]+i+1);
				maxn[a[i]]=max(maxn[a[i]],f[i-1]-i);
			}
			cout<<f[n]<<endl;
		}
		return 0;
	}

标签:CF1842C,le,int,max,Solution,maxn,Size
From: https://www.cnblogs.com/NightFire666-blog/p/18487303

相关文章

  • P10992 Solution
    DescriptionLinkSolution好题。本题主要有两个问题:哈希函数的设计和子串的枚举。作为哈希题的套路,首先可以想到二分答案长度,再做check。考虑如何设计哈希函数来check。令二分出的长度为\(len\)。设计出的哈希函数需要满足两个条件:两个串对应的字符集相同,对应字符集的下......
  • 【题解】Solution Set - NOIP2024集训Day56 哈希杂题
    【题解】SolutionSet-NOIP2024集训Day56哈希杂题https://www.becoder.com.cn/contest/5640「CF568C」NewLanguage做过的2-sat。「NOI2024」集合做过。做法见提交记录。「CSP-S2022」星战简要题意:给定有向图。修改使一条边失效/恢复;使一个点的所有入边......
  • Solution - Codeforces 1628D2 Game on Sum (Hard Version)
    首先来考虑Easy。注意到的是最后输出的答案要求是模意义下的,这说明对于实数二分的做法都已经用不了了。注意到\(n,m\le3000\)的数据范围,于是一个想法就是考虑DP之类的算法。考虑到B选了\(+/-\)实际上就代表着下一轮的\(m\)是否会\(-1\),于是可以设状态为\(f_{i......
  • 【题解】Solution Set - NOIP2024集训Day50 图的连通性相关
    【题解】SolutionSet-NOIP2024集训Day50图的连通性相关https://www.becoder.com.cn/contest/5618「JSOI2012」越狱老虎桥简述题意:题目大意:给定一张图,A先添加\(1\)条边,B再删去一条边使得图不连通,A要最大化删除边的权值,B要最小化删除边的权值,问最终的权值是多少。......
  • AME 209/MSE 280 solution
    AME209/MSE280Homework4Fall2024Thehomework4solutionwillonlyincludetwom-files,oneforeachofthefollowingproblems.NoPDFwriteupisneededforthisassignment.Nameyoursolutionfiles:hw04_prob1_NNNN.mhw04_prob2_NNNN.msubstitutingthelast......
  • Solution - Codeforces 622E Ants in Leaves
    首先因为\(1\)点是可以一次性到多个点的,因此不需要考虑\(1\)点的情况,而是转而分析\(1\)的每个子树的情况,最后取\(\max\)。那么对于每个子树,就有每个节点每个时刻至多存在\(1\)个点的性质了。考虑如何去求解。首先一个贪心的想法是肯定是每个蚂蚁越早到一个点越好。于......
  • PageRank parallel solutions
    Assignment4 DueFridayby11:59pmPoints70 SubmittingafileuploadAvailableOct4at12am-Dec24at11:59pmStartAssignment Assignment4(70Points) ueFridayOctober11@11:59PMInthisassignment,wewillimprovetheparallelsolutionsofPageRa......
  • Solution - Atcoder ARC116C Multiple Sequences
    一个\(\mathcal{O}(m^{\frac{3}{4}}\logm)\)做法。令\(a_0=1\)。对于倍数问题,考虑类似差分的思想,定义\(b_i=\frac{a_i}{a_{i-1}}(1\lei\len)\),那么合法的\(a\)和\(b\)是双射的,就只需要考虑对\(b\)计数了。考虑到因为有\(\prod\limits_{i=1}^nb_i\lem\)......
  • redis scalable solution -- twemproxy
    twemproxyhttps://github.com/twitter/twemproxyAfast,light-weightproxyformemcachedandredistwemproxy(nutcracker)twemproxy(pronounced"two-em-proxy"),akanutcrackerisafastandlightweightproxyformemcachedandredisprotocol.......
  • 【题解】Solution Set - NOIP2024集训Day42 博弈论
    【题解】SolutionSet-NOIP2024集训Day42博弈论https://www.becoder.com.cn/contest/5574https://www.cnblogs.com/CloudWings/p/17813917.html「中山市选2009」谁能赢呢?一道经典的「二分图博弈」在棋盘问题上的应用。https://www.luogu.com.cn/article/h8a79k3i......