描述
深繪里在九份開了一家咖啡店。當然如何調配咖啡成了她每天的頭等大事。 我們假設她有 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的邊 ...