目录
题目:
给两个数组,和数m。
如果两个数组中的一个数可以除尽m , 那就可以把这个数拆成m个相同的数。
如果连续m个数相同,就可以合并成一个m倍的它。
思路:
正难则反,我们把两个数组都尽可能地拆,最后看两个数组是否相同。相同的数站一个位置,另外开辟空间记录有多少个即可。
参考代码:
#define ll long long
#define endl "\n"
#define int long long
const ll inf = 1e9;
const ll MOD = 0x77777777737;
const int maxn = 5e5 + 5;
void solve()
{
int n,m;
cin >> n >> m;
vector<int>arr1(n);
for (int i = 0; i < n; i++)
cin >> arr1[i];
int k;
cin >> k;
vector<int>arr2(k);
for (int i = 0; i < k; i+