Post

要转PY了

在研究动规问题的时候,看了不少大神的代码,发现Python好像天生就适合做动态规划。

比如同样都是要剪枝,Cpp需要判断条件:

1
2
3
4
int& res = memo[i];
if (res) {
return res;
}

而Python只需要一个缓存装饰器就解决了:

1
@cache

又比如用Cpp写的这句:

1
2
3
4
auto dfs = [&](auto&& dfs, int i) -> int {
if (i <= 0) {
return 0;
}

[&]是Lambda表达式,-> int是lambda函数的返回类型声明。

在Py里,是这样的:

1
2
3
def dfs(i: int) -> int:
            if i <= 0:
                return 0

不需要显式的捕获列表,能自动捕获外部作用域的变量。

这么多年坚守C/C++做题,在省事这个方面落后了。

感觉Py直接把好多东西都自动化了。

明天开始所有的动规都用Py来写。

This post is licensed under CC BY 4.0 by the author.