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. python requests 重新定向错误 requests.exceptions.TooManyRedirects: Exceeded xx redirects 解决方法
  2. 图像处理--线line 提取
  3. 人工蜂群算法_如果你的团队能够像人工蜂群一样战斗
  4. [vue] 说说你对vue组件的设计原则的理解
  5. PAT乙级(1011 A+B 和 C)
  6. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
  7. element ui后台html_Github上10 个优秀的后台控制面板
  8. 彩虹QQ查看对方ip原理
  9. 公钥,私钥,对称密钥
  10. Windows 11中Edge选单看不清显示异常的解决办法
  11. 个人隐私的泄露在日常工作、生活、学习中,每个人都要学会保护自己的个人隐私
  12. 关于数据安全及保密(基于大数据板块的整理)
  13. 【计算机视觉】文字检测与识别资源
  14. 操作Android手机路由表
  15. Linux过来人帮你理清学习思路
  16. 用nginx搭建视频链接
  17. Fusion 360安装教程
  18. 利用bootstrap写的后台管理系统主页模板
  19. 仿射变换和透视变换矩阵的参数含义与区别
  20. 源码分析学习记录(12)——自动UV展开

热门文章

  1. SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)
  2. Android中怎样在工具类中获取Context对象
  3. Oracle11g服务详细介绍及哪些服务是必须开启的?
  4. SpringBoot中操作spring redis的工具类
  5. C#中怎样连接数据库并将查询结果转为实体类以及如何加入事务
  6. Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
  7. Docker中部署mysql数据库
  8. EasyUI中Datebox日期框的简单使用
  9. 常用邮箱申请渠道有哪些?此文给你讲清楚了
  10. 运营,如何用数据说话?(以电商活动复盘为例)