2018 08 28 九份的咖啡店(費用流)

2021-08-26 05:48:22 字數 1493 閱讀 3211

描述

深繪里在九份開了一家咖啡店。當然如何調配咖啡成了她每天的頭等大事。 我們假設她有 n 種原料,第 i 種原料編號為 i,而調配一杯咖啡則需要選擇這裡面的若干種來兌在一起。

不過有些原料不能同時調兌在同一杯裡。如果兩個編號為 i, j 的原料,當且僅當 i 和 j 互質時,它們才能被兌在同一杯裡。

現在深繪里想知道,如果她用這 n 種原料來調兌一杯咖啡,那麼這杯咖啡所使用的原料編號之和最大能為多少呢? …

輸入一行,乙個正整數 n

輸出一行乙個正整數,即最大的編號之和

樣例輸入

樣例輸出

提示【資料範圍和約定】

對於 20% 的資料, 1 ≤ n ≤ 30

對於 50% 的資料, 1 ≤ n ≤ 200

對於 80% 的資料, 1 ≤ n ≤ 800 對於 100% 的資料, 1 ≤ n ≤ 200000

標籤湖南2013省選模擬

spfa寫錯了也很感動。。。

有乙個神仙結論:原料最多由兩種質因數組成,且乙個小於sqrt(n),乙個大於sqrt(n)(本蒟蒻並不會證明)。

知道這個結論之後就可以跑最大費用流了。

**:

#include

#define n 1000005

#define inf 1000000000

#define ll long long

using

namespace

std;

int n,pot[n],first[n],d[n],cnt=-1,prime[n],vis[n],in[n],pred[n],tot=0,ans,res;

struct edgee[n<<1];

inline

void add_edge(int u,int v,int c,int w)

inline

void add(int u,int v,int c,int w)

inline

void init()

}}inline

void calc(int s,int t)

}inline

bool spfa(int s,int t)

}in[x]=0;

}if(d[t]==tmp)return

false;

calc(s,t);

ans+=d[t];

res=max(res,ans);

return

true;

}inline

int solve(int x,ll tmp)

return tmp;

}int main()

for(int i=pos+1;i<=tot;++i)

for(int j=1;j<=pos;++j)

while(spfa(1,tot+10));

cout

<<1ll*(res+sum+1);

return

0;}

BZOJ3308九月的咖啡店

3308 九月的咖啡店 time limit 30 sec memory limit 128 mb submit 140 solved 49 description 深繪里在九份開了一家咖啡讓,如何調配咖啡民了她每天的頭等大事 我們假設她有n種原料,第i種原料編號為i,調配一杯咖啡則需要在這 裡若干...

做好咖啡店的X法則

今天我們說說開咖啡店注意的幾 則 如何能留住原來的客人,同時也讓更多的客人進來,不會去其他的地方是非常重要的,下面我們就看看是怎麼說的吧!一 環境 1 店內整體的環境布局,包括硬體設施和軟體設施,硬體設施如 牆壁 地面 格局等等,而軟體設施更為重要,就算硬體設施不夠理想,都可以用軟體設施來彌補對方的...

bzoj3308 九月的咖啡店 費用流

這種題還是要先找問題的某些性質才能做 結論 1 乙個數中最多有兩個質數 2 兩個質數乙個小於根n,乙個大於根n 建二分圖 源點s向小於根n的質數連一條容量為1費用為0的邊 大於根n的質數向匯點t連一條容量為1費用為0的邊 小於根n的質數a向大於根n的質數b連一條容量為1費用為vab va vb的邊 ...