BZOJ4443: [Scoi2015]小凸玩矩阵 解题报告
来源:互联网 发布:slice方法js实现分页 编辑:程序博客网 时间:2024/05/27 06:14
日常吐槽,可跳过这部分
这道题第一眼就觉得要二分一下答案,然后…然后我发现我不会……..冷静下来,想了一会,感觉可以二分后可以贪心一下,然后就欢快的打了起来
打完过了样例,然后WA了(不对呀我这么正确的 正解怎么会WA呢)
打了个对拍死活拍不出来,好吧我弱我看题解唉呀我怎么没想到二分匹配…….(但我真的觉得我原来的做法没错的)
没救了
吐槽结束下面是题解
二分一下第
如果最大匹配数
code:
#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<ctime>#include<cmath>#include<string>#include<vector>#include<string>#include<cstdio>#include<cstring>#include<climits>#include<cstdlib>#include<complex>#include<iostream>#include<algorithm>#define ll long longusing namespace std;const int maxn = 270;int mat[maxn][maxn],d[maxn*maxn];int match[maxn];bool v[maxn];int n,m,k,num;struct edge{ int y,next;}a[maxn*maxn]; int len,first[maxn];void insert(int x,int y){ len++; a[len].y=y; a[len].next=first[x];first[x]=len;}bool find_( int x ){ if( v[x] ) return false; v[x] = true; for( int k=first[x];k;k=a[k].next ) { int y=a[k].y; if(!match[y]||find_(match[y])) { match[y]=x; return true; } } return false;}bool judge(int now){ memset(first,0,sizeof first); len=0; memset(match,0,sizeof match); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(mat[i][j]<=now) insert(i,j); int ret=0; for(int i=1;i<=n;i++) { memset(v,false,sizeof v); if( find_(i) ) ret++; } return ret>n-k;}int solve(){ int l=1,r=num; while(l<=r) { int mid=(l+r)>>1; if(judge(d[mid])) r=mid-1; else l=mid+1; } return r+1;}int main(){ //freopen("tmp.in","r",stdin); //freopen("tmp.out","w",stdout); scanf("%d%d%d",&n,&m,&k); num=0; for( int i=1;i<=n;i++ ) for( int j=1;j<=m;j++ ) { scanf("%d",&mat[i][j]); d[++num]=mat[i][j]; } sort(d+1,d+num+1); printf("%d\n",d[solve()]); return 0;}
0 0
- BZOJ4443: [Scoi2015]小凸玩矩阵 解题报告
- bzoj4443 [Scoi2015]小凸玩矩阵
- BZOJ4443 [Scoi2015]小凸玩矩阵
- [bzoj4443] [Scoi2015]小凸玩矩阵
- bzoj4443: [Scoi2015]小凸玩矩阵
- Bzoj4443:[Scoi2015]小凸玩矩阵:网络流
- 【二分+匈牙利】BZOJ4443(Scoi2015)[小凸玩矩阵]题解
- [bzoj4443][SCOI2015]小凸玩矩阵 最大流+二分
- 【bzoj4443】[Scoi2015]小凸玩矩阵 二分+二分图匹配
- [BZOJ4443][Scoi2015]小凸玩矩阵 二分法+二分图匹配
- BZOJ4443(Scoi2015)[小凸玩矩阵]--二分+二分图最大匹配
- bzoj4443: [Scoi2015]小凸玩矩阵(二分+二分图匹配)
- BZOJ4443[Scoi2015][小凸玩矩阵] 二分图最大匹配+二分
- 【bzoj4443】【[Scoi2015]小凸玩矩阵】二分+二分图最大匹配
- [bzoj4443][Scoi2015]小凸玩矩阵(二分答案+二分图最大匹配)
- BZOJ4443 小凸玩矩阵
- 4443: [Scoi2015]小凸玩矩阵
- 4443: [Scoi2015]小凸玩矩阵
- adroid中的AlarmManager的使用
- 调用系统发短信的功能
- 属性动画,代码详细解析
- 源码关联的配置文件
- Android实际开发中的bug总结与解决方法(一)
- BZOJ4443: [Scoi2015]小凸玩矩阵 解题报告
- 7. 反射技术:其实就是动态加载一个指定的类
- 9. 网络编程:
- 5. IO流:★★★★★
- 6.0 多线程:★★★★
- 8. 集合框架:★★★★★
- Android内存优化1-对Bitmap的内存优化
- Android内存优化-2-OOM研究
- android内存优化-1-内存泄露