当前位置:网站首页>Educational Codeforces Round 107 (Rated for Div. 2) E. Colorings and Dominoes
Educational Codeforces Round 107 (Rated for Div. 2) E. Colorings and Dominoes
2022-07-05 05:27:00 【solemntee】
Our idea on this question is , Look at the picture horizontally and vertically .
Obviously, only one color needs to be considered horizontally and vertically .
The problem became 1*n Of all the o square value and .
We can dp Find out , Regard red and blue as 01 strand .
The length is i Of value and
Equal to the length of i-1 Of value and *2 Plus the length is i-1 Of 01 The end of the string is continuous 1 Is the number of odd strings .
And then it's fun ac 了
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod=998244353;
ll dp[300005];
char s[300005];
ll poww[300005];
vector<int>pos1[300005],pos2[300005];
int main()
{
ll ji=1,ou=1;
dp[1]=0;
poww[0]=1;
poww[1]=2;
for(int i=2;i<=300000;i++)poww[i]=poww[i-1]*2%mod;
for(int i=2;i<=300000;i++)
{
ll tj=ji,to=ou;
ou=(tj+to+tj)%mod;
ji=to;
dp[i]=(2*dp[i-1]+tj)%mod;
}
int n,m;
scanf("%d%d",&n,&m);
int cnt=0;
ll ans=0;
for(int i=1;i<=n;i++)
{
scanf("%s",s+1);
for(int j=1;j<=m;j++)
if(s[j]=='o')pos1[i].push_back(j),pos2[j].push_back(i),cnt++;
}
for(int i=1;i<=n;i++)
{
int temp=0,last=-1;
for(auto x:pos1[i])
{
if(x==last+1)temp++,last=x;
else
{
ans=(ans+poww[cnt-temp]*dp[temp])%mod;
temp=1,last=x;
}
}
if(temp)
{
ans=(ans+poww[cnt-temp]*dp[temp])%mod;
}
}
for(int i=1;i<=m;i++)
{
int temp=0,last=-1;
for(auto x:pos2[i])
{
if(x==last+1)temp++,last=x;
else
{
ans=(ans+poww[cnt-temp]*dp[temp])%mod;
temp=1,last=x;
}
}
if(temp)
{
ans=(ans+poww[cnt-temp]*dp[temp])%mod;
}
}
printf("%lld",ans);
return 0;
}
边栏推荐
- Es module and commonjs learning notes -- ESM and CJS used in nodejs
- 服务熔断 Hystrix
- YOLOv5-Shufflenetv2
- Haut OJ 1357: lunch question (I) -- high precision multiplication
- object serialization
- Corridor and bridge distribution (csp-s-2021-t1) popular problem solution
- 读者写者模型
- Under the national teacher qualification certificate in the first half of 2022
- Warning using room database: schema export directory is not provided to the annotation processor so we cannot export
- Insert sort
猜你喜欢
随机推荐
[转]MySQL操作实战(一):关键字 & 函数
Programmers' experience of delivering takeout
[allocation problem] 455 Distribute cookies
Yolov5 adds attention mechanism
On-off and on-off of quality system construction
Haut OJ 1401: praise energy
Heap sort summary
Reader writer model
Add level control and logger level control of Solon logging plug-in
Acwing 4301. Truncated sequence
[merge array] 88 merge two ordered arrays
[轉]: OSGI規範 深入淺出
Haut OJ 1357: lunch question (I) -- high precision multiplication
To the distance we have been looking for -- film review of "flying house journey"
每日一题-搜索二维矩阵ps二维数组的查找
Web APIs DOM节点
Under the national teacher qualification certificate in the first half of 2022
记录QT内存泄漏的一种问题和解决方案
Drawing dynamic 3D circle with pure C language
PMP考生,请查收7月PMP考试注意事项