集训Day-1考试爆炸记+题解

T1简单题

emm首先前三个点暴力,这应该是个数论题,先把暴力打上再说

过了一会,回来想emm,目前没有logn的分解算法吧,所以应该是一个玄学思路题,

于是我开始想,如果最小是1,那么它是质数,

如果最小是2,那么sqrt(n)*sqrt(n)=n,

如果最小是3,那么³√n*³√n*³√n=n,

如果最小是4,那么pow(n,0.25)*pow(n,0.25)*pow(n,0.25)*pow(n,0.25)=n,

如果最小是5,那么此时pow(n,0.2)只有三千多,可以把素数在三千多以内的筛出来,然后把n在三千多里面的质数筛出来,再按照最小是2,3,4的方法再取min就能AC

#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#define LL long long
using namespace std;
int T,minn;
LL n;
int vst[3983],prime[3983];
double eps=1e-5;
bool pd(LL n,int num)
{
	double tt=pow(n,1.0/num);
    return (abs(round(tt)-tt)<eps);
}
int main()
{
	for(int i=2;i<=3983;i++)
	{
		if(vst[i])continue;
		prime[++prime[0]]=i;
		for(int j=i;j<=3983/i;j++)vst[i*j]=1;
	}
	scanf("%d",&T);
	while(T--)
	{
		minn=0x3f3f3f3f;
		scanf("%lld",&n);
		int nn=pow(n,0.2)+5;
		for(int i=1;i<=prime[0]&&prime[i]<=nn;i++)
		{
			int num=0;
			if(!(n%prime[i])){while(!(n%prime[i])){n/=prime[i];num++;}minn=min(minn,num);}
			if(minn==1)break;
		}
		if(n!=1)
		{
			if(pd(n,4))minn=min(minn,4);
            else if(pd(n,3))minn=min(minn,3);
            else if(pd(n,2))minn=min(minn,2);
            else minn=1;
		}
		printf("%d\n",minn);
	}
	return 0;
}

  

T2 送分题

emm点分树什么鬼?输出样例然后再见

T3 普及组送分题

emm不会写,这是什么高级数据结构暴力30再见

代码

#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
map<int,int>mapp[100005];
int n,len[100005],q;
string s[100005];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++){cin>>s[i];len[i]=s[i].length();}
	scanf("%d",&q);
	for(int i=1;i<=q;i++)
	{
		int x,y;
		scanf("%d %d",&x,&y);
		if(mapp[x][y]){printf("%d\n",mapp[x][y]);continue;}
		int bj;
		for(int j=min(len[x],len[y]);j>=0;j--)
		{
			bj=0;
			for(int k=j-1;k>=0;k--)if(s[x][len[x]-j+k]!=s[y][k]){bj=1;break;}
			if(!bj){mapp[x][y]=j;break;}
		}
		printf("%d\n",mapp[x][y]);
	}
	return 0;
}

  


考后期望得分100+0+30=130,实际70+10+50=130,T1玄学,T2居然输出样例有10分,T3居然不是数据结构,如果极限数据就应该是两个很长的串一直询问,只需用map记下即可。

初三奆佬180吊打我%%%

end

 

posted @ 2019-08-08 16:17  Peter_Rabbit  阅读(168)  评论(0编辑  收藏  举报