bzoj 2044三维导弹拦截 二分图匹配
来源:互联网 发布:慕课平台有哪些 知乎 编辑:程序博客网 时间:2024/06/06 14:01
题意:导弹拦截三维版,第一问求最多多少个,第二问求多少个系统能全部打掉。n<=1e3。
一看第一问以为自己穿越了,怎么tg就要cdq啊,一看n=1000= =随便做啊。
第二问最小路径覆盖随便搞,最小路径覆盖=最长反链,跟CTSC2008那题一样。
1A
#include <cstdio> #include <iostream> #include <algorithm> #define N 1005 #define M 500505 using namespace std; struct bom{int x,y,z;}s[N]; int b[N],lar,tot,nxt[M],point[M],v[M],belong[N],vis[N]; void addline(int x,int y){++tot; nxt[tot]=point[x]; point[x]=tot; v[tot]=y;} bool operator <(bom j,bom i){return (j.x<i.x&&j.y<i.y&&j.z<i.z);} bool find(int x,int k) { for (int i=point[x];i;i=nxt[i]) if(vis[v[i]]!=k) { vis[v[i]]=k; if (!belong[v[i]] || find(belong[v[i]],k)){belong[v[i]]=x;return true;} } return false; } int cmp(bom a,bom b){if (a.x==b.x) if (a.y==b.y) return a.z<b.z;else return a.y<b.y;else return a.x<b.x;} int main() { freopen("missile.in","r",stdin); freopen("missile.out","w",stdout); int n,i,j; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].z); sort(s+1,s+n+1,cmp); for (i=1;i<=n;i++) { int maxx=0,mb; for (j=1;j<=n;j++) if (b[j]>maxx && s[j]<s[i]) { maxx=b[j]; mb=j; } b[i]=maxx+1; lar=max(lar,b[i]); } for (i=1;i<=n;i++) for (j=1;j<=n;j++) if (i!=j && s[i]<s[j]) addline(i,j); printf("%d\n",lar); int maxx=0; for (i=1;i<=n;i++) if (find(i,i)) maxx++; printf("%d",n-maxx); }
阅读全文
0 0
- bzoj 2044三维导弹拦截 二分图匹配
- [二分图]导弹拦截
- 【bzoj 2044】三维导弹拦截(拓扑排序+最小路径覆盖)
- 【bzoj 2044】三维导弹拦截(网络流)(拓扑排序)
- BZOJ 2244 [SDOI2011] 拦截导弹
- bzoj 2244 [SDOI2011]拦截导弹
- bzoj 2244: [SDOI2011]拦截导弹
- bzoj 2244: [SDOI2011]拦截导弹
- BZOJ 1059 二分图匹配
- BZOJ 1059 二分图匹配
- bzoj 1059 二分图匹配
- BZOJ-1191 (二分图匹配)
- BZOJ-1854 (二分图匹配)
- BZOJ-1059 二分图匹配
- 【bzoj】2244: [SDOI2011]拦截导弹【cdq分治】
- [CDQ分治] BZOJ 2244 [SDOI2011]拦截导弹
- BZOJ 2244 拦截导弹 cdq分治
- 【9018p1407】拦截导弹(二分)
- 笔试编程题之查找数组的位置
- win10 uwp 进度条 WaveProgressControl
- 矩阵快速幂优化菲波那切数列
- LeetCode(617) Merge Two Binary Trees
- bzoj 2306: [Ctsc2011]幸福路径
- bzoj 2044三维导弹拦截 二分图匹配
- xlistView_header的布局
- ORB_SLAM编译环境搭建过程当中遇到的问题
- 131. Palindrome Partitioning
- leetcode 128. Longest Consecutive Sequence
- Head First设计模式之迭代器模式
- No valid bower.json was found in any branch ...
- Python字符串格式化--format()方法
- 235. Lowest Common Ancestor of a Binary Search Tree