P3758 [TJOI2017]可乐
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]可乐相关推荐
- 洛谷P3758 [TJOI2017]可乐
原题链接:洛谷P3758 [TJOI2017]可乐 题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: ...
- 洛谷 P3758 [TJOI2017]可乐
洛谷 P3758 [TJOI2017]可乐 Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行 ...
- [洛谷P3758][TJOI2017]可乐
题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...
- 洛谷P3758/BZOJ4887 [TJOI2017] 可乐 [矩阵快速幂]
洛谷传送门,BZOJ传送门 可乐 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 299 Solved: 207 Description 加里敦星球的 ...
- [bzoj 4887] [Tjoi2017]可乐
传送门 Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市 ...
- [TJOI2017]可乐(矩阵快速幂)
题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...
- [TJOI2017]可乐
Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...
- BZOJ4887:[TJOI2017]可乐(矩阵乘法)
Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...
- 【bzoj4887】[Tjoi2017]可乐 矩阵乘法
题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆.它每一秒都会随机 ...
最新文章
- jQuery中getJSON跨域原理详解
- 深入研究敏捷的成功因素
- iptables实现网络防火墙及地址转换
- 内地计算机科技学校,23所内地顶尖高校盘点!计算机学科哪家强?
- React开发(263):react中处理时间的判断
- python基本语法:字典
- arraylist扩容是创建新数组吗 java_Java编程之数组扩容
- 小米组织架构调整:雷军兼任中国区总裁 组建大家电部门
- 基于JAVA+SpringMVC+Mybatis+MYSQL的OA办公管理系统
- 数据结构与算法之三直接插入排序
- 最大公约数(超级好的板子)
- 关于Zxing生成DM二维码变形问题总结
- 柯特斯公式的matlab代码,牛顿-柯特斯公式C语言的实现.pdf
- nodejs代码将word转成图片
- 使用docer创建spring boot镜像
- Vertica数据库介绍
- ElasticSearch 聚合查询 JavaApi
- java 将xxxx年x月x日转换成xxxx/xx/xx,日期格式化个位数前补0
- 新唐芯片学习笔记——GPIO
- BNU Training 2017.07.20 【(2+1+0.233)/11】[待补]
热门文章
- Node响应中文时解决乱码问题
- SpringBoot+Jquery+Jstree实现企业架构管理
- EasyUI中搜索框的简单使用
- Vue中怎样获取json文件中的数据
- Vue使用vue-pull-refresh插件实现下拉刷新
- mysql的show profile使用总结
- Flutter Web实战项目打造真正跨平台应用(windows,android,ios,linux,macos,web)
- oracle getsqltxt函数,Oracle 性能优化的基本方法概述(2)
- DataX在有赞大数据平台的实践
- (转)MySQL索引原理及慢查询优化