bzoj1143[CTSC2008]祭祀river
来源:互联网 发布:linux公社ftp下载 编辑:程序博客网 时间:2024/06/09 16:57
果然超神的一道题,但是bzoj上面没有第二问额……好吧暂时第二问只有暴力的想法
但是我们可以思考出第一问。
大致就是,因为如果在一个地方建了,那么这个地方能够流到的地方统统都不能建。于是我们可以贪心的思考,我们可以使能够流到的一片所组成的图最小。
而且很显然答案一定会覆盖整幅图,所以我们就想到了floyed处理出每个点能够流通到的地方,然后对于这个做一个最大匹配。然而我不知道为什么……
于是:
来自cxjyxx_me的。
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<algorithm>#include<bitset>#define LL long long#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;inline LL read(){LL d=0,f=1;char s=getchar();while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}while(s>='0'&&s<='9'){d=d*10+s-'0';s=getchar();}return d*f;}#define N 105#define M 1005int a[N][N];int n,m;bool c[N][N];int l[N],ans=0;bitset<N>y;void floyed(){//memset(c,0,sizeof(c));fo(k,1,n){fo(i,1,n)if(k!=i){fo(j,1,n)if(i!=j){if(a[i][k]&&a[k][j]) c[i][j]=1;//if(c[i][j])cout<<i<<' '<<j<<endl;}}}}bool match(int x){fo(i,1,n)if(y[i]==0&&c[x][i]){y[i]=1;if(l[i]==0||match(l[i])){l[i]=x;return 1;}}return 0;}void work(){memset(l,0,sizeof(l));fo(i,1,n){y.reset();if(match(i))ans++;}}void check(){fo(i,1,n)fo(j,1,n)if(i!=j&&c[i][j]) cout<<i<<' '<<j<<endl;}int main(){memset(c,0,sizeof(c));n=read(),m=read();fo(i,1,m){int x=read(),y=read();a[x][y]=1;c[x][y]=1;}floyed();//check();work();cout<<n-ans<<endl;return 0;}
0 0
- 【CTSC2008】【BZOJ1143】祭祀river
- bzoj1143[CTSC2008]祭祀river
- BZOJ1143: [CTSC2008]祭祀river
- 【bzoj1143】【CTSC2008】【祭祀】【river】
- [bzoj1143][CTSC2008]祭祀river
- BZOJ1143: [CTSC2008]祭祀river
- 【bzoj1143】[CTSC2008]祭祀river
- bzoj1143[CTSC2008] 祭祀river
- bzoj1143: [CTSC2008]祭祀river
- bzoj1143 [CTSC2008]祭祀river
- bzoj1143——CTSC2008祭祀river
- 【bzoj1143】 CTSC2008祭祀river 二分图匹配
- [BZOJ1143][CTSC2008]祭祀river 做题笔记
- BZOJ1143 [CTSC2008]祭祀river 【二分图匹配】
- bzoj1143: [CTSC2008]祭祀river 二分图匹配
- BZOJ1143[CTSC2008]祭祀river 偏序集及Dilworth定理
- 【BZOJ1143】[CTSC2008]祭祀river【最长反链】【传递闭包】
- [BZOJ1143][CTSC2008]祭祀river(floyed+二分图匹配)
- 跨浏览器兼容选择部分文本+跨浏览器获取字符编码
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- 基于rails的schedule网站开发(11):记住我
- PAT已级试题 1009. 说反话
- ARMv8 架构与指令集.学习笔记
- bzoj1143[CTSC2008]祭祀river
- 编写高质量iOS与OS X代码的52个有效的方法 之协议与分类
- PHP cookie session 及 ThinkPHP session 详解
- 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
- 机器学习:特征缩减技术(shrinkage): lasso和岭回归
- 跨浏览器获取可视浏览器的长度
- 夸浏览器检测flash是否存在
- 正则表达式
- 模板生成系统