poj
geng4512
蛤蛤蛤蛤
展开
-
POJ3621 sightseeing cows 01分数规划+SPFA判定
传送门 题目:给出N个点M条有向边,要求选出一个环,使得这上面 点权和/边权和 最大。 思路:明显的01分数规划,只是这里的判定不是很好搞。我们先按着分数规划的思路来。设Xi={0,1}Xi = \{0, 1\},Yi={0,1}Yi = \{0, 1\}, R=∑Vi∗Xi∑Wj∗Yj\ R = \frac{∑Vi*Xi}{∑Wj*Yj} 所以有判定函数 F(R)=∑Vi∗Xi−R∗∑Wi∗原创 2015-08-12 14:06:15 · 1330 阅读 · 1 评论 -
POJ1523 SPF (求割点)
传送门 题目大意:求出每一个割点能将图分成几个部分。思路:乱搞O(∩_∩)O(遇见割点,在对应的数组里加1就行了),但是要注意输出格式很坑,每次要多输出一个空行。#include<cstdio>#include<cstring>#define min(a,b) (a)<(b)?(a):(b)#define MAXN 5005#define MAXM 20005struct node{原创 2015-07-20 13:51:17 · 727 阅读 · 0 评论 -
POJ 2449 Remmarguts' Date (A*搜索求K短路)
传送门 这是一道裸的K短路的问题,我们将会用A*解决。 我们设计估值函数h的时候可以像这样想。因为h(n) <= h*(n)而且要尽量接近h*(n),所以我们想到,可以求一个从目标节点到其余节点的最短路,这个一定是小于等于实际值的。然后就用A*从起点开始搜索,找到一个节点v,就使cnt[v]加1。当cnt[v] > k时就可以剪枝了,因为这一定不再K短路的路线上了。很好通过反证法得到证明。当目标原创 2015-08-29 18:16:42 · 795 阅读 · 0 评论 -
POJ3579 Median(二分答案 + O(N)判定)
传送门 大意:给出NN个数,对于存有每两个数的差值的序列求中位数,如果这个序列有偶数个元素,就取中间偏小的作为中位数。因为N<=100000N <= 100000,所以想要求出每一个差值是不可行的,我们很容易想到二分答案。 在二分答案时我们会进行判定,求出小于等于枚举值的个数,我看其他人的判定似乎都是O(NlogN)O(N\log N) 的,我在这里就给出一个O(N)O(N)的判定方法。首先同样将原创 2015-08-14 23:58:35 · 3995 阅读 · 9 评论 -
poj2182 Lost Cows (线段树)
传送门 大意:有一个1-n的排列,数据给出从第二个到第n个数中的每一个数前面有几个数比这个数小,要求还原这个1-n的排列 思路:最近做这种题好像有点感觉了,很自然的想到,我们可以从最后一个数来倒推,一直推出第一个过后就可以完事了。这样的话,我们很容易写出一个N²N² 的算法。但作为一名OIer,我们要求上进,所以我们就会想,可不可以优化一下呢。其实我们发现,在找前面出现了几个比目标值小的操作很冗原创 2015-08-16 14:03:53 · 910 阅读 · 0 评论 -
POJ3045 Cow Acrobats(贪心)
传送门 大意:有N头牛叠罗汉,对于每头牛定义一个难受值D,D等于在它上面的所有奶牛的体重减去它的力量。 拿到这道题,感觉无从下手啊,贪力量,可是体重就不能保证上面的最好了。正解其实是要贪每头牛的力量加上体重,和大的放在下面。 证明: 设Di表示第i头奶牛的难受值,Wi表示第i头奶牛的体重,Si表示第i头奶牛的力量,令i,j相邻,且Wi+Si>Wj+Sj,设∑表示i和j上面的奶牛的重量之和设D原创 2015-08-15 18:15:57 · 1801 阅读 · 0 评论 -
POJ2976 Dropping tests (分数规划)
传送门今天在看Amber神犇的《最小割模型在信息学竞赛中的应用》的时候看到了分数规划这玩意,然后就小水了一发(虽然这道题和最小割并没有什么关系)。Dropping tests 是一道裸的01分数规划,大意就是给出n个分数,在里面选出n-k个要求这些分数 分子加分子 : 分母加分母最大。关于分数规划的介绍,我觉得[Algorithm]01分数规划——Update:2012年7月27日这篇文章写得相原创 2015-08-05 16:55:12 · 1113 阅读 · 0 评论