如何办网站 论坛,中关村在线app下载,高清视频网络服务器免费,怎么找平台推广C 小L的位运算 显然#xff0c;如果两次反置的价格小于等于交换的价格#xff0c;那么直接全部反置就好了。 反之#xff0c;由于交换一定低于两次反置#xff0c;我们尽可能用交换来消去不正确的位置。不正确的位置类型只有00#xff0c;01#xff0c;10#xff0c;11如果两次反置的价格小于等于交换的价格那么直接全部反置就好了。 反之由于交换一定低于两次反置我们尽可能用交换来消去不正确的位置。不正确的位置类型只有00011011我们发现交换任意两个不同类型的某一位一定可以使得这两个位置正确。那么我们要做的就是尽量使其两两配对循环On的时间复杂度就能解决。 #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;
int n, m, k;
// int a[N];
// bool v[N];void sovle()
{cinnmk;string a,b,c;cinabc;vectorintv(4);for(int i0;in;i){if(c[i]1a[i]b[i]||c[i]0a[i]!b[i]){v[(a[i]-0)*2(b[i]-0)];}}if(2*mk){coutm*(v[0]v[1]v[2]v[3])endl;return;}else{int sum0;sort(v.begin(),v.end());for(int i0;iv[0];i){int umax(v[1],max(v[2],v[3]));if(uv[1]) v[1]--;else if(uv[2]) v[2]--;else v[3]--;sumk;}for(int i0;iv[1];i){int umax(v[2],v[3]);if(uv[2]) v[2]--;else v[3]--;sumk;}sumv[2]*k(v[3]-v[2])*m;coutsumendl;}
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int ING 1;// cinING;while (ING--){sovle();}return 0;
}L 小L的构造 构造打表找规律 #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;
int n, m, k;
// int a[N];
// bool v[N];void sovle()
{cinn;if(n4){cout0endl;}else if(n%62){int x1,y2,z4,xx3,yy5,zz6;coutn/3endl;for(int i0;in/6;i){coutxi*6 yi*6 zi*6endl;coutxxi*6 yyi*6 zzi*6endl;}}else{if(n4||n5){cout1endl;cout1 2 4endl;return;}coutn/3endl;cout1 2 4endl;cout3 5 9endl;cout6 7 8endl;int x10,y11,z14,xx12,yy13,zz15;for(int i0;in/3-3;i){if(i%20){coutxi/2*6 yi/2*6 zi/2*6endl;}else coutxxi/2*6 yyi/2*6 zzi/2*6endl;}}
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int ING 1;cinING;while (ING--){sovle();}return 0;
}