bzoj5251 2018多省省隊聯測 劈配

2022-03-03 22:37:44 字數 2280 閱讀 9705

直接網路流模擬即可ac。

可持久化+暴力=90分,

可持久化+二分=30分,

暴力加邊+二分=100分。

我也很無奈啊。

ivan便漲紅了臉,額上的青筋條條綻出,爭辯道,「memcpy也是可持久化……memcpy!……oier的事,當然是可持久化!」接連便是難懂的話,什麼「可持久化無旋treap套線段樹啟發式合併」,什麼「暴力踩正解」之類,引得眾人都哄笑起來。

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

#define n 205

8#define inf 0x7fffffff

9using

namespace

std;

10struct

flowed[n*n<<1

];15

void add(int u,int v,int

f)19

int dep[405

],s,t;

20bool

bfs()32}

33}34return0;

35}36int dfs(int x,int

f)46}47

if(!ans)dep[x]=-1;48

return

ans;49}

50int

dinic()

55void

init()

59}f,g,nf;

60int

t,c,n,m,b[n],dr[n],pos[n][n],g[n][n],bo[n],ans[n],pp[n],sum[n];

61 vector v[n];

62int

o;63

bool cmp(int a,int

b)66

bool check(int x,int

i)75 nf.add(nf.s,i,1

);76

for(int k=1;k<=m&&g[i][pos[i][k]]<=dr[i];k++)nf.add(i,n+pos[i][k],1

);77

if(nf.dinic()==sum[x]+1)return1;

78return0;

79}80int

main()

91 o=i;

92 sort(pos[i]+1,pos[i]+m+1

,cmp);93}

94for(int i=1;i<=n;i++)scanf("

%d",&dr[i]);

95f.init();

96 f.s=n+m+1;f.t=f.s+1;97

for(int i=1;i<=n;i++)f.add(f.s,i,1

);98

for(int i=1;i<=m;i++)f.add(n+i,f.t,b[i]);

99 g=f;

100for(int i=1;i<=n;i++)v[i].clear();

101 memset(pp,0,sizeof

pp);

102 memset(ans,0,sizeof

ans);

103 memset(bo,0,sizeof

bo);

104for(int i=1;i<=n;i++)

114}

115if(!pp[i])pp[i]=m+1,sum[i]=sum[i-1

];116

else

122 f=g;

123}

124for(int i=1;i<=n;i++)

126int l=0,r=i-1,mid,fin=0

;127

while(l<=r)

132 ans[i]=i-r-1

;133

}134

for(int i=1;i<=n;i++)printf("

%d%c

",pp[i],((i==n)?'

\n':'

'));

135for(int i=1;i<=n;i++)printf("

%d%c

",ans[i],((i==n)?'

\n':'

'));

136}

137return0;

138 }

view code

BZOJ 5251 2018多省省隊聯測 劈配

題目大意 題解 要求最優的錄取方案,網路流。問每個人的排名至少上公升多少才能滿足期望,這個有二分性。二分 網路流判定,沒有加優化所以在某些 上會t。include include include include define pi acos 1 using namespace std struct ...

bzoj5251 2018多省省隊聯測 劈配

一年一度的綜藝節目 中國新 又開始了。zayid從小就夢想成為一名程式設計師,他覺得這是乙個展示自己的舞台,於是他毫不猶豫地報名了。題目描述 輕車熟路的zayid順利地通過了海選,接下來的環節是導師盲選,這一階段的規則是這樣的 總共n名參賽選手 編號從1至n 每人寫出乙份 並介紹自己的夢想。接著由所...

bzoj5250 2018多省省隊聯測 秘密襲擊

博主蒟蒻,目前還不會動態dp,所以下面說的是乙個並不優秀的暴力,我會補的!我們考慮按權值從大到小依次點亮每個點,相同權值可以同時點亮,每次點亮後,我們進行一次樹形揹包。處理出 f i j 表示i的子樹中有j個亮點的方案數,然後就ac了。有兩個小優化,乙個是將揹包的列舉上限設為min size x k...