我国海岸线有多少公里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我国海岸线有多少公里相关的知识,希望对你有一定的参考价值。
参考技术A 问题一:请问中国海岸线有多少公里? 中国拥有近300万平方公里的海域与32000公里长的海岸线。海岸线分为大陆岸线与海岛岸线,其中大陆岸线为18000公里。其北部起始点为鸭绿江口,南方终点为北仑河口。问题二:中国海岸线总长多少公里? 我国大陆海岸线自鸭绿江口至北仑河口:海岸线总长为32647公里其中大陆海岸线1.8412万公里,岛屿海岸线1.4235万公里。
据《全国渔业资源调查和区划》统计,我国海洋鱼类有1694种.其中硬骨鱼类有1519种,占89.7%;软骨鱼类有175种,占10.3%。
在我国整个海域,鱼类种数的分布里南多北少的趋势,南海种类最多,黄、渤海种类最少。
黄、渤海区的鱼类约有291种,其中常见的鱼类159种,主要经济鱼类约50种,如大黄鱼、小黄鱼、带鱼等。
东海大陆架海区的鱼类有727种,主要经济色类有近百种,如大黄鱼、小黄鱼、带鱼、海鳗、灯笼鱼、石斑鱼、金色小沙丁鱼等。
南海北部大陆架海域的鱼类有1 064种,其中经济鱼类有125种,如大黄鱼、带鱼、竹荚鱼、金线鱼、鳗鱼、石斑鱼、金枪鱼等。
南海大陆坡海域的鱼类有205种,南海诸岛海域的鱼类有523种。主要种类有短鳍拟飞鱼、鲣鱼、旗鱼、金枪鱼、箭鱼、鲨鱼以及众多的珊瑚礁鱼类。
问题三:中国的海岸线有多少万公里 中国海岸线总长度3.2万公里,其中大陆海岸线1.8万公里,岛屿海岸线1.4万公里。
所以,C
问题四:距我国海岸线多少海里以内海域是我国的领海 领海距离一国海岸线一定宽度的海域,是该国领土的一部分。中国 *** 于1958年9月4日宣布中国的领海宽度为十二海里。(摘自百度
问题五:中国海岸线长多少千米? 1.8万多千米
问题六:中国的海岸线有多长 海军军事学术研究所资深研究员陈光琪说:“我国的国土面积,除了常说的960万平方公里的陆地面积之外,还有300万平方公里可管辖的海洋国土,这一定要考虑进去。”
中国是个陆地大国,又是个海洋大国,这是常见的说法。从拥有海洋资源的绝对数量来看,的确可以这样说:我国海岸线长度为1.8万公里,居世界第四位;大陆架面积位居世界第五,200海里专属经济区面积为世界第十。
但陈光琪对此有自己的看法。他说:“中国是个海洋大国,但又不是个海洋大国。”根据陈教授提供的数据,从单位陆地面积平均拥有的海岸线长度来看,中国只占世界第94位。如果按照可管辖的海域面积与大陆面积之比,世界沿海国家平均为0.94,中国仅为0.3,不到平均水平的三分之一;而我们的邻国日本超过11,朝鲜是2.17,越南是2.19,菲律宾是6.31,都大大超过中国。至于人均海洋面积,世界沿海国家平均为0.026平方公里,而中国只有0.0029平方公里,只是世界平均数字的十分之一,而与我国相邻的海洋国家的平均数都超过中国的10倍以上。
hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859
题目大意:
在一个矩形周围都是海,这个矩形中有陆地,深海和浅海。浅海是可以填成陆地的。
求最多有多少条方格线满足两侧分别是海洋和陆地
这道题很神
首先考虑一下,什么情况下能够对答案做出贡献
就是相邻的两块不一样的时候
这样我们可以建立最小割模型,可是都说是最小割了
无法求出最大的不相同的东西
所以我们考虑转化,用总的配对数目 - 最小的相同的对数
至于最小的相同的对数怎么算呢?
我们考虑这样的构造方法:
?把整个棋盘黑白染色,我们想要所有的黑格子都是陆地,所有的白格子都是海洋
?但是天不尽人意
?输入数据肯定不会给你做出这种东西,所以会出现各种各样的不符的格子
?所以我们把所有符合的格子和不符的格子拿开
?把所有的与其所在的集合相符的格子放到一个集合中(记为S1)
?把所有的与其所在的集合不相符的格子放到另一个集合中(记为S2)
?把剩下的没有被分到任何集合的格子,也就是所有的E格,放到另一个集合中(记为S3)
?然后我们在所有相邻且所在集合不同(S1,S2,S3)点之间连上双向边
?这时图中存在的任意一条从S -> T的可行流都一定经过S1,S2集合中两个形式相同的格子
?
?这时候还有可能经过若干S3中的点
?那么这时候就代表我们让这些S3中的点和S1,S2中我们选择的点的形式相同
?这就是最小的相同对数了
?所以ans = tot - dinic()其中tot = (n-1)*m + (m-1)*n
?做完了题了我们定义一下每一条边的含义:
??一条边一定是条双向边
?
??这条边代表的含义就是这条边连接的两个点必须相同才有可能对答案做出贡献
??而我们知道,一条边连接的两个格子一定在最初的黑白染色中属于不同的颜色
??如果他们颜色相同的话,一定不会被一起分到s1或s2集合中
??并且一定会被分散到S1和S2集合中
??所以我们不能连接相同集合中的边,却能连接不同集合中的边
但是连接的话从数值上来说是不变的,可是本人认为意义上解释不通
网上的其他题解都是没有关心是否在同一个集合内部,都进行了连边
不过本人太弱,无论如何都想不通集合内部的边的意义,所以本人认为那条边不应该存在,是没有意义的。
如果真的是本苣太弱了,还请各位dalao高台贵手。。
Code : 删去了集合内部的边,依然AC
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 typedef long long ll; 6 inline void read(int &x){ 7 x=0;char ch;bool flag = false; 8 while(ch=getchar(),ch<‘!‘);if(ch == ‘-‘) ch=getchar(),flag = true; 9 while(x=10*x+ch-‘0‘,ch=getchar(),ch>‘!‘);if(flag) x=-x; 10 } 11 inline int cat_max(const int &a,const int &b){return a>b ? a:b;} 12 inline int cat_min(const int &a,const int &b){return a<b ? a:b;} 13 const int maxn = 501; 14 const int maxnode = 30100; 15 const int maxedge = 210045; 16 const int inf = 0x3f3f3f3f; 17 struct Edge{ 18 int to,next,cap; 19 }G[maxedge<<1]; 20 int head[maxnode],cnt=1; 21 void add(int u,int v,int c){ 22 G[++cnt].to = v; 23 G[cnt].next = head[u]; 24 G[cnt].cap = c; 25 head[u] = cnt; 26 } 27 void insert(int u,int v,int c){ 28 add(u,v,c);add(v,u,0); 29 } 30 int dis[maxnode],q[maxnode],l,r; 31 int S,T,cur[maxnode]; 32 #define v G[i].to 33 bool bfs(){ 34 memset(dis,-1,sizeof dis); 35 dis[S] = 0;l = 0;r = -1; 36 q[++r] = S; 37 while(l <= r){ 38 int u = q[l++]; 39 for(int i = head[u];i;i=G[i].next){ 40 if(dis[v] == -1 && G[i].cap){ 41 dis[v] = dis[u] + 1; 42 q[++r] = v; 43 } 44 } 45 }return dis[T] != -1; 46 } 47 int dfs(int u,int f){ 48 if(u == T || f == 0) return f; 49 int ret = 0; 50 for(int &i = cur[u];i;i=G[i].next){ 51 if(dis[v] == dis[u] + 1){ 52 int x = dfs(v,cat_min(G[i].cap,f)); 53 ret += x;f -= x; 54 G[i].cap -= x;G[i^1].cap += x; 55 if(f == 0) break; 56 } 57 }if(ret == 0) dis[u] = -1; 58 return ret; 59 } 60 #undef v 61 inline int dinic(){ 62 int ret = 0; 63 while(bfs()){ 64 memcpy(cur,head,sizeof head); 65 ret += dfs(S,inf); 66 }return ret; 67 } 68 int tag[maxnode]; 69 inline void init(){ 70 memset(head,0,sizeof head); 71 memset(tag,0,sizeof tag); 72 cnt = 1;S = maxnode - 5;T = S+1; 73 } 74 char map[maxn][maxn],ch; 75 #define f(x,y) ((x-1)*m+y) 76 int dx[] = {0,0,0,1,-1}; 77 int dy[] = {0,1,-1,0,0}; 78 int main(){ 79 int tim;read(tim); 80 for(int Case = 1;Case <= tim;++Case){ 81 init(); 82 int n,m;read(n);read(m); 83 for(int i=1;i<=n+2;++i) map[i][1] = map[i][m+2] = ‘D‘; 84 for(int i=1;i<=m+2;++i) map[1][i] = map[n+2][i] = ‘D‘; 85 for(int i=2;i<=n+1;++i){ 86 for(int j=2;j<=m+1;++j){ 87 while(ch=getchar(),ch<‘!‘); 88 map[i][j] = ch; 89 } 90 }n += 2;m += 2; 91 for(int i=1;i<=n;++i){ 92 for(int j=1;j<=m;++j){ 93 if((i+j)&1){ 94 if(map[i][j] == ‘.‘) insert(S,f(i,j),inf),tag[f(i,j)] = 1; 95 if(map[i][j] == ‘D‘) insert(f(i,j),T,inf),tag[f(i,j)] = 2; 96 }else{ 97 if(map[i][j] == ‘D‘) insert(S,f(i,j),inf),tag[f(i,j)] = 1; 98 if(map[i][j] == ‘.‘) insert(f(i,j),T,inf),tag[f(i,j)] = 2; 99 } 100 for(int k=1;k<=4;++k){ 101 int nx = i + dx[k]; 102 int ny = j + dy[k]; 103 if(nx < 1 || ny < 1 || nx > n || ny > m) continue; 104 if(tag[f(i,j)] == 0 || tag[f(nx,ny)] == 0) insert(f(i,j),f(nx,ny),1); 105 else if(tag[f(i,j)] != tag[f(nx,ny)]) insert(f(i,j),f(nx,ny),1); 106 } 107 } 108 } 109 int ans = (2*n*m) - (n+m) - dinic(); 110 printf("Case %d: %d\n",Case,ans); 111 } 112 getchar();getchar(); 113 return 0; 114 } 115
以上是关于我国海岸线有多少公里的主要内容,如果未能解决你的问题,请参考以下文章