
2010年10月29日
摘要: 解題報(bào)告請(qǐng)看 hi.baidu.com/fatboy_cw,貌似這個(gè)blog就沒(méi)寫(xiě)多少東西OpenWings就解散了,哀悼...
1/**//* 2 * Author: fatboy_cw 3 * Created Time: 2010/10/25&...
閱讀全文
posted @
2010-10-29 10:53 OpenWings 閱讀(457) |
評(píng)論 (5) |
編輯 收藏

2010年8月7日
摘要: 赤裸裸的最小點(diǎn)權(quán)覆蓋,不過(guò)G++居然不支持%lf...改交C++或者改%f過(guò)了...順便提醒OpenWings各位果斷發(fā)博啊...貌似最近我太墮落了...嗯.
codeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighli...
閱讀全文
posted @
2010-08-07 22:54 OpenWings 閱讀(306) |
評(píng)論 (0) |
編輯 收藏

2010年8月2日
比賽時(shí)候無(wú)人ac賽后我過(guò)掉了。感覺(jué)還是一個(gè)很不錯(cuò)的分?jǐn)?shù)規(guī)劃,主要精髓在第一步的分?jǐn)?shù)式轉(zhuǎn)換上。
題目是POJ3757。
開(kāi)始看題感覺(jué)頭疼的地方是要求同時(shí)完成。這里有一個(gè)很精髓的轉(zhuǎn)換,把流量換為速度。假設(shè)最終時(shí)間為t,那么對(duì)于每個(gè)被選中的服務(wù)器,速度vi=fi/t=bp/(b+p),兩邊求和t=sigma(fi)/sigma(vi)=F/sigma(vi),然后最后要求總花費(fèi)最小,每個(gè)被選中的服務(wù)器的花費(fèi)為fi*ci=vi*ti*ci。兩個(gè)式子有可以推出對(duì)于選出的K個(gè)服務(wù)器,
sigma(vi*ti)=sigma(fi)=F,sigma(fi*ci)=sigma(vi*ti*ci),將ti=F/sigma(vi)帶入式子。總花費(fèi)cost=F*sigma(vi*ci)/sigma(vi),這樣就轉(zhuǎn)換成了標(biāo)準(zhǔn)的分?jǐn)?shù)規(guī)劃了~

code
1
#include <iostream>
2
#include <cstdio>
3
#include <algorithm>
4
#include <cstring>
5
#include <cmath>
6
using namespace std;
7
8
int N,K;
9
double F,ans;
10
11
struct Sever
{
12
double pi,bi,ci,xi,vi,value;
13
bool operator < (const Sever &A) const
{
14
return value<A.value;
15
}
16
}sever[20005];
17
18
bool bigger(double mid)
{
19
int i;
20
for(i=0;i<N;i++)
{
21
sever[i].value=F*sever[i].xi-mid*sever[i].vi;
22
}
23
sort(sever,sever+N);
24
double sum=0;
25
for(i=0;i<K;i++)
{
26
sum+=sever[i].value;
27
}
28
if(sum<0) return true;
29
return false;
30
}
31
32
int main()
{
33
scanf("%d%d",&N,&K);
34
scanf("%lf",&F);
35
int i;
36
for(i=0;i<N;i++)
{
37
scanf("%lf%lf%lf",&sever[i].pi,&sever[i].bi,&sever[i].ci);
38
sever[i].vi=sever[i].bi*sever[i].pi/(sever[i].pi+sever[i].bi);
39
sever[i].xi=sever[i].vi*sever[i].ci;
40
}
41
double l=0.0,r=1e10+1,mid;
42
while(r-l>1e-5)
{
43
mid=(l+r)/2;
44
if(bigger(mid))
{
45
r=mid;
46
}
47
else
{
48
l=mid;
49
}
50
}
51
printf("%.4lf\n",mid);
52
return 0;
53
}
54
posted @
2010-08-02 11:14 OpenWings 閱讀(230) |
評(píng)論 (0) |
編輯 收藏

2010年8月1日
摘要: 把自己原來(lái)做過(guò)的幾道感覺(jué)不錯(cuò)的圖論題貼過(guò)來(lái)。 [無(wú)向圖點(diǎn)雙][POJ2942]Knights of the Round Table題目大意:有N個(gè)騎士,給出有兩兩之間有仇恨的關(guān)系,要求安排一種環(huán)形座次使得總?cè)藬?shù)為奇數(shù)而且其實(shí)之間不會(huì)發(fā)生沖突。
題解:首...
閱讀全文
posted @
2010-08-01 19:55 OpenWings 閱讀(335) |
評(píng)論 (0) |
編輯 收藏
本來(lái)寫(xiě)了一個(gè)文采飛揚(yáng)的article來(lái)作為OpenWings的開(kāi)門(mén)article的,不過(guò)最后感覺(jué)太有文采了于是還是del掉了...
從TigerWings到OpenWings,從當(dāng)初我們期盼的"如虎添翼"到現(xiàn)在的展開(kāi)雙翅的翱翔,我們所改變的絕不僅僅是隊(duì)名。從杭州邀請(qǐng)賽和金牌擦肩之后,我在想,盡管我們大家都沒(méi)有參加過(guò)正式比賽,但是我們不比任何人缺少激情與夢(mèng)想,金牌對(duì)于我們來(lái)說(shuō),只是努力與否的問(wèn)題。暑假集訓(xùn),對(duì)于我們每個(gè)人來(lái)說(shuō)都是一個(gè)絕好的機(jī)會(huì)。這一個(gè)月的時(shí)間很可能不知不覺(jué)白白過(guò)去,但是如果抓住這一個(gè)月的時(shí)間付出自己所應(yīng)該付出的努力,最后得到的可能是一個(gè)出乎所有人意料的驚喜。
ps:從現(xiàn)在看我的狀態(tài)比較飄忽,題目難度類型的不同對(duì)自己左右比較大。所以計(jì)劃開(kāi)始做一些專題訓(xùn)練,比如圖論專題數(shù)論專題之類的。另外目前隊(duì)里沒(méi)有人懂計(jì)算幾何啊啊啊啊,找個(gè)機(jī)會(huì)一起做一些計(jì)算幾何專題吧。最后說(shuō)一下,大家有啥想法或者有啥解題報(bào)告統(tǒng)統(tǒng)的發(fā)上來(lái)吧,over。
posted @
2010-08-01 19:45 OpenWings 閱讀(193) |
評(píng)論 (0) |
編輯 收藏