社区讨论

前天 abc_E O(N^3*log(N^2)) 做法 TLE 求助

AT_abc362_e[ABC362E] Count Arithmetic Subsequences参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lymbvizo
此快照首次捕获于
2024/07/15 09:50
2 年前
此快照最后确认于
2024/07/15 10:48
2 年前
查看原帖
写的另一版 O(N^4) 的都过了,而且最慢的也只跑了 24ms,为什么这版T了?
CPP
#include<bits/stdc++.h>
#define ll long long
#define MOD 998244353
using namespace std;

set<ll>B;
ll n,a[85];
unordered_map<ll,ll>dp[85][85];

signed main(){
	ios::sync_with_stdio(false);
	
	cin>>n;
	for(ll i=1;i<=n;i++)cin>>a[i];
	
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<i;j++)
			(dp[2][i][a[i]-a[j]]+=1)%=MOD;
		for(ll len=3;len<=i;len++)
			for(ll j=1;j<i;j++)
				(dp[len][i][a[i]-a[j]]+=dp[len-1][j][a[i]-a[j]])%=MOD;
	}

	for(ll i=1;i<=n;i++)
		for(ll j=1;j<=n;j++)
			B.insert(a[i]-a[j]);
	
	
	cout<<n<<" ";
	for(ll len=2;len<=n;len++){
		ll res=0;
		for(ll i=1;i<=n;i++)
			for(ll j:B)(res+=dp[len][i][j])%=MOD;
		cout<<res<<" ";
	}
	
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...