P3758 [TJOI2017]可乐


这个题是利用了邻接矩阵的性质

即:对于一个邻接矩阵\(E\),表示从\(E[i][j]\)到\(i\)到\(j\)路径长度为1的方案数是多少。那么\(E^k[i][j]\)表示从\(i\)到\(j\)路径长度为\(K\)

对这个题

对于走到其他城市,就可以直接使用邻接矩阵想乘

而对于原地不动,我们可以理解成向当前的城市添加一个自环就行了

然后对于自爆,我们就是前一秒的方案数都存下来,我们就可以设一个零号城市,所有城市都可以到他,然后这个城市无法到达其他城市

然后就可以愉快的快速幂了

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
const int maxn=110;
const int RQY=2017;
struct node
{int n,m;int map[maxn][maxn];node (int n=0,int m=0){memset(map,0,sizeof(map));}node operator * (const node &a)const {node res;res.n=n,res.m=a.m;for(int i=0;i<=n;i++)for(int j=0;j<=res.m;j++)for(int k=0;k<=m;k++)res.map[i][j]=(res.map[i][j]+map[i][k]*a.map[k][j])%RQY;return res;}
};
node A,C;
node kasumi(node b,int t)
{node Res=b;t--;while(t){if(t&1)Res=Res*b;t>>=1;b=b*b;}return Res;
}
int main()
{int n,m,T;scanf("%d%d",&n,&m);A.n=n;A.m=n;for(int i=0;i<=n;i++)   A.map[i][i]=A.map[i][0]=1;int a,b;for(int i=1;i<=m;i++){scanf("%d%d",&a,&b);A.map[a][b]++;A.map[b][a]++;}scanf("%d",&T);C=kasumi(A,T);int tot=0;for(int i=0;i<=C.m;i++)tot=(tot+C.map[1][i])%RQY;printf("%d",tot);
}

转载于:https://www.cnblogs.com/Lance1ot/p/9612519.html

P3758 [TJOI2017]可乐相关推荐

  1. 洛谷P3758 [TJOI2017]可乐

    原题链接:洛谷P3758 [TJOI2017]可乐  题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: ...

  2. 洛谷 P3758 [TJOI2017]可乐

    洛谷 P3758 [TJOI2017]可乐 Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行 ...

  3. [洛谷P3758][TJOI2017]可乐

    题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...

  4. 洛谷P3758/BZOJ4887 [TJOI2017] 可乐 [矩阵快速幂]

    洛谷传送门,BZOJ传送门 可乐 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 299  Solved: 207 Description 加里敦星球的 ...

  5. [bzoj 4887] [Tjoi2017]可乐

    传送门 Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市 ...

  6. [TJOI2017]可乐(矩阵快速幂)

    题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...

  7. [TJOI2017]可乐

    Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...

  8. BZOJ4887:[TJOI2017]可乐(矩阵乘法)

    Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...

  9. 【bzoj4887】[Tjoi2017]可乐 矩阵乘法

    题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆.它每一秒都会随机 ...

最新文章

  1. jQuery中getJSON跨域原理详解
  2. 深入研究敏捷的成功因素
  3. iptables实现网络防火墙及地址转换
  4. 内地计算机科技学校,23所内地顶尖高校盘点!计算机学科哪家强?
  5. React开发(263):react中处理时间的判断
  6. python基本语法:字典
  7. arraylist扩容是创建新数组吗 java_Java编程之数组扩容
  8. 小米组织架构调整:雷军兼任中国区总裁 组建大家电部门
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的OA办公管理系统
  10. 数据结构与算法之三直接插入排序
  11. 最大公约数(超级好的板子)
  12. 关于Zxing生成DM二维码变形问题总结
  13. 柯特斯公式的matlab代码,牛顿-柯特斯公式C语言的实现.pdf
  14. nodejs代码将word转成图片
  15. 使用docer创建spring boot镜像
  16. Vertica数据库介绍
  17. ElasticSearch 聚合查询 JavaApi
  18. java 将xxxx年x月x日转换成xxxx/xx/xx,日期格式化个位数前补0
  19. 新唐芯片学习笔记——GPIO
  20. BNU Training 2017.07.20 【(2+1+0.233)/11】[待补]

热门文章

  1. Node响应中文时解决乱码问题
  2. SpringBoot+Jquery+Jstree实现企业架构管理
  3. EasyUI中搜索框的简单使用
  4. Vue中怎样获取json文件中的数据
  5. Vue使用vue-pull-refresh插件实现下拉刷新
  6. mysql的show profile使用总结
  7. Flutter Web实战项目打造真正跨平台应用(windows,android,ios,linux,macos,web)
  8. oracle getsqltxt函数,Oracle 性能优化的基本方法概述(2)
  9. DataX在有赞大数据平台的实践
  10. (转)MySQL索引原理及慢查询优化