博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU5779 Tower Defence (BestCoder Round #85 D) 计数dp
阅读量:4979 次
发布时间:2019-06-12

本文共 914 字,大约阅读时间需要 3 分钟。

分析(官方题解):

一点感想:(这个题是看题解并不是特别会转移,当然写完之后看起来题解说得很清晰,主要是人太弱

                这个题是参考faebdc神的代码写的,说句题外话,很荣幸高中和faebdc巨一个省,虽然本弱渣高中都没搞过oi)

 

              最短路不等于k,所以根本不存在最短路>=k的,因为存在的话,由最短路知识可知,k+1一定是由k更新过来的,矛盾

              所以最短路不等于k,即最短路小于k

              然后就是不管是多校还是bc,都能碰到有关图的计数类的dp问题,比如2016多校1的刚性图,计算连通二分图的数量

              这个题是计算无向图,满足最短路小于k的数量

              这类题对于我来说比较难,看了题解以后可能还好一点,关键是定义状态

              这个题定义的状态是f[i][j][k]很巧妙,在统计的时候可以保证不重不漏,在更新的时候,正好可以像求解最短路一样按距离一层一层更新

              只能说还是太年轻,不能定义出这么好的状态,既方便统计,又方便转移,总得来说还是要努力提高姿势

#include 
#include
#include
#include
#include
using namespace std;typedef long long LL;const int N = 65;const LL mod = 1e9+7;int T,n,m;inline LL up(LL x,LL y){ x+=y;if(x>=mod)x-=mod; return x;}LL f[N][N][N],pw2[N*N/2],pw2_1[N],c[N][N];void init(){ for(int i=0;i<=60;++i){ c[i][0]=c[i][i]=1; for(int j=1;j
View Code

 

转载于:https://www.cnblogs.com/shuguangzw/p/5722950.html

你可能感兴趣的文章
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
【Linux开发】CCS远程调试ARM,AM4378
查看>>
Linux之ssh服务介绍
查看>>
排序:冒泡排序
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>
Where does Visual Studio look for C++ Header files?
查看>>
Java打包可执行jar包 包含外部文件
查看>>
Windows Phone开发(37):动画之ColorAnimation
查看>>