2018.8.29

Pre

所以Jerry童鞋你又把题给都错啦?! —— 李植武

难受啊今天T1在调试了3个小时的T2正解失败之后心态爆炸,最后连T1题面都看错了导致最后的暴力都过不了阳样例……

T1

一上来就觉得T1是一道Dp,但是DAG上的Dp还不是很熟练,所以第一眼看这个题的时候就感觉有点慌张【所以首先心态就是错误的,抱着一种我没有做过我很慌的心态】,最后第一次就没有读懂题意,慌慌张张看下一题去了……

首先可以看出这道题就是一道多源多汇的最长路问题,数据范围告诉我们N^2枚举会爆炸,所以考虑如何O(N)搞搞……【当然题首先要读对】

当然是记忆化搜索转移Dp状态啦!但是Dp状态如何定义的呢?分析一下题意【很多Dp状态的定义都是根据题目本身所需要来定义的,而有些靠模型的积累】,首先状态必须要记录当前节点是什么,我们还需要知道哪些信息才能转移呢?

1、已经走过的最长路;
2、走一条单源汇最长路花的最小时间;

【Dp状态的定义如果有3个元素需要被记录,那么其中两个作为数组的下标,另一个作为Dp的值转移】

这道题可以定义Dp(u,j)=x表示从某个终点到u这个点,已经走过了j个景点所需要花费的最短时间为x,转移就很好转移了,采用刷表法,不赘述。

边界条件就是当Dfs到某个点的时候,如果它是出口,那么其走一个点花费是走出该点所花费的排队的时间。

统计答案的时候就是对于已经得到的Dp值得每一个入口,得到从大到小枚举Dp状态中的j,Check算上进入入口的时间之后其最小时间是否满足要求,满足就取最大值作为答案……

T2

大力推式子,二分最后一个合法点,NlogN复杂度由于我没有草稿纸所以倒在了推式子的第二步上真难受啊,没有A掉这个水题……

T3

只听懂了思路,但是表示不会写程序下一个谢谢……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值