本文主要是介绍CF 793D Presents in Bankopolis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
D. Presents in Bankopolis
一个有向图,节点“有序”,找一条长度为k的最短路径,额外要求是当前边不能“跃过”已经经过的节点。
起点的选择范围是[1,n]然后每经过一个点,下一个能到达的点的范围就会缩小,注意到总可以用一个连续的范围表示之,记为[l,r]。那么用dp解决,状态dp[l][r][k]表示可达范围是[l,r],已经走了k步。
貌似dp写成记忆化搜索更符合我的思维,但是这题写记忆化会T。。改递推还改了半天。。
以后能写递推的题,我再写记忆化我就是SB!!!
#include <bits/stdc++.h>using namespace std;#define ll long longconst int INF = 1e9;int n,k;
int
这篇关于CF 793D Presents in Bankopolis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!