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;
}