关于三个简单的图论算法prim,dijkstra和kruskal三个图论的算法,初学者容易将他们搞混,所以放在一起了。prim和kruskal是最小生成树(MST)的算法,dijkstra是单源最短路径的算法。prim最小生成树prim算法采用了贪心策略:把点分成两个集合,A为已被处理(已经在最小生...
分类:
其他好文 时间:
2014-07-12 00:34:01
阅读次数:
216
Best Cow LineTime Limit:1000MSMemory Limit:65536KTotal Submissions:9284Accepted:2826DescriptionFJ is about to take hisN(1 ≤N≤ 2,000) cows to the annua...
分类:
其他好文 时间:
2014-07-09 14:20:50
阅读次数:
2624
题目:10602 - Editor Nottoobad
题目大意:有一个机子它由press的动作还有copy和delete字符的动作。给一组字符串,问要输入这样的一组字符串,最少要执行的press动作。
解题思路:将这一组字符串按照ascall码排序后,这样前后两个字符串的相似度是比较高的。然后后一个字符串和前一个字符串相比,看有多少相同的可以copy,就只要统计一下不相同的字...
分类:
其他好文 时间:
2014-07-08 19:33:44
阅读次数:
218
题意:给你正视和侧视图,求最多多少个,最少多少个
思路:贪心的思想,求最少的时候:因为可以想象着移动,所以我们统计每个视图不同高度的个数,然后计算,至于的话,就是每次拿正视图的高度去匹配侧视求最大
#include
#include
#include
#include
using namespace std;
const int MAXN = 1000;
int k;
int vie...
分类:
其他好文 时间:
2014-07-08 17:30:56
阅读次数:
149
今天简直大爆发啊。。。吃了顿烧烤居然这么管事。。。。。本弱渣居然做出来了3道,而且B题是我第一次在CF中用到算法。。(以前最多也就是贪心。。。)。
题目地址:codeforces#225
A题:
水题。。不解释。。5分钟1Y。
代码如下:
#include
#include
#include
#include
#include
#include
#include
using...
分类:
其他好文 时间:
2014-07-08 16:22:17
阅读次数:
118
题目:10670 - Work Reduction
题目大意:给出n, m, L.n代表老板给的全部的paperworks的数量,m代表最终剩下的数量,L代表由这么多家公司需要你来计算最小的花费。
解题思路:
1、L家公司l行。每行由公司的名字 :A,B; A代表一份paperwork需要的money,B则代表帮你减少到总共的paperworks的数量一半要话费的money。注意这里...
分类:
其他好文 时间:
2014-07-08 13:07:08
阅读次数:
197
HDU 3366 Passage (概率DP)
题目大意:
T组测试数据,一个人困在了城堡中,有n个通道,m百万money ,每个通道能直接逃出去的概率为 P[i] ,遇到士兵的概率为 q[i],遇到士兵得给1百万money,否则会被杀掉,还有 1-p[i]-q[i] 的概率走不通,要回头。问在可以选择的情况下,逃出去的概率是多少?
解题思路:
首先,n个通道要选择哪个先走哪个后走呢?如果暴力是2^n,显然不可取。只需要贪心,选择逃生概率最大的通道,也就是 p[i]/q[i]最大的优先。
用 dp[i]...
分类:
其他好文 时间:
2014-07-06 09:32:28
阅读次数:
273
题目:10700 - Camel trading
题目大意:给出一些表达式,表达式由数字和加号乘号组成,数字范围【1,20】。这些表达式可能缺少了括号,问这样的表达式加上括号后能得到的最大值和最小值。
解题思路:因为这些数的都是正整数,所以可以用贪心。不然看出最大值就是先做完加法在做乘法,最小值就是先做乘法在做加法。注意这里的数值要用long long 因为比表达式的值可能会超过int...
分类:
其他好文 时间:
2014-07-05 23:43:50
阅读次数:
221