博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A. 【UR #16】破坏发射台
阅读量:4348 次
发布时间:2019-06-07

本文共 1606 字,大约阅读时间需要 5 分钟。

题解:

首先看n是偶数的

那么就是不需要满足对面这个性质的

这样就可以dp了 f[i][0/1]表示dp到第i位,当前数等于或不等于第一位的方案数

然后显然可以用矩阵优化

再考虑n为奇数

用一样的思路,把环切成两半,先确定两个对应位置的值,再进行dp

f[i][0/1/2][0/1/2]表示dp到i位,下面这个数等不等于上面第一个,等不等于下面第一个(同理上面)

发现这个可以dp,依旧用矩阵优化一波

转移方程稍微有点复杂,有个对拍就轻松多了

另外注意f不能表示成f[i][0/1][0/1]表示和不同侧的起始点

原因是这样转移的时候会出现问题,无法确定它旁边的点和同侧的起始点之间的颜色关系(非常的绕口)

注意别少取模

#include 
using namespace std;#define ll long longstruct re{ ll a[10][10];}aa;ll a[9][9],n,m;#define mo 998244353re XX(re x,re y){ re tmp; memset(tmp.a,0,sizeof(tmp.a)); for (ll i=1;i<=8;i++) for (ll j=1;j<=8;j++) for (ll k=1;k<=8;k++) tmp.a[i][k]+=x.a[i][j]*y.a[j][k], tmp.a[i][k]%=mo; return tmp; }re fast_pow(ll x){ if (x==1) return(aa); re b=fast_pow(x/2); b=XX(b,b); if (x%2==1) b=XX(b,aa); return (b); }int main(){ freopen("noip.in","r",stdin); freopen("noip.out","w",stdout); cin>>n>>m; if (n%2==0) { a[1][1]=(m-4)*(m-4)+(m-3); a[1][2]=a[1][3]=a[1][4]=a[1][7]=(m-3)*(m-4)+(m-3); a[1][6]=a[1][8]=(m-2)*(m-3); a[2][1]=a[2][3]=m-3; a[2][4]=a[2][6]=a[2][7]=m-2; a[3][2]=a[3][1]=m-3; a[3][4]=a[3][7]=a[3][8]=m-2; a[4][1]=a[4][7]=m-3; a[4][2]=a[4][3]=a[4][8]=m-2; a[7][1]=a[7][4]=m-3; a[7][2]=a[7][3]=a[7][6]=m-2; a[6][1]=a[6][2]=a[6][7]=a[6][8]=1; a[8][1]=a[8][3]=a[8][4]=a[8][6]=1; for (ll i=1;i<=8;i++) for (ll i=1;i<=8;i++) for (ll j=1;j<=8;j++) aa.a[i][j]=max(0*1ll,a[i][j]%mo); /* for (ll i=1;i<=8;i++) { for (ll j=1;j<=8;j++) cout<
<<" "; cout<

 

转载于:https://www.cnblogs.com/yinwuxiao/p/8660939.html

你可能感兴趣的文章
hiho一下 第一百零七周 Give My Text Back(微软笔试题)
查看>>
常用正则表达式
查看>>
6.2.7 Math对象的使用
查看>>
Windows server 2008 R2配置多个远程连接的教程
查看>>
PHP 重置数组为连续数字索引的几种方式
查看>>
南阳理工acm 88-汉诺塔(一)
查看>>
160809308周子济第六次作业
查看>>
大型Web应用运行时 PHP负载均衡指南
查看>>
为phpStorm 配置PHP_CodeSniffer自动检查代码
查看>>
测试工具网址大全(转)
查看>>
ServiceStack DotNet Core前期准备
查看>>
webpack中‘vant’全局引入和按需引入【vue-cli】
查看>>
Date、String和Timestamp类型转换
查看>>
计算机的组成
查看>>
CSS命名规范
查看>>
初始化构造函数中定义的实体集合,方便嵌套类型的遍历
查看>>
状压dpHDU - 4856
查看>>
java.nio.ByteBuffer 类 缓冲区
查看>>
PL/SQL系列1-PL/SQL介绍
查看>>
关于render函数的总结
查看>>