(玄关)CSP-S染色O(TN^2)求条
查看原帖
(玄关)CSP-S染色O(TN^2)求条
1272608
ToMaT楼主2024/11/9 09:49
#include<bits/stdc++.h>
using namespace std;
int a[1000000];
int b[1000000];
long long cnt=0;
int n;
void vc(int w,int i){
	if(w==0){
		long long cnt1=0;
		for(int i=1;i<=n;++i){
			for(int j=i-1;j>=0;--j){
				if(b[i]==b[j]){
					if(a[i]==a[j]){
						cnt1+=a[i];
					}
					else{
						break;
					}
				}
			}
		}
		cnt=max(cnt,cnt1);
		return ;
	}
	b[i]=1;
	vc(w-1,i+1);
	b[i]=0;
	b[i]=2;
	vc(w-1,i+1);
	b[i]=0;
}
int main(){
    int t;
    cin>>t;
    while(t--){
    	cin>>n;
    	for(int i=1;i<=n;++i){
    		cin>>a[i];
    		b[i]=0;
		}
		cnt=0;
		vc(n,1);
		cout<<cnt<<endl;
	}
	return 0;
} 
2024/11/9 09:49
加载中...