NYIST_ACM工作室寒假周赛2题解

这场就是让你们回顾回顾放松放松的 学姐一片苦心🙂

赛前写的题解 觉得这场给你们的体验太好了吧也🙂
赛后看了你们的榜 好家伙 就这啊?
两个BFS板子题做出来的有几个?
虽然A题HDU题面锅了但专题原题都wa穿?
就这专题还不刷?

cxs:一群fw(撤回的太快huahua没截到证据)

A.Catch That Cow

板子题 题面锅了 多组 https://blog.csdn.net/LYHVOYAGE/article/details/18229133


B.Numbers on Whiteboard

题意大概为,给你一个1~n的序列,你每次需要选择两个数a , b删除,再将(a+b+1)/2[题中为实除]这个数放回序列中。最后使得这个序列变成一个数,且这个数要尽可能小。输出这个最小数,以及你依次进行的操作选择数。而这个最小数通过多组数据推得必能为2。操作的话就从后两个开始取,取完之后把新的数再与前一个去取。
代码实现:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define hhh 1000005
ll t,n,m,k,sum,ans,maxx,flag;
double summ;
ll /*a[hhh],*/b[hhh],c[hhh],mp[hhh],book[hhh];
int main() {
   
   
	cin>>t;
	while(t--){
   
   
		cin>>n;
		for(ll i=1;i<=n;i++){
   
   
			b[i]=i;
		}
		cout<<"2"<<endl;
		for(ll i=n-1;i>=1;i--){
   
   
			cout<<b[i+1]<<" "<<b[i]<<endl;
			b[i]=(b[i]+b[i+1]+1)/2;
		}
	}
	return 0; 
} 

C.Dominant Piranha

题意大概是按顺序给你一组🐟的大小,大🐟可以吃掉其左或右的小🐟,吃掉后自身变大1。问你是否有🐟经过不断的左右吞吃可以把其他所有🐟吃掉(其他🐟不动),如果有输出任意一个。思路能就是让强的更强,若所有🐟一样大,那么就输出-1因为无法吞吃,否则找出最大的🐟,要求其左或右存在必它小的🐟输出即可。

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define hhh 1000005
ll t,n,m,k,ans;
ll a[hhh],b[hhh],c[hhh],mp[hhh],book[hhh];
int main() {
   
   
	cin>>t;
	while(t--) {
   
   
		cin>>n;
		ll maxx=-1,sum=0,flag
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值