noip2018自测报告

Posted xxhdjr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了noip2018自测报告相关的知识,希望对你有一定的参考价值。

昨天和今天测了一下前年noip tg的题

100+80+20+60+45+0=305pts

应该是大众分了。。刚好压前年我省1=线。。

我还是太弱了/kk

提交的代码:

D1T1:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2e5;
int n,a[N],b[N],f[N];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)
		b[i]=a[i]-a[i-1];
	for(int i=1;i<=n;i++)
	{
		f[i]=f[i-1];
		if(b[i]>0)f[i]+=b[i];
	}
	printf("%d",f[n]);
	return 0;
}

D1T2:

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
const int N=105;
const int M=3e6+10;
int T,n,a[N],dp[M],ans,mx,sum;
void clear()
{
	memset(dp,0,sizeof(dp));
	dp[0]=1;ans=n;mx=0;
}
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);clear();
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		sort(a+1,a+n+1);
        for(int i=1;i<=n;i++)
        {
            if(dp[a[i]]){ans--;continue;}
            for(int j=a[i];j<=sum;j++)
                dp[j]|=dp[j-a[i]];
        }
		printf("%d
",ans);
	}
	return 0;
}

D1T3:

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
const int N=5e5+10;
int n,m,tot=0,vis[N],ans,id;
int to[N],val[N],pre[N],now[N];
void add(int x,int y,int z)
{
	pre[++tot]=now[x];
	to[tot]=y,val[tot]=z;
	now[x]=tot;
}
void dfs(int x,int fk)
{
	vis[x]=true;
	if(fk>=ans){id=x;ans=fk;}
	for(int i=now[x];i;i=pre[i])
	{
		int y=to[i];
		if(vis[y])continue;
		dfs(y,fk+val[i]);
	}
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1,u,v,l;i<n;i++)
	{
		scanf("%d%d%d",&u,&v,&l);
		add(u,v,l);add(v,u,l);		
	}
	dfs(1,0);
	memset(vis,0,sizeof(vis));ans=0;
	dfs(id,0);
	printf("%d",ans);
	return 0;
}

 看到T1后我们可以画个图:

技术图片

我们把深度看成高度,分成了max{a[i]}层

很显然答案就是每一层被分开的区间数的总和

 Subcode:

for(int h=1;h<=MaxA;h++)
	for(int i=1;i<=n;i++)
		if(a[i]>=h&&a[i]-1<h)ans++;

时间复杂度为O(n*max{a[i]});

 

以上是关于noip2018自测报告的主要内容,如果未能解决你的问题,请参考以下文章

2017-9-2 NOIP模拟赛(自测)

Noip2018普及组初赛试题解题报告

noip2018 d2t3 保卫王国 解题报告

NOIP2015 解题报告

NOIP2000普及组解题报告

NOIP模拟2017.6.11解题报告