摘要:大致题意:货币兑换,n种货币,m种兑换关系,是否存在一种赚钱途径,有输出"Yes",没有则输出"No"。可能的赚钱方式是这样的:假设有A,B,C三种货币,兑换关系是A 0.5 B,B 10.0 C,C 0.21 A。显然 0.5*10.0*0.21=1.05>1 可以赚钱。用少量的A可以换更多的A。思路:显然要找出每两种货币间的最大利率,然后判断货币i对其自身的利率是否大于一。直接floyd就可以过。但是因为是乘法,需要注意dist初始化问题。。View Code 1 #include<iostream> 2 #include<c
阅读全文
摘要:非常恶心的最短路。。我wa了一中午,因为VC的限制,long long运行不了,但是这题又需要定义一个大于int的常数,自己写了一段代码无限wa。。。题目不算难,就是有点恶心。。直接floyd暴力就可以水过。。不纠结,日后有空再写一遍。附上代码: 1 #include <iostream> 2 #include <stdio.h> 3 #include <memory.h> 4 #include <cmath> 5 using namespace std; 6 7 const long long INF = 99999999999LL; //注意
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3342拓扑排序的水题,利用拓扑排序判环。 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 #define maxn 1005 5 int g[1005][1005]; 6 int top,vis[maxn],rudu[maxn],n; 7 void topo() 8 { 9 int i;10 for(i=0;i<n;i++)11 {12 if(!rudu[i]&&!vis[i])1
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3666这题网上搜到的代码几乎都是错的,很多都是用队列写,然后判断负权回路都是大于sqrt(n)。这不科学。。。这题的正解是DFS版SPFA,或者改用栈写。题意:给你一个N*M的矩阵,求两列数a1,a2,a3...an 和 b1,b2.....bm使得对矩阵中的每个数进行下面的操作之后的值在[L,U]之间,操作为:a[i] * m[i][j] / b[j]。 N,M<=400思路:差分约束。由题意可知,对于矩阵中的每个元素要满足的条件是:L <=a[i] * m[i][j] / b[j] <=
阅读全文
摘要:这题属于神奇的分组背包问题,思路是:先按brand排序 然后用两个状态转移方程对同品牌和不同品牌稍作区别即可;代码:View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 struct node{ 6 int b,p,v; 7 }a[1010]; 8 int max(int a,int b) 9 {10 return a>b?a:b;11 }12 bool cmp(node a,node b)13 {14 return
阅读全文
摘要:题目大意:有一个小偷要偷银行的钱,可是他偷没家银行总是有一定的概率被抓,现在给了你一个概率P,只要他被抓的概率乘积不大与P,他就是安全的。问你在他安全的情况下,他最多可以偷多少钱。思路:做这道题时,错误的认为题目所给的浮点型的数据都是精确到小数点后两位,然后把概率放大100倍,转换成为熟悉的01背包。。faint。。经测试题目的数据可能达到0.00001,甚至比0.00001还小,,所以必须转换思路。于是转成以所有银行的总资产为背包容量sum。。求最大的逃跑概率。。注意:题目给我们的是被抓的概率,,而我们要求最大的逃跑率,需要去被抓的概率wi的补 ,即1-wi只有逃跑率才会等于各个逃跑率之积,
阅读全文
摘要:hdu : http://acm.hdu.edu.cn/showproblem.php?pid=1503题意:两种水果杂交出一种新水果,现在给新水果取名,要求这个名字中包含了以前两种水果名字的字母,并且这个名字要尽量短。也就是说以前的一种水果名字x是新水果名字s的子序列,另一种水果名字y也是新水果名字s的子序列。要你求s。做法:用求最长公共子序列的方法,求出x和y的最长公共子序列,然后再用递归思想,逐一输出,得到的就是最后答案。代码:View Code 1 #include<stdio.h> 2 #include<string.h> 3 int c[1010][1010
阅读全文
摘要:Crixalis's EquipmentTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1419Accepted Submission(s): 578Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though he's a guardian of Lich King now,
阅读全文