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号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆.它每一秒都会随机 ...
最新文章
- python requests 重新定向错误 requests.exceptions.TooManyRedirects: Exceeded xx redirects 解决方法
- 图像处理--线line 提取
- 人工蜂群算法_如果你的团队能够像人工蜂群一样战斗
- [vue] 说说你对vue组件的设计原则的理解
- PAT乙级(1011 A+B 和 C)
- [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
- element ui后台html_Github上10 个优秀的后台控制面板
- 彩虹QQ查看对方ip原理
- 公钥,私钥,对称密钥
- Windows 11中Edge选单看不清显示异常的解决办法
- 个人隐私的泄露在日常工作、生活、学习中,每个人都要学会保护自己的个人隐私
- 关于数据安全及保密(基于大数据板块的整理)
- 【计算机视觉】文字检测与识别资源
- 操作Android手机路由表
- Linux过来人帮你理清学习思路
- 用nginx搭建视频链接
- Fusion 360安装教程
- 利用bootstrap写的后台管理系统主页模板
- 仿射变换和透视变换矩阵的参数含义与区别
- 源码分析学习记录(12)——自动UV展开
热门文章
- SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)
- Android中怎样在工具类中获取Context对象
- Oracle11g服务详细介绍及哪些服务是必须开启的?
- SpringBoot中操作spring redis的工具类
- C#中怎样连接数据库并将查询结果转为实体类以及如何加入事务
- Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
- Docker中部署mysql数据库
- EasyUI中Datebox日期框的简单使用
- 常用邮箱申请渠道有哪些?此文给你讲清楚了
- 运营,如何用数据说话?(以电商活动复盘为例)