BZOJ 2768 [JLOI2010]冠军调查

还说还剩十分钟A一道水题,然后发现和善意的投票一模一样粘个代码过去直接A。。。

装作自己又写了一道题。

题面

//Twenty
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
const int maxn=20050,maxm=200050,INF=0x7f7f7f7f;
using namespace std;
int n,m,s,t,u,v,w,ecnt=1,fir[maxn],d[maxn],cur[maxn],c[maxn],p[maxn];
struct edge {int from,to,cap,flow,nxt;edge(){}edge(int from,int to,int cap,int flow,int nxt):from(from),to(to),cap(cap),flow(flow),nxt(nxt){}
}e[maxm];
void add(int u,int v,int w) {e[++ecnt]=edge(u,v,w,0,fir[u]);     e[++ecnt]=edge(v,u,0,0,fir[v]); fir[u]=ecnt-1; fir[v]=ecnt;
}
queue<int>que;
void bfs(int s,int t) {for(int i=1;i<=n;i++) d[i]=n;d[t]=0; que.push(t);while(!que.empty()) {int x=que.front() ;que.pop();for(int i=fir[x];i;i=e[i].nxt) if(d[e[i].to]==n&&e[i].flow==e[i].cap) {d[e[i].to]=d[x]+1;que.push(e[i].to); }}
}
int cal(int s,int t) {int fl=INF;for(int x=t;x!=s;x=e[p[x]].from) fl=min(fl,e[p[x]].cap-e[p[x]].flow);for(int x=t;x!=s;x=e[p[x]].from) {e[p[x]].flow+=fl;e[p[x]^1].flow-=fl;}return fl;
}
int maxflow(int s,int t) {bfs(s,t);int res=0;for(int i=1;i<=n;i++) cur[i]=fir[i],c[d[i]]++;for(int x=s;d[x]<n;) {if(x==t) {res+=cal(s,t);x=s;}int ok=0;for(int &i=cur[x];i;i=e[i].nxt) if(d[e[i].to]+1==d[x]&&e[i].cap>e[i].flow){p[x=e[i].to]=i;ok=1; break;}if(!ok) {cur[x]=fir[x]; int M=n;for(int i=cur[x];i;i=e[i].nxt) if(e[i].cap>e[i].flow)M=min(M,d[e[i].to]+1);if(!(--c[d[x]])) break;c[d[x]=M]++;if(x!=s) x=e[p[x]].from;}}return res;
}
int main()
{scanf("%d%d",&n,&m);s=n+1; t=n+2;for(int i=1;i<=n;i++) {int x;scanf("%d",&x);if(x==1) add(s,i,1),add(i,t,0);else add(s,i,0),add(i,t,1);}n+=2;for(int i=1;i<=m;i++) {int x,y;scanf("%d%d",&x,&y);add(x,y,1);add(y,x,1);}printf("%d\n",maxflow(s,t));return 0;
}
View Code

 

转载于:https://www.cnblogs.com/Achenchen/p/7608820.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1420C1. Pokémon Army (easy version)

C1. Pokmon Army (easy version)&#xff1a;题目 题意&#xff1a;选择其中一部分&#xff0c;按照-依此计算&#xff0c;求总和 思路&#xff1a;找到局部最大值&#xff0c;然后减去局部最小值&#xff0c;依此找。#include <bits/stdc.h> using namespace std; type…

python学习笔记(五)缩进

python学习笔记&#xff08;五&#xff09;缩进 原作&#xff1a;http://www.cnblogs.com/vamei/archive/2012/05/29/2524706.html 笔记&#xff1a; #!/usr/bin/env python i 1 #把1赋值给i变量 x 2 #把2赋值给x变量 if i > 0: #如果i大于1x x 1#执行x1 print (x)#输出…

1443B. Saving the City

B. Saving the City&#xff1a;题目 题意&#xff1a;1是炸弹&#xff0c;引爆的同时引爆i-1&#xff0c;i1&#xff0c;埋一个炸弹的成本为b,引爆的成本为a 思路&#xff1a;首先如果有炸弹&#xff0c;必须引爆一次&#xff0c;然后往后遍历&#xff0c;看是引爆还是接上的…

【OpenCV函数】轮廓提取;轮廓绘制;轮廓面积;外接矩形

FindContours 在二值图像中寻找轮廓 int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_sizesizeof(CvContour), int modeCV_RETR_LIST, int methodCV_CHAIN_APPROX_SIMPLE, CvPoint offsetcvPoint(0,0) ); image 输入的 8-比…

