P1359租用游艇(dp+dfs)
2024-10-09 10:14:59
好久真的是好久没有做dp的问题了(QWQ)(我有学过这玩意???)
诶,人生呐!
今天来一个动归~
顺便可以回顾一下dfs.
这个题我觉得审题也非常重要
小可爱dp:
#include <bits/stdc++.h>
using namespace std;
int f[],n,i,j,x; //f[x]表示从1到x的距离
int main()
{
scanf("%d",&n);
for (i=;i<=n;i++)
for (j=i+;j<=n;j++)
{
scanf("%d",&x);
if (f[j]==||f[j]>f[i]+x) //如果j还没有到过或者到j的距离比原来短
f[j]=f[i]+x; //替换
}
printf("%d\n",f[n]); //输出到n的距离
}
//好久没有写dfs啦
// Created by snnnow on 2020/7/19.
// #include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <queue>
using namespace std;
int n,m[][],ans=;
void dfs(int ,int);//层数,方法数
int main(){
scanf("%d",&n);
for (int i = ; i <= n; ++i) {
for (int j = i+; j <= n ; ++j) {
scanf("%d",&m[i][j]);
} }
dfs(,);
printf("%d",ans);
}
void dfs(int c,int ways){//你用的是dfs!!!找递归边界!!!
if(ways>ans)
return ;//剪枝,剪掉多余的部分
if(c==n) {
ans = ways;
return;
}
for (int i = +c; i <=n ; ++i) {//枚举下游各个点
dfs(i,ways+m[c][i]); } }
最新文章
- 【EasyUI】 日期格式化
- IoC原理-使用反射/Emit来实现一个最简单的IoC容器
- 响应式内容滑动插件jQuery.bxSlider
- java之并发编程:Lock
- Glide 加载图片
- JSP 和 ASP.NET 谁能主宰未来【转】
- python中如何用dis模块来查看py的汇编代码?
- List怎么遍历删除元素
- android外包公司——最新案例铁血军事手机客户端(IOS &; Android)
- Backbone.js developer 武汉 年薪8w-10w
- Bootstrap的竞争对手Zurb Foundation
- IOS 修改UIImage大小
- Maven实战(九)——打包的技巧
- go实例之轻量级线程goroutine、通道channel与select
- java创建线程
- JDK8 HashMap--removeNode()移除节点方法
- ;html5斜体字
- 数据库SQL SELECT查询的工作原理
- Vux使用经验
- (转)Linux企业运维人员最常用150个命令汇总