专栏文章
CF1864
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqzeac6
- 此快照首次捕获于
- 2025/12/04 13:14 3 个月前
- 此快照最后确认于
- 2025/12/04 13:14 3 个月前
E
CPPconst int modo = 998244353;
int a[200005];
long long ans = 0;
void dfs(int l,int r,int num_l,int num_r)
{
if (l == r)
{
return;
}
int num_mid = (num_l + num_r) >> 1;
if (num_mid == num_l)
{
ans += (r-l) * (r-l);
return;
}
int mid = lower_bound(a+l,a+r,num_mid) - a;
ans += (long long)(mid - l) * (r - mid) * 3;
dfs(l,mid,num_l,num_mid);
ans += (long long)(r - mid) * (r - mid);
dfs(mid,r,num_mid,num_r);
}
int power(int x,int y)
{
if (y == 0)
{
return 1;
}
int t = power(x,y/2);
t = (long long)t * t % modo;
if (y % 2 == 1)
{
t = (long long)t * x % modo;
}
return t;
}
int main()
{
#ifdef absi2011
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
int t;
scanf("%d",&t);
int zu;
for (zu=0;zu<t;zu++)
{
ans = 0;
int n;
scanf("%d",&n);
int i;
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
dfs(0,n,0,1<<30);
ans %= modo;
ans *= power(n, modo - 2);
ans %= modo;
ans *= power(n, modo - 2);
ans %= modo;
printf("%lld\n",ans);
}
return 0;
}
D
CPPchar a[3005][3005];
int tag[3005][3005][4];
int main()
{
#ifdef absi2011
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
int t;
scanf("%d",&t);
int zu;
for (zu=0;zu<t;zu++)
{
int n;
scanf("%d",&n);
int i;
for (i=0;i<n;i++)
{
scanf("%s",a[i]);
}
for (i=0;i<n;i++)
{
int j;
for (j=0;j<n;j++)
{
int k;
for (k=0;k<4;k++)
{
tag[i][j][k] = 0;
}
}
}
int ans = 0;
for (i=0;i<n;i++)
{
int j;
for (j=0;j<n;j++)
{
int k;
int xors = 0;
for (k=0;k<4;k++)
{
xors ^= tag[i][j][k];
}
if ((a[i][j] ^ xors) == '1')
{
tag[i][j][3] ^= 1;
ans ++;
}
for (k=0;k<4;k++)
{
if (!tag[i][j][k])
{
continue;
}
if ((j != 0) && ((k & 1) != 0))
{
tag[i+1][j-1][k & 1] ^= 1;
}
tag[i+1][j][0] ^= 1;
if ((j != n-1) && ((k & 2) != 0))
{
tag[i+1][j+1][k & 2] ^= 1;
}
}
}
}
printf("%d\n",ans);
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...