【AtCoder Regular Contest 082】Derangement

【链接】点击打开链接 【题意】 在这里写题意【题解】 贪心。连续一块的p[i]i的话,对答案的贡献就应该为(这个连续块的长度1)/2;长度为1的也正确.(也即两两相邻的互换位置。)【错的次数】 0【反思】 在这了写反思【代码】 #include <cstdio> #include <iostream> #…

1618D. Array and Operations

D. Array and Operations&#xff1a;题目 之前写的了&#xff0c;直接上答案&#xff01; #include <bits/stdc.h> #define int long long #define pII pair<int, int> #define endl "\n" #define fast ios_base::sync_with_stdio(0), cin.tie(0), cou…

kendo 服务端排序

z折腾了一天。。 参考 &#xff1a;https://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-columns.sortable.compare 关键代码 parameterMap: function(data, type) {if(data.sort) {var sortObj data.sort[0];typeSort sortObj.dir;typeName sortObj.f…

416B. Art Union

B. Art Union&#xff1a;题目 思路&#xff1a;dp那味道来了#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); int g[50051][11]; int main() {int m,n;//画的数量&#xff0c;和画家…

Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序

由于最近比较忙&#xff0c;一直到假期才有空&#xff0c;因此将自己学到的知识进行分享。如果有不对的地方&#xff0c;请指出&#xff0c;谢谢&#xff01;目前深度学习越来越火&#xff0c;学习、使用tensorflow的相关工作者也越来越多。最近在研究tensorflow线下采用 pytho…

665C. Simple Strings

C. Simple Strings&#xff1a;题目 思路&#xff1a;简单的离谱&#xff0c;就相同就换就行&#xff0c;哪有dp的事啊#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); string str; i…

798B. Mike and strings

B. Mike and strings&#xff1a;题目 思路&#xff1a;纯暴力题&#xff0c;不想写&#xff0c;copy了别人代码#include<iostream> #include<string> using namespace std; void change(string &s){ss.substr(1)s.substr(0,1); } int main(){int n;cin>&g…

jquery ajax 数据传输

在 form表单中&#xff0c;需要发送给后台的是一串长数据&#xff0c;后台才能接受&#xff0c;而用户则只需要输入字符串中的一部分&#xff0c;这种情况下&#xff0c;就需要将用户输入内容&#xff0c;和剩余部分进行拼串&#xff0c;然后添加进 formData 中传输。另一种情况…

1315B. Homecoming

B. Homecoming&#xff1a;题目 思路&#xff1a;从后往前遍历就行了#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); string str; int main() {int t;cin >> t;while (t--){in…

jquery datatable 获取当前分页的数据

使用jquery datatable 遇到分页分别求和时&#xff0c;找了半天才找到获取当前分页数据的方法&#xff0c;以此总结 var table$(#example).DataTable( {"pagingType": "full_numbers",} ); table.columns({page:current}).data();//当前页面里的数据 转载于…

870C. Maximum splitting

C. Maximum splitting&#xff1a;题目 这凭啥1300分&#xff1f;#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); string str; int main() {int t;cin>>t;while (t--){int n;c…

useGeneratedKeys的用法

<!-- useGeneratedKeys"true"把新增加的主键赋值到自己定义的keyProperty&#xff08;id&#xff09;中 --> <insert id"insert" useGeneratedKeys"true" keyProperty"id" parameterType""> 转载于:https://www…

1040B. Shashlik Cooking

B. Shashlik Cooking&#xff1a;题目 思路&#xff0c;如果所有烤肉都可以一次就行&#xff0c;如果不行就去前面调整一下#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); int main(…

粉红小猪中有一个叫“快乐小鸡”的游戏

最近在学习svg,书看了一本 然后再找了个框架 snap.svg 摸索着写了个游戏给女儿玩。哈哈。即涨知识又娱乐。 转载于:https://www.cnblogs.com/goldli/p/7649898.html

626B. Cards

B. Cards&#xff1a;题目 竟然需要按照顺序输出&#xff0c;淦&#xff01;#include <bits/stdc.h> using namespace std; typedef long long ll; vector<ll> a((int)6e5); vector<ll> b((int)6e5); string str; int main() {int a 0, b 0, c 0;int n;c…

gcc 4.9编译

参考 http://blog.csdn.net/hzhxxx/article/details/28634893转载于:https://www.cnblogs.com/rabitvision/p/7650706.html