当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
sync.Mutex源码解读
National teacher qualification examination in the first half of 2022
剑指 Offer 58 - II. 左旋转字符串
Reader writer model
[to be continued] [UE4 notes] L2 interface introduction
浅谈JVM(面试常考)
On-off and on-off of quality system construction
Hang wait lock vs spin lock (where both are used)
剑指 Offer 09. 用两个栈实现队列
第六章 数据流建模—课后习题
随机推荐
Web APIs DOM节点
On-off and on-off of quality system construction
YOLOv5添加注意力機制
搭建完数据库和网站后.打开app测试时候显示服务器正在维护.
[trans]: spécification osgi
Binary search basis
一个新的微型ORM开源框架
Haut OJ 1352: string of choice
Zzulioj 1673: b: clever characters???
Research on the value of background repeat of background tiling
[allocation problem] 455 Distribute cookies
Animation scoring data analysis and visualization and it industry recruitment data analysis and visualization
软件测试 -- 0 序
Find a good teaching video for Solon framework test (Solon, lightweight application development framework)
xftp7与xshell7下载(官网)
每日一题-无重复字符的最长子串
利用HashMap实现简单缓存
第六章 数据流建模—课后习题
To be continued] [UE4 notes] L4 object editing
Drawing dynamic 3D circle with pure C language