P2270逐个击破
#include<iostream>
#include<cstdio>
#define ll long long
using namespace std;
const int MAXN=1e5+5;
int n,m,k,fa[MAXN];
ll tot;
int j,a,b,c;
bool v[MAXN];
int fint(int x)
{
return (fa[x]==x)?x:fa[x]=fint(x);
}
inline void hebn(int x,int y)
{
int fx=fint(x),fy=fint(y);
if(v[fy]) fa[fx]=fy;
else fa[fy]=fx;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++) fa[i]=i;
for(int i=1;i<=k;i++)
scanf("%d",&j),v[j]=true;
for(int i=1;i<n;i++)
{
scanf("%d%d%d",&a,&b,&c);
if(v[a]&&v[b]) tot+=c;
else if(v[fint(a)]&&v[fint(b)]) tot+=c;
else hebn(a,b);
}
printf("%lld",tot);
}
20分,MLE8个测试点
蒟蒻实在找不出错了,数组开得不大吧。。。。
不求AC,全WA也好,只要不MLE
另外一道站外题
内存限制1MB
#include<iostream>
#include<cstdio>
using namespace std;
const int mod=1e9,MAXV=5010;
int n,m,f[MAXV][MAXV],S;
int main()
{
freopen("equation.in","r",stdin);
freopen("equation.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
for(int j=1;j<i;j++)
f[i][j]=(f[i-1][j-1]+f[i-j][j])%mod;
f[i][i]=1;
}
for(int i=1;i<=n;i++)
S+=f[m][i],S%=mod;
cout<<S;
fclose(stdin);
fclose(stdout);
return 0;
}
AC 2,MLE 7 TLE 1
突然发现我好像不是很清楚MLE,因为也不常遇到
。。。。。。
今天就遇到俩。。。。。
最后,什么是MLE?
就我一直以为MLE是数组开得太大了
那要是那样的话
为什么有的点A了,有的点MLE了?
蒟蒻求助。。。。