上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页
摘要: 转自 :http://www.cppblog.com/vici/archive/2011/09/05/155103.aspx容斥原理(翻译) 前言: 这篇文章发表于http://e-maxx.ru/algo/inclusion_exclusion_principle,原文是俄语的。由于文章确实很实用,而且鉴于国内俄文资料翻译的匮乏,我下决心将其翻译之。由于 俄语对我来说如同乱码,而用Google直接翻译中文的话又变得面目全非,所以只能先用Google翻译成英语,再反复读,慢慢理解英语的意思,实在是弄 得我头昏脑胀。因此在理解文章意思然后翻译成中文的时候,中文都不知道如何表述了... 阅读全文
posted @ 2012-11-18 15:30 Szz 阅读(3495) 评论(1) 推荐(5)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3879好纠结的一道题啊 ,竟然 卡网络流的算法 。。。。。。用 dinic tle 。。。。改为 isap 过了。。。。。。。 题意:有n<= 5000个点可以用来建Station,题目给出了m个xi yi ci表示建立xi和yi个站点公司将获利ci,修建每个站点还需要成本, 让你求如何修建站点能使公司的收益最大?题解: 找出依赖关系 要获得利益 ci 则 要 有建立 站 a 和 站 b 所以 添加一个 点 c 权值 为正 ,要修的 站 权值 为 负 连接 c->a .c->b ; 然后 求 阅读全文
posted @ 2012-11-10 17:03 Szz 阅读(408) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3996题意 :题意:有n个金矿,每个金矿开发需要一定的价值,开发之后可以获得一定的价值,而且一些金矿受到另一些金矿的限制,即开采这个金矿之前要开采限制它的金矿,问最多可以获得多少价值。 题解: 很明显的 最大权闭合图 金矿 ,有 开采的 花费 和价值 ,那么 开采的 利益就 是 价值 - 花费 ; 如果某个金矿的开发利润为正值,就在源点和该点之间连一条容量为该利润的边如果某个金矿的开发利润为负值,就在该点和汇点之间连一条容量为该利润绝对值的边如果某个金矿收到另一个金矿的限制,就在两个金矿之间连一条容量... 阅读全文
posted @ 2012-11-10 13:06 Szz 阅读(346) 评论(0) 推荐(0)
摘要: 详见 国家集训队 论文 2007 胡伯涛 《最小割模型在信息学竞赛中的应用》首先说几个我看时疑惑的问题 1:为什么 割里面的点集就是闭合 图 ?答:由于 我们见图时,将原图的 边的容量 变为 了 inf,而 割 是 不回 包含这些边的 ,他只能是 个 s或 t相连的 所以 ,我们 割里面的边 ,要么 是有 s 点出发 到的 本节点 ,要么 是 本节点 到达 t 节 的 边,而 s 和 t 是我们 虚拟的点 ,不会有其他的边所以 ,是一个 闭合图 。2: 如何 将 最大权 闭合图 中的 点 输出 ? 首先我们 知道 ,我们选的最小割的 割边 是 满边 ,所以 根据 残留网络的 容量 见图 分成了 阅读全文
posted @ 2012-11-03 11:45 Szz 阅读(304) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2987题意:公司要由于经济 问题 要 裁员工,已知,要采取某个 员工,那么 他的下属也将被 裁去,给出 裁出 n 个员公的 所获的利益 (可负 可正) ,员工之间的关系 i j,i 以 j 做为 他的下属 求在获得 最大利益的情况下 ,最少 裁 多少人 。输出 裁的人数 和 利益 。 题接: 因为 员工 i 以 其上司的 存在 而 存在, 所以 他们 之间 有 依赖关系 , 可应用 最大权闭合图,求解 。View Code 1#include<cstdio>2#include<cstring>3#include< 阅读全文
posted @ 2012-11-03 11:38 Szz 阅读(232) 评论(0) 推荐(0)
摘要: http://codeforces.com/problemset/problem/231/C题意:有 n 个数 ,你有 k 个 1 向这 n 个数加 (也可以 不加),求 使经过操作后 , 相同的数最多 为 多少,这个数的数值为多少?题解:排序 + 优化。。。。1#include<stdio.h>2#include<iostream>3#include<algorithm>4#include<cstring>5#include<cmath>6#include<queue>7#include<set>8#incl 阅读全文
posted @ 2012-10-28 20:49 Szz 阅读(205) 评论(0) 推荐(0)
摘要: http://codeforces.com/problemset/problem/192/B题意: 有 n 个地板 ,你可以 从 i 跳到 i +1 也可以 跳到 i + 2 ,我们的任务是 从 i 跳到 n 下雨了 ,每个 地板 有 能够 坚持的 天数 a[i] , 求最多 多少天以后 我们 还可以 跳到 n 地板 。题解: dp . 看到跳到 n 点的 有 两个点 n-1点 和 n - 2点 所以 我们 用 dp[i] 表示最长 dp[i]天 后 一样 能够 跳到 第 i 个点; dp[i] = min(max(dp[i - 1],dp[i - 1]) ,a[i]) ; ... 阅读全文
posted @ 2012-10-26 22:13 Szz 阅读(251) 评论(0) 推荐(0)
摘要: Robberieshttp://acm.hdu.edu.cn/showproblem.php?pid=2955 背 包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱最脑残的是把总的概率以为是抢N家银行的概率之和…把 状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋); 正确的方程是:f[j]=max(f[j],f[j-q[i].money]*q[i].v)其中,f[j]表示抢j块大洋的最大的逃脱概率,条件是f[j-q[i].money]可达,也就是之前抢劫过;始化为:f[0. 阅读全文
posted @ 2012-10-26 21:30 Szz 阅读(376) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1087题意: 求最大上升子序列 。。。。1#include<cstdio>2#include<cstring>3#include<cmath>4#include<iostream>5#include<algorithm>6#include<set>7#include<map>8#include<queue>9#include<vector>10#include<string>11#defin 阅读全文
posted @ 2012-10-26 21:27 Szz 阅读(173) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3694题意: 给一幅图,若干个操作,每个操作时连接两个点,对于每个操作之后的图判断图中还有几条割边 题解 : tarjan + lca ;//将不是割边上的点缩为一个点,然后统计割边,求添加一条边之后,割边减少了多少,就是从两个点出发 //到达他们最近的公共祖先,他们经过了几条割边,然后减去经过的割边数,就是答案,这里用到了lca //并查集1#include<cstdio>2#include<cstring>3#include<cmath>4#include<iostream>5#inclu 阅读全文
posted @ 2012-10-18 15:59 Szz 阅读(356) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页