E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
挑战程序设计竞赛!
nyoj-1182旅游【三进制状态压缩dp】
这个是经典状态压缩dptsp问题的变形首先来看看《
挑战程序设计竞赛
》讲解tsp问题:给定一个n个定顶点组成的带权有向图的距离矩阵d(i,j)(INF表示没有变)。
a915800048
·
2015-07-06 10:00
状态压缩dp
三进制状态压缩dp
POJ 2345 Central heating 题解《
挑战程序设计竞赛
》
POJ2345Centralheating中央暖气:冬天来了,但URAL大学的暖气系统还没启动。这个暖气系统包括许多阀门,只有所有阀门都打开了才能供应暖气。大学里有一些技术员,他们每人负责一个或多个阀门,有可能存在一个阀门由多个人负责的情况。当一个技术员接到启动暖气系统的指示后他就会把所有自己负责的阀门都转动一次。这意味着如果一个阀门原来是开的,他就把它关掉;如果原来是关的,就把它打开。任何一个技
hankcs
·
2015-07-05 21:00
GCJ Japan 2011 决赛 B 题解《
挑战程序设计竞赛
》
GCJJapan2011决赛B细菌繁殖:x个细菌一小时后繁殖为xx个,求A个细菌B小时后的数量模C的余?输入格式:第一行为整数T,代表T个测试用例。接着是T行,每行3个整数,代表ABC。其中数据范围如下——1≤T≤5001≤A≤10001≤C≤1000Small1≤B≤2Large1≤B≤1000输出格式:Case#X:N,X为用例ID,N为答案。示例如下——输入 输出51109972299722
hankcs
·
2015-07-04 22:00
POJ 2720 Last Digits 题解《
挑战程序设计竞赛
》
POJ2720LastDigits轮回:定义递归函数f(x)=bf(x-1) ifx>0,andf(0)=1,给出b和x,求f(x)的最后n位数。4.1更加复杂的数学问题 模运算的世界 不刷一题不足麻醉我幽愤苦楚的心绪。如果x比较小,则可以直接用防溢出的次方函数来做。否则,则需要利用数论公式:考虑到b和x的范围都固定了,所以可以做一个软cache,以应对题目的多case。#include #inc
hankcs
·
2015-05-18 00:00
挑战程序设计竞赛
poj 2431 优先队列
链接:http://poj.org/problem?id=2431感觉这个思路还是很巧妙的。。。经过每一个加油站的时候你无法知道这时候加油能不能保证得到的是符合题意的最优解,所以就需要换一个角度来思考,因为在加油站时无法判断,那么干脆就直接走到没油,回过头来判断走过的加油站里哪里需要加油,这里就比较容易想到肯定是尽可能的选择能加油最多的点进行加油,这样才能够保证最少的点。这样就可以看出需要运用到优
liujc_
·
2015-05-12 12:00
POJ 3708 Recurrent Function 题解《
挑战程序设计竞赛
》
POJ3708RecurrentFunction递归函数:定义函数其中 {ai}={1,2,…, d-1}and{bi}={0,1,…, d-1}定义递归形式现给出方程求最小非负解x。4.1更加复杂的数学问题 模运算的世界 没有数论的背景知识真的做不来这题。查了书,查了wiki,从倒闭的百度空间的Googlecache里抢救了一篇题解回来(真讽刺),加入了自己的注释,这才弄明白是怎么回事。。首先,
hankcs
·
2015-05-11 17:00
POJ 2115 C Looooops 题解《
挑战程序设计竞赛
》
POJ2115CLooooops循环次数:求for(variable=A;variable!=B;variable+=C)的循环次数,其中变量为k比特无符号整数。4.1更加复杂的数学问题 模运算的世界 数论真是虐狗。k位无符号整数溢出会归零,所以问题其实是求模线性方程Cx=B-A(mod2k)的最小解。于是参考《算法导论》P528的拓展欧几里得算法和P534的伪码:就行了。真如《算法导论》数论这章
hankcs
·
2015-04-30 22:00
POJ 1150 The Last Non-zero Digit 《
挑战程序设计竞赛
》
POJ1150TheLastNon-zeroDigit超大组合数:求超大组合数P(n,m)的最后一个非零位。4.1更加复杂的数学问题 模运算的世界 今天过节,管它什么节,对我来说都一样,来刷一题渲染一下节日气氛。终于刷到高级篇了,我却一点登峰造极的感觉。P(n,m)=n!/(n-m)!,问题归结于求n!的最后一个非零位。先把n!中所有的10因子去掉,问题归结于求最后一位。但是10不是质因数,不好处
hankcs
·
2015-04-30 15:00
挑战程序设计竞赛
2.3.3 有关计数问题的DP 多重集组合数
这小节公式的变形,开始没看懂,自己做了一下,这里留个笔记。变形后得出最终的递推公式。dp的意义说中有讲解。
Revivedsun
·
2015-04-28 12:00
挑战程序设计竞赛
多重部分和问题
就类似完全背包。。不过要恰好等于背包容量。。就是给n种数ai,各mi个,判断是否能从这些数字中选出若干个使他们的和为v。用dp求解,dp[i+1][j]表示前i种数字能否加和得到j。dp[i+1][j]只要dp[i][j-k*ai]有一个为真那么就为真。(0 #include #include #include usingnamespacestd; #defineM109 inta[M],m[M]
liujc_
·
2015-04-22 20:00
挑战程序设计竞赛
二叉堆(优先队列)的实现
几个概念:完全二叉树:是指除叶子节点那层外,叶子节点以上的第k层都含有2k个节点而且叶子节那层的节点都靠左方。满二叉树:与完全二叉树先比,多了连叶子节点也要全满的限制条件。堆的代码实现(数组实现):intheap[10000],sz=0; voidpush(intx){//向堆里面增加元素X inti=sz++,p; while(i>0){ p=(i-1)/2; if(x>=heap[p])br
jibancanyang
·
2015-04-17 18:00
heap
挑战程序设计竞赛
划分数,贝尔数,斯特灵数
斯特灵数:把n个数划分为恰好k个非空集合的个数,记为S(n,k)。且有:S(n,1)=S(n,n)=1。有递推关系式:S(n+1,k)=S(n,k−1)+kS(n,k−1)贝儿数:把n个数划分为非空集合的所有划分数。有:Bn=∑i=0nS(n,i)贝尔数的递推公式:Bn=∑k=0n(nk)Bk书上的划分数:书上求的是:把n个相同的数划分为不超过m个集合的方法总数。由于这n个数是相同的,就不能算作∑
jibancanyang
·
2015-04-17 11:00
dp
挑战程序设计竞赛
多重部分和问题(恰好装满的完全背包)
这里一般的完全背包做法:转化为01背包(可以对01背包进行二进制优化),复杂度是O(n∗V∗logV/cost[i]2)。这里巧妙的定义了一种方法让复杂度降到了O(n∗V)**转移方程思想:定义能装满dp[i][j]为容量为j时,第i种物品的剩余个数,则:if(dp[i-1][j]>=0),dp[i][j]=m[i];elseif(dp[i-1][j-cost[i]]=0)dp[j]=m[i];
jibancanyang
·
2015-04-11 15:00
dp
挑战程序设计竞赛
01背包变换对象
01背包式最简单的背包问题,书上是由深度优先搜索的记忆化搜索的递归实现到处递推的解决方法就是01背包,把所有i和j的情况都记下来,总共不过n*v种情况。而01背包之2是简单01背包变换对象之后的做法。题目描述如下:有n个价值和花费分别为weight[i]和cost[i]的物品,把这些物品装进容量为V的背包中,求最大价值?但是现在条件是:V<=109,weight[i]<100,n<100。这同普通
jibancanyang
·
2015-04-11 13:00
01背包
《
挑战程序设计竞赛
》 2^n类型的深搜
题意:从n个数中选取任意个数的数,看是否等于k。代码给出了十分清晰简洁的优雅递归写法。#include #include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongintLL; constintM=100009,INF=0x3ff
jibancanyang
·
2015-04-09 22:00
DFS
poj 1852思维题
背景:
挑战程序设计竞赛
上的题,好思维。来就想暴力枚举都还没有仔细思考有没有数学规律,n超过20就不适合用2的n次方的算法了。
jibancanyang
·
2015-04-09 18:00
数学
POJ 1284 Primitive Roots 题解《
挑战程序设计竞赛
》
POJ1284PrimitiveRoots原根个数:满足{(xi modp)|1<=i<=p-1}=={1,...,p-1}的x称为模p的原根。给出模p,求原根个数。4.1更加复杂的数学问题 模运算的世界 熟悉初等数论原根的性质的话,一眼就可以看出原根个数等于φ(φ(p)),φ为欧拉函数。证明详见《初等数论及其应用》249页定理9.5:像我这种数学文盲,是自我扫盲了好久才知道原根原来有这么个性质,
hankcs
·
2015-04-06 00:00
poj 3616 Milking Time DP
还是一道《
挑战程序设计竞赛
》上的基础题目题目大意:给一头奶牛挤奶,一共在N时间内,奶牛能下M次奶,但是每次挤完,都要休息R分钟才能接着挤,每次下的奶的数量不一样,给出每次下奶的时间段,和下奶量,求如何能让挤出的奶最多思路
qdbszsj
·
2015-04-05 19:00
dp
ACM
poj
3616
AOJ 2215 Three Silhouettes 未解 《
挑战程序设计竞赛
》
AOJ2215ThreeSilhouettes三面剪影:给定x,y,z三个面上的投影,求确定的多角柱围成的立体的最大体积。输入格式:nx表示垂直于x轴的平面上的点个数,紧接着是它们的逆时针序的坐标。以此类推,最后3个0表示输入终止。输出格式:输出每个测试用例对应的最大体积并换行。误差不超过10-3即可。3.6与平面和空间打交道的计算几何 数值积分 被这题难哭了,约莫一个月前看了题干,又看了出题方的
hankcs
·
2015-04-04 15:00
AOJ 2201 Divide the Cake 题解 《
挑战程序设计竞赛
》
AOJ2201DividetheCake分蛋糕:长H宽W的长方形上有2n个草莓,求在两个边上任取两点构成直线恰好将草莓评分的概率?3.6与平面和空间打交道的计算几何 数值积分 开学了,近乡情更怯,好难过,刷一题缓解一下。在左边任取一点后,一定有两条直线是邻接情况。让这一点在自己的的领域上下移动,另一边的有效范围变化如图:变化量为ε(W-x1)/x1-ε(W-x2)/x2,对此积分即可。然而并不是所
hankcs
·
2015-03-01 23:00
POJ 3689 Equations 题解 《
挑战程序设计竞赛
》
.+ CnXnst A1X1 + A2...继续阅读:码农场»POJ3689Equations题解《
挑战程序设计竞赛
》原文链
hankcs
·
2015-02-27 03:00
POJ 3246 Game 题解 《
挑战程序设计竞赛
》
不难想到去掉的点一定是凸包的顶点,于是就可以2000MS+水过去:#include #include #include #include using namesp...继续阅读:码农场»POJ3246Game题解《
挑战程序设计竞赛
hankcs
·
2015-02-26 00:00
POJ 2079 Triangle 题解 《
挑战程序设计竞赛
》
POJ2079Triangle凸包三角:求多边形中的三角形的最大面积?3.6与平面和空间打交道的计算几何 凸包 不难想到最大三角形一定由凸包的顶点构成,难点在于怎么搜索。O(N^3)枚举会超时,旋转卡壳法O(N^2)解决问题。如图,先固定一条边(红色实线),然后搜索下一个顶点1st,三角形面积必然是先增后减的,一旦发现开始减小了(极值在固定边的法线方向的最远点),立即终止搜索,转而移动固定边。固定
hankcs
·
2015-02-25 05:00
POJ 3608 Bridge Across Islands 《
挑战程序设计竞赛
》
POJ3608BridgeAcrossIslands跨岛大桥:在两个凸包小岛之间造桥,求最小距离?3.6与平面和空间打交道的计算几何 凸包 这题原始数据已经是凸包(convexpolygons)了,所以目的不是套Graham之类的凸包算法,而是包含在凸包算法中的旋转卡壳思想。如图:在P上找出最下方的点记作C,在Q上找最上方的点记作D,记C在逆时针方向的下一个顶点是A,同理定义B。那么我们得到了两个
hankcs
·
2015-02-22 04:00
POJ 1912 A highway and the seven dwarfs 《
挑战程序设计竞赛
》
POJ1912Ahighwayandthesevendwarfs七个小矮人与高铁:侏儒岛上有N栋房子,组成一个社区。现给定一条高铁,问该高铁是否分割了社区?3.6与平面和空间打交道的计算几何 凸包 不难想到这N个点里只有凸包才是关键,对于给定直线,将其视作正向和逆向的两个向量,均与原直线平行。那么与该向量成正角的第一个点和成负角的第一个点如果在直线两侧,则直线分割了凸包,否则不然。另外,当只有一个
hankcs
·
2015-02-19 01:00
POJ 1113 Wall 题解 《
挑战程序设计竞赛
》
POJ1113Wall墙:有个愚蠢的皇帝要你造墙将城堡围起来,城堡的顶点有N个,墙必须离城堡的边至少L单位远,并且墙的总长度尽量小。求此长度?3.6与平面和空间打交道的计算几何 凸包 因为墙的长度要尽量短,所以墙不能凹进去。如图,最终的墙类似虚线部分,由凸包的周长和一个半径L的圆构成,于是求出凸包就搞定了。另外,题目阉割了英寸转换,用中文注明了“结果四舍五入就可以了”,估计要坑死一堆歪果仁。#in
hankcs
·
2015-02-18 02:00
POJ 2482 Stars in Your Window 题解 《
挑战程序设计竞赛
》
POJ2482StarsinYourWindow数星星:夜空有n个星星,坐标(x,y)亮度c。用长W宽H的窗户去套,问能套住的星星的亮度之和的最大值?3.6与平面和空间打交道的计算几何 平面扫描 引子还讲述了一理工男暗恋女神4年,到毕业都不敢约出来吃个饭的悲催故事。充分体现了广大码农的尿性,换我一早速战速决了。因为结果事先就确定了,不取决于你有多努力。言归正传,一开始我第一个想法是,跟《 POJ1
hankcs
·
2015-02-16 02:00
POJ 3293 Rectilinear polygon 题解 《
挑战程序设计竞赛
》
POJ3293Rectilinearpolygon直角多边形:给定N个点,问是否能组成直角多边形(每个顶点都与另外两个顶点构成直角,每条边都平行于坐标轴),并求出周长?3.6与平面和空间打交道的计算几何 平面扫描 扫描线移动时,如果线上的点数为偶数,则相邻两个点构成一条边,记录下来;如果为奇数,则无法构成(余下一个点无法构成边)。切换扫描线到另一坐标轴,执行相似的逻辑,不过还需检查横向的边是否与纵
hankcs
·
2015-02-15 00:00
POJ 3168 Barn Expansion 题解 《
挑战程序设计竞赛
》
POJ3168BarnExpansion扩地:有N块不重叠的矩形地,由左下角(A,B)和右上角(C,D)决定。如果两块地的边或角相交,则两块地都无法扩大。求多少地可以扩大?3.6与平面和空间打交道的计算几何 平面扫描 睡觉是什么能吃嘛?如果一个点同时被两个或两个以上矩形共用,则这些矩形都无法扩大。由平行于X和Y的扫描线来扫描这些点,以平行于Y轴为例。如上图所示,将所有矩形的垂直边视作区间,两个端点
hankcs
·
2015-02-14 05:00
AOJ 2201 Immortal Jewels 题解 《
挑战程序设计竞赛
》
AOJ2201ImmortalJewels求婚:有个贵族向一个贫穷的公主求婚,公主提出条件,需要一种“不死宝石”做嫁妆。这种宝石极其稀有,而且极易损毁,所以开采时需要特别小心。如图:矿工需要使用一种特殊的金属棒开采,宝石呈圆形,矿床是二维平面,每颗宝石坐标为x1,x2,半径为r,能够吸附在距离m的金属棒上。一旦金属棒穿过某个宝石,该宝石就被破坏了。金属棒非常昂贵,只有一根,作为贵族雇佣的程序员,请
hankcs
·
2015-02-13 02:00
POJ 1418 Viva Confetti 题解 《
挑战程序设计竞赛
》
POJ1418VivaConfetti礼花:Confetti是一些大小不一的彩色圆形纸片,人们在派对上、过节时便抛洒它们以示庆祝。落在地上的Confetti会堆叠起来,以至于一部分会被盖住而看不见。给定Confetti的尺寸和位置以及它们的叠放次序,你能计算出有多少Confetti是可以看见的吗?3.6与平面和空间打交道的计算几何 极限情况 非常需要想象力,某个圆上方的所有圆构成了一个遮罩:只有与
hankcs
·
2015-02-10 03:00
POJ 1981 Circle and Points 题解 《
挑战程序设计竞赛
》
POJ1981CircleandPoints套圈:平面上有N个点,用单位圆去套,最多能套几个?3.6与平面和空间打交道的计算几何 极限情况 所谓极限情况就是单位圆上有两个点,稍微动一下就会损失一个点,覆盖点最多的圆一定是这种圆(当然当N=1的时候是个例外)。朴素想法是先固定两个点,然后枚举其他的点是否在这两个点决定的两个圆内,朴素得掉渣我就不写了。更快的算法是,先只固定一个点i,该点的单位圆与其他
hankcs
·
2015-02-08 23:00
AOJ 2230 How to Create a Good Game 题解 《
挑战程序设计竞赛
》
AOJ2230HowtoCreateaGoodGame游戏设计:国际游戏公司ICPC(InternationalCompanyforPlayingandCompeting)要加工一个游戏,该游戏的关卡是一个有向无环图,每个关卡都有若干任务。在通关所需最多任务不变的情况下,还能最多增添多少任务?3.5借助水流解决问题的网络流 最小费用流 不愧是ICPC,业务广,难度大。如果将原DAG权值取反,然后从
hankcs
·
2015-02-08 03:00
AOJ 2266 Cache Strategy 题解 《
挑战程序设计竞赛
》
AOJ2266CacheStrategy擦车策略:GoogleCodeJam区域赛上,坐在右前方的男人ID叫lyrically。东京大学时代的记忆中,记得有个朋友也用类似的ID。不过我的朋友都是萌妹子,我记忆中的lyrically不仅算法扎实,封装也很强,能一下子给出问题的正解。比如,对我们写得不好的程序也能优化到AC的程度。她说,程序优化时,对缓存池的利用特别重要。那么问题来了,现在请你优化下面
hankcs
·
2015-02-07 03:00
POJ 3422 Kaka's Matrix Travels 题解 《
挑战程序设计竞赛
》
POJ3422Kaka'sMatrixTravels环游矩阵:N*N的地图上每格都有分数,分数只能获取一次。有人从左上方开始,每次向右或下移动一格,到右下方为止,记为一次环游。问第K次环游后累计分数的最大值?3.5借助水流解决问题的网络流 最小费用流 关键是如何处理“只能获取一次”的问题,为此可以为每个点创建伪点,由两条有向边相连。原始点到伪点连一条容量为1,权值为负分数的边;原始点到伪点连一条容
hankcs
·
2015-02-05 22:00
POJ 2195 Going Home 题解 《
挑战程序设计竞赛
》
POJ2195GoingHome回家:N*M的地图上有等量的人和房子,人每移动一格花费1。求最小费用?3.5借助水流解决问题的网络流 最小费用流 依然是很常规的最小费用流,新建源点s,从s到每个人建立cap=1,cost=0的边;新建汇点t,从每个房子建立cap=1,cost=0的边到t;从每个人建立相应费用,cap=1的边到每个房间,然后跑F=人数的最小费用流即可,比如对于第一个例子:2 2.m
hankcs
·
2015-02-05 01:00
近期学习计划
2:在1的基础上学习《
挑战程序设计竞赛
》。
u013050857
·
2015-02-03 16:00
学习计划
POJ 3068 "Shortest" pair of paths 题解 《
挑战程序设计竞赛
》
POJ3068"Shortest"pairofpaths危险品:N个仓库由M条有向边连接,每条边都有一定费用。将两种危险品从0运到N-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。求最小费用?3.5借助水流解决问题的网络流 最小费用流 除了起点和终点,不能放一起,说明普通顶点的容量都是1,起点终点容量为2。对于普通顶点,将顶点的容量转移到边上去;对起点,增加一个源点,容量为2,费用
hankcs
·
2015-02-01 20:00
AOJ 2251 Merry Christmas 题解 《
挑战程序设计竞赛
》
AOJ2251MerryChristmas国际圣诞礼品公司:InternationalChristmasPresentCompany(ICPC)是一家圣诞礼品快递公司,由M条路连起的N户人家发起了L次订单,分别要求在时刻t前将礼物送到p处。求最少需要几个圣诞老人?3.5借助水流解决问题的网络流 二分图匹配 不妨考虑最坏情况,L个订单分配给L个圣诞老人。再考虑如何省下人力,假设处理完订单Q_i,还有
hankcs
·
2015-01-28 02:00
POJ 2226 Muddy Fields 题解 《
挑战程序设计竞赛
》
POJ2226MuddyFields泥地:R*C的地图上*代表泥地,用长度不限宽度为1的木板覆盖泥地,求最小木板数?3.5借助水流解决问题的网络流 二分图匹配 将每块泥地的最左端和最上端连起来构成二分图,其最小顶点覆盖即为所求。因为最小顶点覆盖中的每个顶点构成的边的集合就是全集,有因为每个顶点都代表一条确定的模板,也就是从这些顶点引出的木板可以覆盖所有泥地。#include #include ..
hankcs
·
2015-01-26 20:00
POJ 2724 Purifying Machine 题解 《
挑战程序设计竞赛
》
POJ2724PurifyingMachine食品安全:工作太累,码农Mike决定转行卖煎饼。城管说Mike的煎饼不卫生,于是Mike买了台消毒器。消毒器有N个二进制开关,可以批量消毒对应数字id的煎饼。如果开关置为*表示这一位同时匹配0和1。有天消毒器本身进了地沟油,导致M个操作涉及的煎饼全部中毒。Mike清洗消毒器后,决定尽快把煎饼再次消毒,求最小操作次数?3.5借助水流解决问题的网络流 二分
hankcs
·
2015-01-25 23:00
POJ 3692 Kindergarten 题解 《
挑战程序设计竞赛
》
POJ3692Kindergarten贵圈真乱:有G个绿孩子和B个蓝孩子,都是同性恋,另有M对异性恋。求最大集合,集合内每个孩子都彼此有一腿。3.5借助水流解决问题的网络流 二分图匹配我的翻译越来越和谐了咳咳,两个完全子图组成原图,其补图一定是二分图。二分图的最大独立集即为所求,因为独立集两两之间没有边,代表两两彼此有关系。参照《POJ1466GirlsandBoys》的做法即可:#include
hankcs
·
2015-01-23 22:00
POJ 1466 Girls and Boys 题解 《
挑战程序设计竞赛
》
POJ1466GirlsandBoysFFF团:有V个学生,每行数据x:(n)yz...表示学生x与另n个人:y和z……有一腿(贵圈真乱)。不知为何,你手中突然多出了火把和汽油。在放火温暖全世界之前,你想豁免单身狗集合,求集合大小。3.5借助水流解决问题的网络流 二分图匹配赤裸裸的最大独立集,基本概念:由|最大独立集|+|最小顶点覆盖|=|V|和|最大匹配|=|最小顶点覆盖|得到 |最大独立集|=
hankcs
·
2015-01-22 19:00
POJ 1486 Sorting Slides 题解 《
挑战程序设计竞赛
》
POJ1486SortingSlides故纸堆:桌上有n张幻灯片杂乱地叠在一起,给出每张幻灯片的边界和页码坐标,求在不翻动的情况下那些页码可以确定?3.5借助水流解决问题的网络流 二分图匹配如果页码u坐标落在幻灯片v内,则建立一条边(u,v),在完全图上跑二分图匹配必然完美,如果删掉某一条边后变不完美了,说明这条边的对应关系是确定的。#include using namespace std;#in
hankcs
·
2015-01-18 00:00
POJ 2112 Optimal Milking 题解 《
挑战程序设计竞赛
》
POJ2112OptimalMilking牧场物语:K台挤奶机分布在C头牛间,每台最多同时服务M头牛。给出距离矩阵,求最小化牛的最大路程?3.5借助水流解决问题的网络流 二分图匹配一看到最小化最大值(或者最大化最小值),当然是二分搜索了。先将两点间最短路预处理出来,可以简单warshall_floyd搞定。接着构建网络流,从s到牛引一条容量1的边,从挤奶机到t引一条容量M的边,然后对最大路径二分,
hankcs
·
2015-01-16 22:00
POJ 1274 The Perfect Stall 题解 《
挑战程序设计竞赛
》
POJ1274ThePerfectStall二分图完美匹配:N头牛M个牛栏,每头牛只愿独占特定几个牛栏,求最大分配。3.5借助水流解决问题的网络流 二分图匹配赤裸裸的二分图匹配,转化为最大流问题解决,还可以用下面的简化算法:#include #include using namespace std;#define MAX_V 200 * ...继续阅读:码农场»POJ1274ThePerfectS
hankcs
·
2015-01-16 21:00
POJ 3155 Hard Life 题解 《
挑战程序设计竞赛
》
POJ3155HardLife心机婊:公司内部共n个员工,员工之间可能两两合不来。若员工u和员工v有矛盾,用边(u,v)表示,共m个矛盾。突然大股东送来一个富二代,威胁到你的CEO宝座。你想分配给富二代一个团队,使得团队成员间的不团结率最高。不团结率定义为被裁人员间的矛盾总数与被裁人员数的比值(不团结率=被裁人员之间的矛盾总数/ 被裁人员数)。3.5借助水流解决问题的网络流最小割要最大化下式:可以
hankcs
·
2015-01-15 01:00
POJ 2914 Minimum Cut 题解 《
挑战程序设计竞赛
》
POJ3155HardLife心机婊:公司内部共n个员工,员工之间可能两两合不来。若员工u和员工v有矛盾,用边(u,v)表示,共m个矛盾。突然大股东送来一个富二代,威胁到你的CEO宝座。你想分配给富二代一个团队,使得团队成员间的不团结率最高。不团结率定义为被裁人员间的矛盾总数与被裁人员数的比值(不团结率=被裁人员之间的矛盾总数/被裁人员数)。3.5借助水流解决问题的网络流最小割要最大化下式:可以用
hankcs
·
2015-01-15 00:00
POJ 2914 Minimum Cut 题解 《
挑战程序设计竞赛
》
POJ2914MinimumCut最小割:求无向图的最小割。3.5借助水流解决问题的网络流最小割知道stoer_wagner最小割算法就能做,不知道就做不出来,跟背单词一样,没啥意思。唯一有意思的地方在于stoer_wagner的思想,以及它是怎么来的。由于无向图不是网络流,没有给定源点s和汇点t,求最小割的时候,朴素算法就是枚举st,但是复杂度太高。stoer_wagner就想着要偷懒啊,如果G
hankcs
·
2015-01-10 00:00
POJ 2987 Firing 题解 《
挑战程序设计竞赛
》
POJ2987Firing大裁员:公司官僚成风,盘根错节,办实事的码农没几个。老板决定大裁员,每开除一个人,同时要将其下属一并开除,如果该下属还有下属,照斩不误。给出每个人的贡献值和从属关系,求最小裁员数及最大贡献值和。3.5借助水流解决问题的网络流最大流妈蛋,再复习下去人要变蠢了!刷一题维护一下智商。其实题目要求的是最大权闭合图,所谓闭合图,指的是图中每个点的后续都在图中。最大权闭合图,指的是点
hankcs
·
2015-01-08 23:00
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他