BZOJ 1898: [Zjoi2004]Swamp 沼泽鳄鱼(矩阵乘法)
可以发现,如果没有鳄鱼,那么就是裸地一道题,但是可以发现鳄鱼最多每12次重复,那么就少于12的那部分dp,其他的就矩阵乘法就行了
PS:第一次吧矩阵乘法AC了好开心QAQ
CODE:
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#define mod 10000#define maxn 60using namespace std;struct mat{ int n,m,a[maxn][maxn]; mat(){n=m=0;memset(a,0,sizeof(a));} int I(int _x){n=m=_x;for (int i=1;i<=n;i++) a[i][i]=1;}};mat operator *(const mat &x,const mat &y){ mat ans; ans.n=x.n; ans.m=y.m; for (int i=1;i<=ans.n;i++) for (int j=1;j<=ans.m;j++) for (int k=1;k<=x.m;k++){ ans.a[i][j]+=x.a[i][k]*y.a[k][j]; ans.a[i][j]%=mod; } return ans;}mat power(mat x,int y){ mat ans;ans.I(x.n); for (;y;y>>=1){ if (y&1) ans=ans*x; x=x*x; } return ans;}int n,m,s,e,fn,ti;bool b[60][60];int a[20][7],t[60],f[60][60][15];int main(){ scanf("%d%d%d%d%d",&n,&m,&s,&e,&ti); for (int i=1;i<=m;i++) { int x,y; scanf("%d%d\n",&x,&y); x++;y++; b[x][y]=b[y][x]=1; } scanf("%d",&fn); for (int i=1;i<=fn;i++) { scanf("%d",&t[i]); for (int j=1;j<=t[i];j++) {scanf("%d",&a[i][j]);a[i][j]++; } } for (int i=1;i<=n;i++) f[i][i][0]=1; for (int i=1;i<=12;i++) for (int j=1;j<=n;j++) for (int k=1;k<=n;k++){ for (int l=1;l<=n;l++) if (f[j][l][i-1]&&b[l][k]) (f[j][k][i]+=f[j][l][i-1])%=mod; for (int l=1;l<=fn;l++) if (a[l][i%t[l]+1]==k) {f[j][k][i]=0;} } mat x,y; x.n=x.m=y.n=y.m=n; for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) x.a[i][j]=f[i][j][12]; x=power(x,ti/12); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) y.a[i][j]=f[i][j][ti%12]; x=x*y; printf("%d",x.a[s+1][e+1]); return 0;} |
BZOJ 1898: [Zjoi2004]Swamp 沼泽鳄鱼(矩阵乘法)的更多相关文章
- BZOJ 1898: [Zjoi2005]Swamp 沼泽鳄鱼 [矩阵乘法]
1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1082 Solved: 602[Submit][S ...
- BZOJ 1898: [Zjoi2004]Swamp 沼泽鳄鱼( dp + 矩阵快速幂 )
----------------------------------------------------------------------- #include<cstdio> #incl ...
- bzoj 1898 [Zjoi2005]Swamp 沼泽鳄鱼——矩阵快速幂
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1898 当然是邻接矩阵做转移矩阵来快速幂. 对于鳄鱼,好在它们周期的lcm是12,也就是每12 ...
- 【BZOJ-1898】Swamp 沼泽鳄鱼 矩阵乘法
1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1012 Solved: 566[Submit][S ...
- BZOJ 1898: [Zjoi2005]Swamp 沼泽鳄鱼
1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1085 Solved: 604[Submit][S ...
- 【BZOJ1898】[Zjoi2005]Swamp 沼泽鳄鱼 矩阵乘法
[BZOJ1898][Zjoi2005]Swamp 沼泽鳄鱼 Description 潘塔纳尔沼泽地号称世界上最大的一块湿地,它地位于巴西中部马托格罗索州的南部地区.每当雨季来临,这里碧波荡漾.生机盎 ...
- bzoj 1898: [Zjoi2005]Swamp 沼泽鳄鱼【dp+矩阵快速幂】
注意到周期234的lcm只有12,也就是以12为周期,可以走的状态是一样的 所以先预处理出这12个状态的转移矩阵,乘起来,然后矩阵快速幂优化转移k/12次,然后剩下的次数暴力转移即可 #include ...
- BZOJ1898: [Zjoi2004]Swamp 沼泽鳄鱼
1898: [Zjoi2004]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 478 Solved: 286[Submit][St ...
- 1898: [Zjoi2005]Swamp 沼泽鳄鱼
1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1582 Solved: 870 [Submit][S ...
随机推荐
- JavaScript------处理Json数据
//JSON相关函数 JSON.parse(); //将JSON字符串转换为JavaScript对象JSON.stringify(); //将JavaScript值转换为JSON字符串 1.//JSO ...
- Use Wireshark to capture loopback traffic without a loopback adapter (转)
Use Wireshark to capture loopback traffic without a loopback adapter If you’ve ever used Wireshark f ...
- Selenium2(java)启动常用浏览器 三
默认启动firefox浏览器 Webdriver driver = new FirefoxDriver(); 启动谷歌浏览器 配置chromedriver WebDriver driver; Syst ...
- 13.TCP的超时与重传
TCP提供可靠的运输层.它使用的方法之一就是确认从另一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这种问题.如果当定时器溢出时还没有收到确认,它就重传该数据. 对于 ...
- JS判断doctype文档模式-document.compatMode
IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有 ...
- 最简化模型——css3分阶段动画效果(经过实测)
body { background: #dcdcdc; -webkit-animation: colorin 5s; /* chrome调用属性 */ animation: colo ...
- Delphi拷贝目录(含子目录)的方法
要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下: WINSHELLAPI int WINAPI SHFileOperation( LPSHF ...
- DOM总结
一.DOM概念 1.DOM:Document Object Model 文档对象模型 (1) 文档:html页面: (2) 文档对象:页面中的元素: (3) 文档对象模型:代表的是一套准则.标准,是 ...
- C++中的trivial解释
Trivial default constructor The default constructor for class T is trivial (i.e. performs no action) ...
- python yield generator 详解
本文将由浅入深详细介绍yield以及generator,包括以下内容:什么generator,生成generator的方法,generator的特点,generator基础及高级应用场景,genera ...