首页 > 其他分享 >2024初三集训模拟测试2

2024初三集训模拟测试2

时间:2024-02-19 21:44:43浏览次数:31  
标签:-- T2 T3 pop 2024 front 初三 集训 empty

2024初三集训模拟测试2

\(T0\) 谜之阶乘 \(100pts\)

\(T1\) 小P的2048 \(10pts\)

  • 大模拟,没什么好说的。

    • 注意可以同时合并多对数字,但不能连续合并。
    点击查看代码
    ll a[10][10];
    queue<ll>q;
    int main()
    {
    	ll n,m,x1,y1,v1,x2,y2,v2,d,k,v,sum=0,ans=0,r,num,flag,i,j,h;  
    	cin>>n>>m>>x1>>y1>>v1>>x2>>y2>>v2;
    	a[x1][y1]=v1;
    	a[x2][y2]=v2;
    	for(h=1;h<=m;h++)
    	{
    		cin>>d>>k>>v;
    		r=num=flag=0;
    		if(d==0)
    		{
    			for(j=1;j<=n;j++)
    			{
    				for(i=1;i<=n;i++)
    				{
    					if(a[i][j]!=0)
    					{
    						if(1<=i-1&&a[i-1][j]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(i=1;i<=n;i++)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    				}
    			}
    			for(j=1;j<=n;j++)
    			{
    				for(i=1;i<=n;i++)
    				{
    					if(i+1<=n&&a[i][j]==a[i+1][j]&&a[i][j]!=0)
    					{
    						flag=1;
    						a[i][j]*=2;
    						a[i+1][j]=0;
    						ans+=a[i][j];
    					}
    				}
    			}
    			for(j=1;j<=n;j++)
    			{
    				for(i=1;i<=n;i++)
    				{
    					if(a[i][j]!=0)
    					{
    						if(1<=i-1&&a[i-1][j]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(i=1;i<=n;i++)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    					r+=(a[i][j]==0);
    				}
    			}
    		}
    		if(d==1)
    		{
    			for(j=1;j<=n;j++)
    			{
    				for(i=n;i>=1;i--)
    				{
    					if(a[i][j]!=0)
    					{
    						if(i+1<=n&&a[i+1][j]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(i=n;i>=1;i--)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    				}
    			}
    			for(j=1;j<=n;j++)
    			{
    				for(i=n;i>=1;i--)
    				{
    					if(1<=i-1&&a[i][j]==a[i-1][j]&&a[i][j]!=0)
    					{
    						flag=1;
    						a[i][j]*=2;
    						a[i-1][j]=0;
    						ans+=a[i][j];
    					}
    				}
    			}
    			for(j=1;j<=n;j++)
    			{
    				for(i=n;i>=1;i--)
    				{
    					if(a[i][j]!=0)
    					{
    						if(i+1<=n&&a[i+1][j]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(i=n;i>=1;i--)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    					r+=(a[i][j]==0);
    				}
    			}
    		}
    		if(d==2)
    		{
    			for(i=1;i<=n;i++)
    			{
    				for(j=1;j<=n;j++)
    				{
    					if(a[i][j]!=0)
    					{
    						if(1<=j-1&&a[i][j-1]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(j=1;j<=n;j++)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    				}
    			}
    			for(i=1;i<=n;i++)
    			{
    				for(j=1;j<=n;j++)
    				{
    					if(j+1<=n&&a[i][j]==a[i][j+1]&&a[i][j]!=0)
    					{
    						flag=1;
    						a[i][j]*=2;
    						a[i][j+1]=0;
    						ans+=a[i][j];
    					}
    				}
    			}
    			for(i=1;i<=n;i++)
    			{
    				for(j=1;j<=n;j++)
    				{
    					if(a[i][j]!=0)
    					{
    						if(1<=j-1&&a[i][j-1]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(j=1;j<=n;j++)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    					r+=(a[i][j]==0);
    				}
    			}
    		}
    		if(d==3)
    		{
    			for(i=1;i<=n;i++)
    			{
    				for(j=n;j>=1;j--)
    				{
    					if(a[i][j]!=0)
    					{
    						if(j+1<=n&&a[i][j+1]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(j=n;j>=1;j--)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    				}
    			}
    			for(i=1;i<=n;i++)
    			{
    				for(j=n;j>=1;j--)
    				{
    					if(1<=j-1&&a[i][j]==a[i][j-1]&&a[i][j]!=0)
    					{
    						flag=1;
    						a[i][j]*=2;
    						a[i][j-1]=0;
    						ans+=a[i][j];
    					}
    				}
    			}
    			for(i=1;i<=n;i++)
    			{
    				for(j=n;j>=1;j--)
    				{
    					if(a[i][j]!=0)
    					{
    						if(j+1<=n&&a[i][j+1]==0)
    						{
    							flag=1;
    						}
    						q.push(a[i][j]);
    					}
    				}
    				for(j=n;j>=1;j--)
    				{
    					a[i][j]=(q.empty()==0)?q.front():0;
    					if(q.empty()==0)
    					{
    						q.pop();
    					}
    					r+=(a[i][j]==0);
    				}
    			}
    		}
    		if(flag==1&&r!=0)
    		{
    			sum++;
    			for(i=1;i<=n;i++)
    			{
    				for(j=1;j<=n;j++)
    				{
    					num+=(a[i][j]==0);
    					if(num==k%r+1)
    					{
    						a[i][j]=v;
    						break;
    					}
    				}
    				if(num==k%r+1)
    				{
    					break;
    				}
    			}
    		}
    		else
    		{
    			break;
    		}
    	}
    	cout<<sum<<endl;
    	cout<<ans<<endl;
    	return 0;
    }
    

\(T2\) 子集 \(0pts\)

  • 部分分

    • \(20 \%\) :由于 \(\dfrac{n}{k}\) 为偶数,故在待选递增序列中左右端各依次取 \(\dfrac{n}{2k}\) 个数即可。
    点击查看代码
    if((n/k)%2==0)
    {
    	l=0;
    	r=n+1;
    	cout<<"Yes"<<endl;
    	for(i=1;i<=k;i++)
    	{
    		for(j=1;j<=(n/k)/2;j++)
    		{
    			l++;
    			cout<<l<<" ";
    		}
    		for(j=1;j<=(n/k)/2;j++)
    		{
    			r--;
    			cout<<r<<" ";
    		}
    		cout<<endl;
    	}
    }
    

\(T3\) 混凝土粉末 \(0pts\)

\(T4\) 排水系统 \(0pts\)

总结

  • 开题顺序 \(T0,T3,T2,T1\) 。
  • \(T2\) 赛时没有删 freopen ,挂了 \(25pts\) 。
  • \(T3\) 用的 gp_hash_table ,空间爆了。
  • \(T1\) 写到比赛结束一个多小时也没有调完,很久没有写过大模拟了,该练练了。
    • 菜就多练。
  • \(T4\) 看见概率期望就直接跳了,也没时间写了。

后记

  • \(T0\) 为原本的 \(T1\) ,因机房人做过的太多所以仅存在了 \(90s\) 就被换下去了,赛时只有我交了一份 \(AC\) 代码上去。
  • \(T2\) 下发了 Special Judge ,还教了怎么使用 Special Judge ,好评。
  • \(T3\) 在没有提前说明的情况下使用了捆绑测试。
  • \(PDF\) 上写了文件输入输出,但评测时却是标准输入输出。
  • 有大样例,好评。

标签:--,T2,T3,pop,2024,front,初三,集训,empty
From: https://www.cnblogs.com/The-Shadow-Dragon/p/18021956

相关文章

  • 2024牛客寒假算法基础集训营4 K.方块掉落
    线段树维护的信息有当前行有多少方块,一共有多少方块拿线段树维护一个矩阵就行,转移更新就是矩阵乘类似题有这个 牛客多校第二场-H-zhujio两题都基本上就是转移矩阵求出来正常建线段树,pushup就是直接矩阵乘 #include<bits/stdc++.h>usingnamespacestd;#defineen......
  • 2024程序员能有什么新的出路?
    前言前两天和一个前端同学聊天,他说不准备再做前端了,准备去考公。不过难度也很大。从20152016年那会儿开始互联网行业爆发,到现在有7、8年了,当年20多岁的小伙子们,现在也都30+了大量的人面临这个问题:大龄程序员就业竞争力差,未来该如何安身立命?先说我个人的看法:除非你......
  • [20240219]建立完善sql_idx.sh脚本.txt
    [20240219]建立完善sql_idx.sh脚本.txt--//再次遇到sql_id的计算问题,该语句已经dba_hist相关视图无法查询.--//w3wp.exe程序里面的sql语句脚本带有^M符号(dos文本格式),执行时并不过滤.--//而我的计算sql_id脚本计算时过滤掉^M符号,导致计算错误.--//我修改完善如下:(注里面的^M......
  • 2024九省联考 数学 T19
    寒假有朋友打电话吐槽九省联考,看了眼数学卷子感觉非常刺激。刚开学没事干,试着做一下\(19\).(\(17\)分)离散对数在密码学中有重要的应用。设\(p\)是素数,集合\(X=\{1,2,\cdots,p-1\}\),若\(u,v\inX,m\in\mathbb{N}\),记\(u\otimesv\)为\(uv\)除以\(p\)的余数,\(u^{m,......
  • 2024牛客寒假算法基础集训营4 H&K
    H传送门  观察下图  1.只有在横着连续有三个*的时候才可能会出现三角形,并且随着横坐标的增加实际上增加的是(从左往右从上往下方向)斜对角线上点的数量。  2.当横着连续有3-4个的时候斜线的长度为2,当横着又连续5-6个的时候斜线的长度为3,以此类推,所以启发使用......
  • 2024 SICTF Round#3出题 crypto misc osint
    有幸参与了本次比赛cryptomiscOSINT出题,难易程度循序渐进,下面记录一下本人题目题解(( 比赛网址:https://yuanshen.life/CRYPTOSuperbRSA(85支队伍攻克)题目CRYPTO真的很难吗?Ö_O不会吧不会吧!,一定要相信自己咩~出题人:Kicky_Mu#user:mumu666fromCrypto.Util.number......
  • 2024-02-19 闲话
    2019-06CET4-2你怎么知道我听力都对了Vocabularyrevenuen.收入aslumpinoilrevenue石油收入的下跌workers'strike工人罢工Theynestonthevolcano'sslopes.它们在火山山坡上筑巢。slope这里是另译idleabout游手好闲/虚度时光(贬义)闲逛(中性)acquirev.1.(通......
  • 2024,立一些flag
    关于2023进入了一些新的领域ANC:前半年一直再弄ANC,折腾折腾,好不容易原理搞懂,有了初步的优化结果,结果公司砍了需求,感觉现在处于半吊子水平。没有需求也没有理由去深入,就此搁置。nnAEC:后面做了nnAEC的数据增强,借助这个项目,对整个AEC的处理流程和某些卡喉的难点(非线性失真,延时抖动)......
  • 9.【2024初三集训模拟测试1】
    \(\Huge打了一场模拟赛,又垫底了。qwq\)2024初三集训模拟测试1T1edit\(30pts\)前言被签到题薄纱了。由于没看清题面以为是个数字就要输出空格然后\(\Large④\)了\(qwq\Huge......
  • USACO 2024 February Contest, Bronze Problem 1. Palindrome Game
    1.猜结论2.证明如果\(s<=9\)则\(Bessie\)必赢。如果\(s=10\)则\(Elsie\)必赢。如果\(10<s<=19\)则\(Bessie\)可以减去\(s-10\),使自己必赢。如果\(s=20\)则\(Bessie\)无论如何减去一个回文数都会离\(10\)差一个个位数,\(Elsie\)减去这个个位......