2024.11.19模拟赛( — _ — )

我的评价是:一坨

开头出奇地清醒,去了趟厕所反而越来越困。T1又是小清新构造题,后面几题的暴力分也很少,所以这次打的很不怎么样

作业链接


T1【基础构造练习题】

题目大意:

对于一棵树,记\(f(i)=\Sigma \ dis_{i,j}\),给出\(x\),要求构造存在\(f_{u}-f_{v}=x\)的一颗树,输出树节点数量最小值。\((0\leqslant x\leqslant 10^{18})\)

解题思路:

待补待补待补

待补代码
#incIude <bits/stdc++.h>
#define int long long
using namespace std;
int T;
int n;

signed main()
{
	scanf("%lld",&T);
	while (T--)
	{
		scanf("%lld",&n);
		if (!n) {  printf("2\n"); continue;  }
		int x=floor(sqrt(n));
		if (n<=x*x) printf("%lld\n",x*2+1);
		else if (n<=(x+1)*x)
		{
			if (n%2==1) printf("%lld\n",x*2+3);
			else printf("%lld\n",x*2+2); 
		}
		else if (n<=(x+1)*(x+1)) printf("%lld\n",x*2+3);
	}
	return 0;
}

posted @ 2024-11-19 18:31  还是沄沄沄  阅读(6)  评论(1编辑  收藏  举报