郑州网站建设做推广吗,做网站时可以切换语言的,网站优化关键词公司,做网站 江门A. Blackboard List solve: 1、生成的数一定不是负数#xff0c;所以有负数的情况下#xff0c;负数一定是原来的数。 2、没有负数的情况下#xff0c;最大的数一定是原来的数#xff0c;因为操作只能使数变小。
void solve()
{cinn;for(int i0;in;i)cin所以有负数的情况下负数一定是原来的数。 2、没有负数的情况下最大的数一定是原来的数因为操作只能使数变小。
void solve()
{cinn;for(int i0;in;i)cinb[i];sort(b,bn);if(b[0]0){coutb[0]\n;}else coutb[n-1]\n;
}B. Minimize Permutation Subarrays 1、在1和2的中间插n这样使得子区间的排列只存在1本身及1-n的整个区间排列。 void solve()
{cinn;int pos10,pos20,pos30,posn0;for(int i1;in;i){cinb[i];if(b[i]1)pos1i;if(b[i]2)pos2i;if(b[i]n)posni;}if((pos1posnposnpos2)||(pos2posnposnpos1)){coutpos1 pos2\n;}else if(posnmin(pos1,pos2)){coutposn min(pos1,pos2)\n;}else if(posnmax(pos1,pos2)){coutposn max(pos1,pos2)\n;}//在1和2之间插进一个n
}C. No Prime Differences 1、nm存在偶数的情况下可以直接按顺序排。
形如
4 5
1 5 9 13 17
2 6 10 14 18
3 7 11 15 19
4 8 12 16 205 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 202、n、m全为奇数。可以把先按顺序排再把前n/2行 分别 插空放在剩下n/21行的 两行之间。
形如
5 7
15 16 17 18 19 20 21
1 2 3 4 5 6 7
22 23 24 25 26 27 28
8 9 10 11 12 13 14
29 30 31 32 33 34 35
//把1所在的行以及8所在的行 分别插在 15与22所在行之间及22与29所在行之间。ll x[1005][1005];
void solve()
{cinnm;ll cnt1;if(n%20){for(int j1;jm;j)for(int i1;in;i)x[i][j]cnt;for(int i1;in;i)for(int j1;jm;j)coutx[i][j] \n[jm];}else if(m%20){for(int i1;in;i)for(int j1;jm;j)x[i][j]cnt;for(int i1;in;i)for(int j1;jm;j)coutx[i][j] \n[jm];}else {for(int i1;in;i)for(int j1;jm;j)x[i][j]cnt;int yn/2,z0;for(int i1;in/2;i){for(int j1;jm;j)coutx[yi][j] \n[jm];for(int j1;jm;j)coutx[zi][j] \n[jm];}for(int j1;jm;j)coutx[n][j] \n[jm];}
}D. Bracket Walk 先看题目规则 给你一个长度为n的字符串q次指定修改位置x。你现在可以从字符串第一个字符开始左右随意走结束的位置必须是字符串最后一个位置。问你走过形成的字符串能不能实现括号匹配。
solve 1、匹配情况应形如这样此时可以直接走。 2、什么时候需要折返一边的括号不够需要多凑几次以便另一方配对的情况。 3、set容器记录 可以给 另一边括号缺少的情况下 提供括号的位置坐标。 4、形如此时(‘在偶数位’)‘在 奇数位。这样的情况可以提供贡献只有不行。 5、所以set存’(‘在奇数位’)‘在 偶数位此时的坐标。 6、修改指定位置时当set里若存在位置那该位置的括号变成正确的无法提供贡献。反之可以提供贡献折返可产生新的括号。 7、n为奇数时无法成功匹配。 8、当set里有数且最小位置的的括号为’)‘或最大位置的括号为’(时无法匹配。
void solve()
{cinnms;setllst;for(ll i0;in;i){if(i%21s[i]()st.insert(i);if(i%20s[i]))st.insert(i);}while(m--){ll pos;cinpos;pos--;if(st.count(pos)!0)st.erase(pos);else st.insert(pos);if(n1){coutNO\n;}else if(st.size()!0(*st.begin()%20||*st.rbegin()%21)){//cout(*st.rbegin())* ;coutNO\n;}else coutYES\n;}}