luogu p1004
2024-08-27 06:44:33
P1004
题意
- 类似一个比较小的方格(N<=9),有的点是0,有的点有数, A->B的路径经过的点加上该点代表的数,求两次A->B的最大解(最优解)
- 一个令人恼的问题是两条路径如果有重合点,那么势必回算两次,所以是不合题意的。而先得一次的最大解,并不一定是两次的最优解
- 这里可以控制两条路径dp[i][j][k][l],(i,j),(k,l)是两条路径,然后可以动态规划做(如何处理重复经过的点呢,可以想一想!!)
- 据说有些大佬可以用dfs和网络流做
- dp可以优化到O(n^2) 不过自己还没掌握
代码
int maxPath(){
for(int i=1;i<=N;i++){
for(int j=1;j<=N;j++){
for(int k=1;k<=N;k++){
for(int l=1;l<=N;l++){
dp[i][j][k][l]=std::max(std::max(dp[i-1][j][k-1][l],dp[i-1][j][k][l-1]),std::max(dp[i][j-1][k-1][l],dp[i][j-1][k][l-1]))+mp[i][j]+mp[k][l];
if(i==k&&j==l) dp[i][j][k][l]-=mp[i][j];
}
}
}
}
return dp[N][N][N][N];
}
最新文章
- 通过JDBC进行简单的增删改查(以MySQL为例)
- WPF实现TextBox水印效果
- aix DNS 配置以及网络命令traceroute和nslookup 和 dig 命令
- 2016第20周四java基础概念
- cocos2d-html5的jsb模式下如何在编译时自动将js编译为jsc
- I - Tunnel Warfare - hdu 1540(区间合并更新)
- webstorm 激活码
- C#面试题记录
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
- sql server 与 sql server compact 互相数据导入
- Busybox构建根文件系统和制作Ramdisk
- STM32L476应用开发之八:便携式气体分析仪项目总结
- poj3009 Curling 2.0(很好的题 DFS)
- Oracle 11g透明网关连接Sqlserver
- java基础---->;数组的基础使用(二)
- hdu1527下沙小面的(二)
- Termux中安装gcc-7/gfortran-7实操过程,安装成功可以编译Fortran,c/c++
- 使用windows live writer发表的博客
- 浅谈cocosd之autorelease\retain\release的理解
- ES6之class 中 constructor 方法 和 super 的作用