标签:-- sed pen 覆盖 include get log closed asp
http://172.20.6.3/Problem_Show.asp?id=1537
用的方法叫作浮水法,实质是递归自下而上判断一个区间有没有覆盖,O(n^2)感觉也没有很实用。
前几年的haoi怎么这么水啊。。。
代码
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 using namespace std; 8 const int maxn=1010; 9 int n,m; 10 int a[maxn]={},b[maxn]={}; 11 int vis[maxn]={}; 12 int doit(int l,int r,int x){ 13 if(r<l)return 0; 14 if(x==m+1){ 15 return 1; 16 } 17 if(l>b[x]||r<a[x])return doit(l,r,x+1); 18 if(l>=a[x]&&r<=b[x])return 0; 19 if(b[x]<r&&a[x]>l)return doit(l,a[x]-1,x+1)|doit(b[x]+1,r,x+1); 20 if(b[x]<r)return doit(b[x]+1,r,x+1); 21 else return doit(l,a[x]-1,x+1); 22 } 23 int main(){ 24 scanf("%d%d",&n,&m); 25 for(int i=1;i<=m;i++){ 26 scanf("%d%d",&a[i],&b[i]); 27 }int cnt=1; 28 for(int i=m-1;i>=1;i--){ 29 if(doit(a[i],b[i],i+1)){ 30 cnt++; 31 } 32 } 33 printf("%d\n",cnt); 34 return 0; 35 }
标签:-- sed pen 覆盖 include get log closed asp
原文地址:http://www.cnblogs.com/137shoebills/p/7788203.html