第81场周赛
希望我下次不用再写这种东西
这次比赛被国强打爆,希望下次可以有所进步。
T2:等差数列
这其实是一个暴力,但是由于参加CSP与NOIp,对于题目的难度想象过高,想的过于复杂,用了个差分的方法,结果还没卡过,最后比赛完了才发现可以暴力,铁汁一定要关注数据范围啊!
T3:卡牌
其实是一个不困难的递推,通过样例的找规律可以发现(我特么没时间干这事了):对于碰到的任意的一个B字符而言,我们相当于要把上面的每一个B字符都操作一遍(因为操作这一次后一定会把上面的牌都变成蓝色),那么可以比较轻松地得到递推公式:
ai=
∑
j
=
1
i
−
1
+
1
\sum_{j=1}^{i-1}+1
∑j=1i−1+1,递推边界是a1=1。那么可以很容易地推出:ai=2i-1。那么只要将字符串遍历一遍把所有B字符对应地操作轮数相加即可。
第82场周赛
首次AK,无感想。
第83场周赛
T3:构造序列
这个题目实际上没有什么意思,一个发散思维的题,随便一个玄学做法都可以过(但我的却被卡掉了):
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n, m;
int main()
{
cin >> n >> m;
if (1 == n && 0 == m)
{
printf("%d", 1);
return 0;
}
if (1 == n || n / 2 > m) cout << -1 << endl;
else
{
int cnt = n / 2;
printf("%d %d ", m - cnt + 1 ,2 * (m - cnt + 1));
int i = 1, j;
for (i = 2 * (m - cnt + 1) + 1, j = cnt - 1; j > 0; i += 2, --j)
printf("%d %d ", i, i + 1);
if (n & 1) printf("%d", i);
}
return 0;
}
作者:我懒
链接:https://www.acwing.com/solution/content/156507/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
P.S.:我tm突然发现我就是个神必,我到底在干什么?这么简单的构造题没做出来?下次不比了,没意思。