algorithm ch15 FastWay
这是DP最基础的一个问题,刚开始学习这一块,实现了一下,不要黑我巨长的参数表,新手。
代码如下:
void FastWay(int l1[], int l2[], int e1, int e2, int x1, int x2, int t1[], int t2[], int n)
{
int f1[] ={};
int f2[] ={};
int l[] = {};
f1[] = e1 + l1[];
f2[] = e2 + l2[];
int lres = ;
int fres = ;
int offset = ; for(int i = ; i < n; ++i)
{
if((f1[i-] + l1[i]) <= (f2[i-] + t2[i-] + l1[i]))
{
l[i] = ;
f1[i] = f1[i-] + l1[i];
}
else
{
f1[i] = f2[i-] + t2[i-] + l1[i];
l[i] = ;
}
if(f2[i-] + l2[i] <= f1[i-] + t1[i-] + l2[i])
{
l[i+] = ;
f2[i] = f2[i-] + l2[i];
}
else
{
l[i+] = ;
f2[i] = f1[i-] + t1[i-] + l2[i];
}
}
if(f1[n-] + x1 <= f2[n-] + x2)
{
lres = ;
fres = f1[n-] + x1; }
else
{
lres = ;
fres = f2[n-] + x2;
offset = ;
}
PrintWayRecurse(l, lres, n);
}
void PrintWayRecurse(int l[], int lres, int n)
{
if(n == )
return;
int offset = ; if(lres == )
{
offset = ;
}
else
{
offset = ;
}
PrintWayRecurse(l, l[n - +offset], n- );
cout << "line " << lres << " station " << n << endl; }
这里是迭代输出的,当时教c语言的老湿真的是极力的反对我们用迭代,所有的迭代都可以用顺序语句实现,可是现在看算法这块好多将迭代的,感觉思维有点跟不上,困惑。
然后写了个顺序执行的:
void PrintWay(int l[], int lres, int offset, int n)
{
if(offset == )
{
cout << "line " << << " station" << n << endl;
}
else
{
cout << "line " << << " station" << n << endl;
}
for(int i = n-; i> ; --i)
{
cout << "line " << l[i + offset] << " station" << i << endl;
if(l[i+offset] == )
offset = ;
else
offset = ;
}
cout << "test" ;
}
代码有点乱,新手。。。
algorithm ch15 FastWay的更多相关文章
- 挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法
转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的 ...
- PE Checksum Algorithm的较简实现
这篇BLOG是我很早以前写的,因为现在搬移到CNBLOGS了,经过整理后重新发出来. 工作之前的几年一直都在搞计算机安全/病毒相关的东西(纯学习,不作恶),其中PE文件格式是必须知识.有些PE文件,比 ...
- [异常解决] windows用SSH和linux同步文件&linux开启SSH&ssh client 报 algorithm negotiation failed的解决方法之一
1.安装.配置与启动 SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有 ...
- [Algorithm] 使用SimHash进行海量文本去重
在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(L ...
- Backtracking algorithm: rat in maze
Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a clas ...
- [Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型
深度学习掀开了机器学习的新篇章,目前深度学习应用于图像和语音已经产生了突破性的研究进展.深度学习一直被人们推崇为一种类似于人脑结构的人工智能算法,那为什么深度学习在语义分析领域仍然没有实质性的进展呢? ...
- [Algorithm] 群体智能优化算法之粒子群优化算法
同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...
- [Evolutionary Algorithm] 进化算法简介
进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”.进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编 ...
- Debian 8 jessie, OpenSSH ssh connection server responded Algorithm negotiation failed
安装了debian 8.5 就出问题了. root@debian8:~# lsb_release -aNo LSB modules are available.Distributor ID: Debi ...
随机推荐
- 第五篇Python基本数据类型
运算符 1. 结果是具体的值:算数运算符和赋值运算符 算数运算符:+.-.*./.**(幂).%(取余).//(取商) print(3-2) # 减法 print(3*2) # 乘法 print(3/ ...
- Kubernetes实战 高可用集群搭建,配置,运维与应用
1-1 K8S导学 1-2 搭建K8S集群步骤和要点介绍 1-3 搭建三节点Ubuntu环境 1-4 安装容器引擎 1-5 下载Kubeadm.node组件和命令行工具 1-6 向集群中加入worke ...
- ActiveRecord-连接多张表之单表继承
ActiveRecord-连接多张表之单表继承 1. 基本概念 Rails提供了两种机制,可以将复杂的面向对象模型映射为关系模型,即所谓的单表继承(single-table inheritance)和 ...
- C++ 学习笔记之——输入和输出
在 C++ 中,我们通过调用输入输出流库中的流对象 cin 和 cout 来实现输入和输出. #include <iostream> using namespace std; int ma ...
- Codeforces Round #326 Div.1 C.Duff in the Army 树上倍增
题意概述: 给出一棵N个结点的树,然后有M个居民分散在这棵树的结点上(允许某个结点没有居民).现在给出一些询问形如u,v,a,定义k=min(x,a),其中x表示的是u->v路径上的居民数量.将 ...
- websocket协议详解;
websocket是基于http协议,借用http协议来完成连接阶段的握手: 当连接建立后,浏览器和服务器之间的通信就和http协议没有关系了,b.s之间只用websocket协议来完成基本通信. = ...
- 基于C#的PISDK研究(理论)
本篇文章主要对PISDK体系结构以及重点类进行阐述. 当我们决定使用PISDK时,可能会使用到下面的类库: 在上表中,PISDK.dll为核心类,大部分主要功能都在该类中.PISDKCommon.dl ...
- 在delphi中如何解决空格的问题。。。。烦死 了。。。。
我每次从数据库里面取数据出来和Edit里面的进行比较的时候总是会受到空格的困扰...老是干扰我...如果我用trim 所有都做去掉所有的空格那么这样就非常麻烦又繁琐..有没有什么方法可以忽略空格的.. ...
- well-known file is not secure
执行jstack pid时,提示well-known file is not secure. 原因是pid的启动用户不是当前用户,需要切换到启动用户下执行jstack即可. 可以通过如下命令来处理: ...
- 【bzoj4516】[Sdoi2016]生成魔咒 后缀数组+倍增RMQ+STL-set
题目描述 魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示.例如可以将魔咒字符 1.2 拼凑起来形成一个魔咒串 [1,2].一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒. 例如 S=[1,2 ...