JZOJ 5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)
2017-08-21 17:01
555 查看
5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)
Time Limits: 1000 ms Memory Limits: 262144 KBDescription
Input
Output
Sample Input
5 51 4 0 5 2
2 1 2 0 1
0 2 3 4 4
0 3 0 3 1
1 2 2 1 1
Sample Output
9Data Constraint
Hint
题解
乍一看以为是贪心,贪心保留最大的后来,发现有个诡异的地方
这是一个会搬砖的小偷
于是,只能用二分图了
如果第i行和第j列最大值相等且可以放,就连一条边
跑一遍匹配匹配到的边就只算一次,代表只放一个就能满足一行和一列
匹配不到的行和列,就分别算一次
代码
#include<cstdio> #include<cstring> #include<vector> #define N 101 using namespace std; vector<long>map ; long a ,link ,hang ,lie ; bool cover ; bool find(long now) { long i,to; for(i=0;i<map[now].size();i++){ to=map[now][i]; if(!cover[to]){ cover[to]=true; if(!link[to]||find(link[to])){ link[to]=now; return true; } } } return false; } int main() { long n,m,i,j,ans=0,sum=0; scanf("%ld%ld",&n,&m); for(i=1;i<=n;i++) for(j=1;j<=m;j++){ scanf("%ld",&a[i][j]); hang[i]=max(hang[i],a[i][j]); lie[j]=max(lie[j],a[i][j]); if(a[i][j]) sum+=a[i][j]-1; } for(i=1;i<=n;i++) if(hang[i])ans+=hang[i]-1; for(j=1;j<=m;j++) if(lie[j])ans+=lie[j]-1; for(i=1;i<=n;i++) for(j=1;j<=m;j++){ if(hang[i]==lie[j]&&a[i][j]) map[i].push_back(j); } for(i=1;i<=n;i++){ memset(cover,false,sizeof(cover)); if(find(i)) ans-=hang[i]-1; } printf("%ld\n",sum-ans); return 0; }
相关文章推荐
- [jzoj5307]【NOIP2017提高A组模拟8.18】偷窃
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C (Standard IO)
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 4000 (Standard IO)
- 【JZOJ5307】【NOIP2017提高A组模拟8.18】偷窃
- 【jzoj5306】【NOIP2017提高A组模拟8.18】【棋盘游戏】
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C
- 【JZOJ 5393】【NOIP2017提高A组模拟10.5】Snake vs Block
- [JZOJ5395]【NOIP2017提高A组模拟10.6】Count
- JZOJ 5185. 【NOIP2017提高组模拟6.30】tty's sequence
- JZOJ100041. 【NOIP2017提高A组模拟7.12】列车调度
- 【jzoj5288】【NOIP2017提高组A组模拟8.17】【球场大佬】
- 【JZOJ4924】【NOIP2017提高组模拟12.17】向再见说再见
- 【JZOJ4923】【NOIP2017提高组模拟12.17】巧克力狂欢
- jzoj5385. 【NOIP2017提高A组模拟9.23】Carry
- 【jzoj5335】【NOIP2017提高A组模拟8.24】【早苗】【矩阵乘法快速幂】
- 【jzoj5389】【NOIP2017提高A组模拟9.26】【解梦】
- JZOJ 5399. 【NOIP2017提高A组模拟10.7】Confess
- JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore
- JZOJ 5182. 【NOIP2017提高组模拟6.29】码灵鼠
- JZOJ5350. 【NOIP2017提高A组模拟9.7】陶陶摘苹果