- POJ1860 货币兑换(单源最短路径)
Onlyan
ACM解题报告
给定N种货币,某些货币之间可以相互兑换,现在给定一些兑换规则,问能否从某一种货币开始兑换,经过一些中间货币之后,最后兑换回这种货币,并且得到的钱比之前的多。可以把初始兑换的货币看成源点,采用bellman-ford进行求解,若可以实现要求,则说明图中存在可以无限增大的环,这个可以通过bellman-ford算法判断环是否存在求出来,若在求解过程中发现已经兑换回原货币,并且钱比之前多,则可以直接退出
- poj1860 spfa判断负环
追求和名字一样的级别
poj题解
题目链接:点击打开链接题意:一个人有一种钞票,面值S;银行有N种钞票,每两种钞票之间可以进行兑换;其规则是:S'=(S-com)*rate其中com是手续费,rate是兑换率,S'是最终的钱;问经过多次兑换后,钱是否会增加;理解:这就是一个负环问题;不过说起来应该叫“正环”;先建图,然后推导递推式;把递推是改一下就可以知道;递推式:d[v]=max(d[v],fac(d[u]));其中fac()是
- POJ 1860 Currency Exchange(BellmanFord算法的变形,求正环)
weixin_34214500
/*POJ1860有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100-0.39)*29.75=2963.3975B币。问s币的金额经过交换最终得到的s币金额数能否增加货币的交换是可以重复多次的,所以我们需要找出是否存在正权回路,且最后得到的s金额是增加的怎么找正权回路呢?(正权回路:在这一回路上,顶点的权值能不
- POJ1860 SPFA判断正环
mxrmode
题目大意:给定N种货币,某些货币之间可以相互兑换,现在给定一些兑换规则,问能否从某一种货币开始兑换,经过一些中间货币之后,最后兑换回这种货币,并且得到的钱比之前的多。思路:一种货币可以看成一个点。一个点出发,最后回到自己时反而变大,说明题目中有正环。所以,只要多设一个数组储存有没有点被松弛n次(即自己也被自己松弛)即可。简而言之,本体就是判断“负环”。/*Time:0msmemory:408k*/
- Chapter4——图——最短路径算法
crishawy
1.题目列表POJ1860(判断正环,Bellman-Ford、SFPA算法)POJ3259(判断负环,任意起点,Floyd算法)POJ1062(访问深度限制的Djkstra算法)POJ2253(待完成)POJ1125(待完成)POJ2240(待完成)2.POJ1860——CurrencyExchange2.1题目描述DescriptionSeveralcurrencyexchangepoints
- 【POJ1860】Currency Exchange
bamboohiko
【POJ1860】CurrencyExchange题目链接:http://poj.org/problem?id=1860题意是,现在有几种钞票,可以在这些钞票中进行兑换,兑换时必须将手中的钞票全部兑换成另一种,给出一些兑换的方式,每种方式有固定的钞票类型,手续费和兑换比例,最开始你有一些某种类型的钞票,问是否能是手中的钞票增多(最后仍需兑换成原来的钞票)。问题的本质是在图中找到一个正环,使手中钞票
- Currency Exchange_解题报告_POJ1860
jpwang8
DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspecializesintwoparticularcurrenciesandperformsexchangeoperationsonlywiththesecurrencies.Therecanbeseveralpointsspe
- 【POJ1860】Currency Exchange
bamboohiko
ACMpoj图论最短路SPFA
【POJ1860】CurrencyExchange题目链接:http://poj.org/problem?id=1860题意是,现在有几种钞票,可以在这些钞票中进行兑换,兑换时必须将手中的钞票全部兑换成另一种,给出一些兑换的方式,每种方式有固定的钞票类型,手续费和兑换比例,最开始你有一些某种类型的钞票,问是否能是手中的钞票增多(最后仍需兑换成原来的钞票)。问题的本质是在图中找到一个正环,使手中钞票
- poj1860 货币转换 spfa+Bellman-Ford
FengTwoYear
CurrencyExchangeTimeLimit: 1000MS MemoryLimit: 30000KTotalSubmissions: 24042 Accepted: 8729DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspecializesintwoparticul
- poj1860 - Currency Exchange
chedan666
ACMpoj最短路
题目网址:http://poj.org/problem?id=1860题目:TimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:23979Accepted:8696DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspeciali
- Bellman-ford变形 poj1860 Currency Exchange
meixiuxiudd
Bellman-Ford
//bellman-ford算法
//判断有无环
//对于每条路进行更新,最大的环为n-1,所以最多进行n-1次更新(其实就是以s为原点的一个最短路的树)
//那么对于第n次,还能进行更新那么就能存在环
//模板:
dis[s]=0;
MEM(dis,inf);
for(inti=1;idis[edge[j].u]+edge[j].cost){
dis[edge[j].v]=dis[edge[j]
- poj1860 解题报告
poj
题意:这里有N种货币,分别记为1~N,有M种货币交换的方式,每一种方式有A,B两种钱币,有RAB, CAB, RBA and CBA,四个数,表示交换率, Nick手上有其中的一种货币S,货币S的钱数为V,问你能否通过一定次数的钱币交换让Nick手中的钱增加
分析:
这里是要判断回路,那么可以用spfa 加一个入队次数的数组来判别是否有回路,也可以用bellman,这里要注意的是,松
- poj1860(spfa判正环)
SPFA
题目连接:http://poj.org/problem?id=1860
题意:有多种从a到b的汇率,在你汇钱的过程中还需要支付手续费,那么你所得的钱是 money=(nowmoney-手续费)*rate,现在问你有v钱,从s开始出发交换钱能不能赚钱。
分析:如何存在正环,能无限增加钱,肯定可以赚了,因此用spfa判一下即可
#include <cstdio>
- [POJ1860 Currency Exchange]
Exchange
[题目来源]:Northeastern Europe 2001, Northern Subregion
[关键字]:图论
[题目大意]:套汇问题,汇率为rab,增加一个手续费cab,那么每次套汇的结果是(本金-手续费cab)*汇率rab,现在给出一个人所拥有的货币类型以及拥有该类型货币的总量,需要判断的是经过一系列货币交换后,他能不能是他的货币增值.
//==================
- poj1860 Bellman_Ford算法
poj
Currency Exchange
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 21922
Accepted: 7910
Description Several currency exchange points are wo
- POJ 2240题(Bellman-Ford)
poj
//解题思路:类似于POJ1860题,是Bellman-Ford算法的变形#include <iostream>#include <map>#include <string>using namespace std;#define arraysize 10000 //边值数组开得大一些,否则会出现RE错误typedef struct node
- POJ 3259 Wormholes
orm
类似于 POJ1860 求解负权回路问题,不过考虑到图可能不连通,所以需添加一个超级节点,与各顶点的初始距离均为1000
#include
<
iostream
>
using
namespace
std;
int
main(){
int
F, N , M,
- POJ1860——Bellman_ford——Currency Exchange
Exchange
Description Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular currencies and performs exchange operations only with these currenci
- poj1860
poj
题意:有若干种货币,某些币种之间可兑换,给出各种兑换时的汇率和手续费,任何兑换都是双向的,但是两个方向的汇率和手续费可能不同,并告知你现在拥有的货币种类(只拥有一种)及数量,问是否可以通过货币建兑换最后回到本币种后钱数有所增加。
分析:普通的货币兑换一般都是用floyd。但是本题除了汇率还多出一个条件——手续费,所以不能简单地使用floyd。我用的是spfa求最长路,检查是否有环路。从自己的币种
- poj1860
poj
Currency Exchange
Description Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular c
- POJ-3259 Wormholes bellman
orm
该题题意非常有意思,问是否能够时空穿梭。
这题与前面所做的POJ1860很相似,只是这里说明两点:
1.所以逇路都是双向的,洞是单向的。
2.bellman算法中,需要虚拟出一个节点,让其能够通向所有的节点(或者直接将所有点的距离都赋值为相同值)。这样就只要一次bellman算法就可以了。
代码如下:
#include <cstring>
#include <cst
- poj1860解题报告(两种解法)
pp634077956
算法poj
给定一些站点可以交换货币,判断持有某一种货币的人是否可以增值财产.解法1:基本思路是寻找一个正环,包含出发点s.没有用Bellman_ford算法,采用的是深度搜索优先(DFS),当一个节点被访问过之后,再次访问,就说明找到了一条回路.这时候需要判断找到的回路是不是正的.比较当前节点的货币数量与出发时节点的货币数量(一个节点可能有很多货币状态,因为可以通过不同的途径到达该节点,所以需要利用一个栈把
- POJ1860 Currency Exchange 最短路bellman-ford
wust_ZJX
CurrencyExchangeTimeLimit: 1000MS MemoryLimit: 30000KTotalSubmissions: 23456 Accepted: 8489DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspecializesintwoparticul
- poj1860
gu_solo
Exchangecurrencyacm1860
涉及算法:BellMan-Ford题目大意:给定几种货币和他们之间的交换关系,交换关系由汇率rab和手续费cab组成,举个例子若A-->B的交换关系为rab、cab,则用数量为v的货币A交换B可以得到的B的数量为:(v-cab)*rab。问s货币是否能够在若干次交换后数量增加题目分析:建立模型:每种货币都是一个结点,结点A—>B之间的权值为:(v-cab)*rab,找一条从s结点可以到达且权值为正
- poj1860(bellman ford 算法)
martinue
ACM图大一
DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspecializesintwoparticularcurrenciesandperformsexchangeoperationsonlywiththesecurrencies.Therecanbeseveralpointsspe
- poj1860
stay_accept
链接:点击打开链接题意:钱的种类为N,M条命令,拥有种类为S这类钱的数目为V,命令为将a换成b,剩下的四个数为a对b的汇率和a换成b的税,b对a的汇率和b换成a的税,公式为(钱数-税)*汇率代码:#include
#include
#include
#include
#include
#include
usingnamespacestd;
intn,m,s,vis[105];
doublew,di
- poj1860 最短路 无限增大环
became_a_wolf
CurrencyExchangeTimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:22980 Accepted:8294DescriptionSeveralcurrencyexchangepointsareworkinginourcity.Letussupposethateachpointspecializesintwoparticularcu
- poj1860 bellman—ford队列优化 Currency Exchange
Exchange
Currency Exchange
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 22123
Accepted: 7990
Description Several currency exchange points are working in our city. L
- 【POJ 1860】 Currency Exchange
ChallengerRumble
ACM最短路SPFAbellman
【POJ1860】CurrencyExchange模拟货比交易输入数据n货币种类m交易种类s初始货币类型v初始持币数m行分别为AB(该种交易的两种货币A、B)RAB,CAB,RBA,CBAA->B和B->A的交易汇率和手续费交易后金额为(s-c)*r最短路模板题遍历看是否有正环(即可无限增加资本)写了两种做法SPFA比BellMan耗时长可啪SPFA#include
#include
#inclu
- POJ1860 Currency Exchange 反向bellman-ford
AC_Gibson
题目大意:在一个城市中存在n中货币,编号1到n,货币之间可以进行兑换,两种货币之间的兑换率为r,兑换时的手续费为c,这就意味着,假如你有100美元想要兑换成卢布,美元和卢布之间的兑换率为29.75,手续费为0.39的话,你能得到(100-0.39)*29.75=2963.3975卢布。现在已知n种货币和m中货币之间的兑换关系,每个兑换关系包括:可以相互兑换的两种货币a和b,以及货币a对b的兑换率r
- Spring中@Value注解,需要注意的地方
无量
springbean@Valuexml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
- mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
- OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
- Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
- canvas中的像素绘制问题
换个号韩国红果果
JavaScriptcanvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
- 编码乱码问题
灵静志远
javajvmjsp编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
- java 求几个月后的日期
darkranger
calendargetinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
- 数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
- 想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
- Context和SQLiteOpenHelper创建数据库
百合不是茶
androidContext创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
- 浅谈group by和distinct
bijian1013
oracle数据库group bydistinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
- vi opertion
征客丶
macoprationvi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
- 【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
- java类加载机制
BlueSkator
java虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
- 动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input 
- 读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
- iOS应用打包发布常见问题
chenhbc
iosiOS发布iOS上传iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
- 工作流复杂拓扑结构处理新思路
comsci
设计模式工作算法企业应用OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
- oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
- 多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
- C语言学习七动态分配 malloc的使用
dcj3sjt126com
clanguagemalloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
- Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
- 0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt
- Java父类取得子类传递的泛型参数Class类型
happyqing
java泛型父类子类Class
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao<T> {
public void getType() {
//Class<E> clazz =
- 跟我学SpringMVC目录汇总贴、PDF下载、源码下载
jinnianshilongnian
springMVC
----广告--------------------------------------------------------------
网站核心商详页开发
掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架;
掌握数据库技术,表设计和索引优化,分库分表/读写分离;
了解缓存技术,熟练使用如Redis/Memcached等主流技术;
了解Ngin
- the HTTP rewrite module requires the PCRE library
流浪鱼
rewrite
./configure: error: the HTTP rewrite module requires the PCRE library.
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. s
- 第12章 Ajax(中)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Optimize query with Query Stripping in Web Intelligence
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence
and a very straightfoward video
http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936
- Java开发者写SQL时常犯的10个错误
tomcat_oracle
javasql
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写Prepar
- 世纪互联与结盟有感
阿尔萨斯
10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。
全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。
众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