大连外贸建站,营销策划公司挣钱吗,wordpress盗版模板,建站平台排行H 一起画很大的圆#xff01; 看起来像是一道计算几何的题#xff0c;实际上通过分析和猜想#xff0c;是有O1复杂度的结论的。具体证明略#xff0c;结论是三点越接近共线#xff0c;得出的半径越大。 #include bits/stdc.h
using namespace std;
#define endl \…H 一起画很大的圆 看起来像是一道计算几何的题实际上通过分析和猜想是有O1复杂度的结论的。具体证明略结论是三点越接近共线得出的半径越大。 #include bits/stdc.h
using namespace std;
#define endl \n
#define int long long
typedef long long ll;
typedef pairint, int PII;
const int N 1e67;
const int mod 998244353;
int n, m, k;
// int a[N];void sovle()
{int a,b,c,d;cinabcd;if(b-ad-c){couta dendl;couta1 dendl;coutb d-1endl;}else{coutb dendl;coutb d-1endl;coutb-1 cendl;}
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int ING 1;cinING;while (ING--){sovle();}return 0;
}
C 字符串外串 首先我们找k的下界通过D题我们可以知道k与两个相同字母之间的间隔距离有关那么想要最小化相隔距离我们就要尽量地填充不一样的字母但是每26个字母之后必定会出现相同的字母那么不难推出来下界就是max(0,n-26)上界很容易知道是n-1。 想要构造出特定可爱值的字符串就类似与构造出一个特殊的回文串。我的代码太屎了移步官方题解吧。。。。原本我是想着b到z循环m-1次然后放两个aa构造出m可爱值的前缀串后面再接n-m-1个不同的字符就好了。后面发现n-m-1可能会大于m-1导致可爱值变大。于是我发现了n-mm时构造会不一样这种情况的具体构造可以变成回文串前n-m个和后n-m个对称中间n-2m个相等的就好了。实现起来乱七八糟额
#include bits/stdc.h
using namespace std;
#define endl \n
#define int long long
typedef long long ll;
typedef pairint, int PII;
const int N 1e67;
const int mod 998244353;
int n, m, k;
// int a[N];void sovle()
{// string xabcdefghijklmnopqrstuvwxzzzzxwvutsrqponmlkjihgfedcba;coutx.size()endl;cinnm;if(nm||n-26m){coutNOendl;return;}coutYESendl;string s;if(n-mm){char chb;for(int i0;im-1;i) s.push_back(ch),ch;s.push_back(a);for(int im;in-m;i) s.push_back(ch),ch;if(n1m!0) s.push_back(a);chbm-2;for(int in-m1;in;i) s.push_back(ch),ch--;// if(n1m!0) s.push_back(a);coutsendl;return;}char cha;for(int i0;in-m-1;i) s.push_back(ch),ch;for(int in-m-1;im;i) s.push_back(z);chan-m-2;for(int im1;in;i) s.push_back(ch),ch--;coutsendl;
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int ING 1;cinING;while (ING--){sovle();}return 0;
}