模拟赛3

1.牛半仙的妹子串

解题思路

暴力模拟

20分代码(超内存)

#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,k,ch[26];
string ss[26][70005];
char s1;
struct node
{
   
	string s;
	int x;
}a[100005];
bool cmp(node x,node y)
{
   
	return x.x>y.x;
}
int main()
{
   
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)//输入
	{
   
		cin>>a[i].s;
		scanf("%d",&a[i].x);
	}
	sort(a+1,a+n+1,cmp);//排序
	for(int i=1;i<=n;i++)//统计
	 ss[a[i].s[a[i].s.size()-1]-'a'][++ch[a[i].s[a[i].s.size()-1]-'a']]=a[i].s;
	for(int i=1;i<=m;i++)//输出
	{
   
		cin>>s1;
		scanf("%d",&k);
		if(ch[s1-'a']>=k)cout<<ss[s1-'a'][k]<<endl;
		else printf("Orz YYR tql\n");
	}
	return 0;
}

2.牛半仙的妹子gcd

解题思路

打表+暴力

70分代码

#include<cstdio>
using namespace std;
int n;
long long ans,a[1005]={
   1,9,30,76,141,267,400,624,885,1249,1590,2208,2689,3411,4248,5248,6081,7485,8530,10248,11889,13687,15228,17988,20053,22569,25242,28588,31053,35463,38284,42540,46581,50893,55362,61824,65857,71247,76884,84388,89349,97881,103342,111528,120141,128047,134580,146316,154177,164817,174438,185836,194157,207927,218812,233268,245277,257857,268182,288216,299257,313635,330204,347836,362973,383709,397042,416448,434025,456967,471948,499740,515581,536073,559758,583960,604833,633651,652216,683712,709065,734233,754734,793188,818917,846603,874512,909496,933081,977145,1006126,1041504,1073385,1106467,1138536,1187112,1215145,1255101,1295142,1342852,1373253,1422195,1453816,1502376,1553361,1595437,1629570,1691292,1726717,1782111,1827492,1887772,1925853,1986837,2033674,2089776,2145333,2197483,2246640,2332104,2379085,2434833,2490534,2554600,2609625,2693919,2742052,2813988,2875245,2952085,3003306,3096024,3157249,3224511,3306240,3388576,3444609,3533637,3591322,3693924,3767085,3842623,3912324,4027884,4102093,4181949,4270422,4361548,4427853,4548003,4616104,4718640,4812789,4918561,5003286,5131848,5205481,5299011,5392008,5521384,5610705,5739009,5818390,5930196,6052893,6156139,6239472,6402720,6493681,6623853,6741078,6864016,6953457,7094451,7215016,7359936,7475145,7593865,7689630,7886244,7984165,8130747,8253888,8403448,8523897,8684853,8802826,8949612,9105537,9267595,9376656,9574704,9686065,9827097,9997134,10174780,10290813,10493367,10611772,10813692,10962213,11115121,11256486,11474160,11621905,11780931,11951868,12152644,12299469,12557589,12690730,12877248,13044009,13215631,13378068,13639212,13800565,13978665,14154942,14401360,14564721,14793483,14942224,15188880,15419685,15611101,15765234,16036176,16193041,16429311,16663212,16899868,17062269,17342853,17536762,17767764,17974173,18222175,18393060,18746652,18920413,19157001,19390038,19636924,19871697,20152263,20355532,20625636,20853453,21130753,21319254,21694104,21908065,22149867,22437552,22728496,22926129,23234577,23463814,23805108,24075513,24332791,24539772,24931452,25177789,25486401,25748310,26046016,26262561,26675175,26894956,27234516,27558429,27839821,28128786,28523688,28753321,29042991,29351592,29785072,30021393,30389565,30629266,30963492,31321485,31672711,31953804,32425836,32688877,33062565,33373626,33726904,33983865,34429779,34734808,35118504,35492157,35825017,36121134,36654504,36963505,37305363,37642584,38065072,38391057,38865501,39147634,39616920,39967617,40394071,40683612,41225940,41519221,41888793,42384162,42797764,43098597,43566255,43904500,44429652,44808093,45257725,45601170,46169952,46569937,46968303,47361012,47831476,48200253,48818913,49146934,49603392,50041701,50459863,50852892,51526308,51866341,52323525,52745562,53322544,53708505,54298779,54698668,55215828,55737405,56186161,56546694,57171096,57535801,58143171,58660356,59251012,59624133,60203157,60644362,61169064,61716561,62196991,62582916,63412356,63821065,64312293,64834254,65483848,65950185,66568971,66972304,67587720,68125101,68730733,69199074,69911592,70328233,70921695,71533620,72150796,72618765,73404141,73834306,74552100,75085101,75632119,76071420,76872060,77491909,78050445,78641142,79264228,79717413,80573763,81073864,81821688,82388769,82970701,83516610,84414252,84886285,85480095,86161164,86992564,87474165,88220157,88754098,89429544,90180657,90891319,91439292,92355780,92856805,93599289,94219470,94921888,95501673,96361407,96963844,97781220,98419629,99157789,99683634,100827984,101358865,102026463,102731352,103515112,104190777,105028173,105647746,106405692,107180709,107996839,108553260,109628292,110189893,111000765,111825138,112611640,113233569,114118647,114695932,115733556,116587773,117408865,117996726,119008440,119700889,120446595,121180104,122179048,122782953,123944493,124616194,125461392,126214713,126987415,127845180,128985180,129610813,130397193,131270778,132316132,132952773,134129775,134771956,135744444,136685061,137499157,138152490,139394688,140141545,141115407,141929748,142899964,143638245,144674289,145514614,146611944,147507021,148363591,149050956,150490956,151248877,152119845,153111618,154157344,154979553,156150327,156860860,157897644,158775381,159955693,160677954,161918172,162708157,163729311,164914584,166024144,166862457,168005745,168751750,169977900,170899221,171843979,172602000,174180024,175071289,176146005,177153882,178221148,178997373,180443943,181329964,182500908,183587361,184577833,185504670,186867852,187748725,188899827,189888504,191324248,192137529,193495953,194315494,195450960,196790985,197828251,198729504,200340360,201212221};//打表
int gcd(int x,int y)
{
   
	while(x%y)
	{
   
		int z=y;
		y=x%y;
		x=z;
	}
	return y;	
} 
int main()
{
   
	scanf("%d",&n);
	if(a[n-1]!=0)printf("%lld",a[n-1]);
	else
	{
   
		for(int i=1;i<=n;i++)//暴力
	 	 for(int j=1;j<=n;j++)
	  	  for(int k=1;k<=n;k++)
	   	   ans+=gcd(i,gcd(j,k));
		printf("%lld",ans);
	}
	return 0;
}

3.牛半仙的妹子树

未做

4.牛半仙的魔塔

未做

总结

考试
预估:100+50+0+0=150
实际:20+70+0+0=90
要学会算内存

谢谢