08 2012 档案
摘要:优先队列(priority queue) 优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。 首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~关于priority_queue1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置.2,如同stack和queue,priority_queue是一个基于基本序列容器进行构建的适配器,.
阅读全文
摘要:bellman-ford算法资料链接http://hi.baidu.com/kerrynit/item/f16bfbd465dc6b87270ae772STL资料链接http://net.pku.edu.cn/~yhf/UsingSTL.htm资料链接http://blog.csdn.net/byxdaz/article/details/4633826计算几何 基础篇资料链接http://www.cnblogs.com/jbelial/archive/2011/08/04/2127487.html计算几何 模板资料链接http://blog.csdn.net/mindmb/article/de
阅读全文
摘要:这两道题都是规范相交的模板题。HDU 1086题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1086View Code 1 #include<stdio.h> 2 #include<stdlib.h> 3 struct node 4 { 5 double x,y; 6 }start[124],end[124]; 7 double eps=0.0000000001; 8 double judge(node p1,node p2,node p )//判断点是否在直线的两边 9 {10 return (p1.x-p.x)*(p2.
阅读全文
摘要:叉乘求面积 模板题题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2036View Code 1 #include<stdio.h> 2 #include<string.h> 3 int square(int a1,int b1,int a2,int b2) 4 { 5 return(a1*b2-a2*b1); 6 } 7 int main() 8 { 9 int n,i;10 double fan,x[100],y[100];11 while(~scanf("%d",&n)&&n!
阅读全文
摘要:字典树模板题。题目链接http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1500View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define N 26 5 struct node 6 { 7 int num; 8 struct node *next[N]; 9 }tree[21000];10 int t=0;11 struct node *creat()12
阅读全文
摘要:字典树模板题题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1247View Code 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 26 5 #define maxn 1000000 6 char s[50001][101]; 7 struct node 8 { 9 int flag;10 struct node *next[N];11 }tree[maxn];12 int t=0;13 struct no
阅读全文
摘要:很水的DP= =基本上都不能叫DP了,有点贪心的成分了。题目链接http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1299View Code 1 #include<stdio.h> 2 #include<string.h> 3 int b[1100],maxlen[1100]; 4 int main() 5 { 6 int n,m,i,j; 7 scanf("%d",&n); 8 for(i=1;i<=n;i++) 9 {10 scanf
阅读全文
摘要:很水很水的DP。课本上的模板题。题目链接http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2080View Code 1 #include<stdio.h> 2 #include<string.h> 3 int map[510][510]; 4 char str1[510],str2[510]; 5 int main() 6 { 7 int len1,len2,i,j; 8 while(gets(str1)) 9 {10 gets(str2);11 ...
阅读全文
摘要:线段树的单点更新的应用。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4217View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define N 1000000 5 __int64 temp; 6 struct node 7 { 8 __int64 l,r; 9 __int64 sum;10 }xtree[4*N];11 void pushup(int rn)12 {13 xtree[rn].sum=xtree[r
阅读全文
摘要:线段树单点更新模板题。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1754这个实现的效率比较低。比大小必须写成函数才不会TLE。View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define N 500000 5 struct node 6 { 7 int l,r; 8 int sum; 9 }xtree[4*N];10 int max(int a,int b)11 {12 return a>b?a:
阅读全文
摘要:线段树单点更新。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1166模板题。我写的。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define N 100000 5 struct node 6 { 7 int l,r; 8 int sum; 9 }xtree[4*N];10 void pushup(int rn)11 {12 xtree[rn].sum=xtree[rn<<1].sum+xtree
阅读全文
摘要:最短路问题。这个题也够DT。。出题者真会YY。题目链接http://poj.org/problem?id=3259两个算法。一个是bellman-ford一个就是他的队列实现。也就是对他的优化spfa算法。bellman-ford算法View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define INF 1000000 4 int N,F,M,W,en;//N 农场个数,F 农田个数 M路径条数 W虫洞个数 en边数 5 int dist[510]; 6 typedef struct node 7 { 8 int
阅读全文
摘要:题目链接http://poj.org/problem?id=1125最短路的题目。此题的题意是相当蛋疼啊。来看翻译下输入输出输入你的程序包含多组股票经纪人的输入数据。每组以股票经纪人的人数开始。接下来的几行是每个经纪人与其他人接触的一些信息,包括这些人都是谁,以及将讯息传达到他们所需的时间。每个经纪人与其他人接触信息的格式如下:开头的第一个数表示共有n个联系人,接下来就有n对整数。每对整数列出的第一个数字指的是一个联系人(例如,一个'1'是指编号1的人),其次是在传递一个信息给那个人时所采取分钟的时间。没有特殊的标点符号或空格规则。每个人的编号为1至经纪人数目。所花费的传递时间
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1874最短路Dijkstra模板题View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1000000 4 int map[250][250],visit[250],lowcost[250]; 5 void dis(int n,int s,int t) 6 { 7 int i,j,k,min; 8 for(i=0;i<n;i++) 9 {10 visit[i]=0;11 l...
阅读全文
摘要:这两个题都是畅通工程的。杭电上真是各种畅通工程。1102 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1102还是用的Prim算法。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1000000 4 int map[110][110],lowcost[110]; 5 int visit[110]; 6 int prim(int maxminum) 7 { 8 int sum=0,min,k,i,j; 9 memset(visit,0,s...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1879还是最小生成树的模板题我用的Prim算法View Code 1 #include<stdio.h> 2 #include<string.h> 3 int map[110][110],lowcost[110],visit[110]; 4 #define N 1000000 5 int prim(int maxminum) 6 { 7 int i,sum,j,k,min; 8 for(i=1;i<=maxminum;i++) 9 {10 l...
阅读全文
摘要:今天学的最小生成树,先放上这个裸的题。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1233Prim算法View Code 1 #include<stdio.h> 2 #include<string.h> 3 int map[110][110],lowcost[110],visit[110]; 4 #define N 1000000 5 int prim(int maxminum) 6 { 7 int i,sum,j,k,min; 8 for(i=1;i<=maxminum;i++) 9 {10 lowco...
阅读全文
摘要:欧几里德算法也就是一般说的辗转相除法。代码框架如下:int gcd(int a, int b) { return b ? gcd(b, a%b) : a;}粗略估计需要进行O(log b)次整数运算。实际上,当n固定后gcd(m, n)的平均迭代次数(m <= n)近视为(12*ln2 / π2)*ln(n) 。(不知道怎么证明的-_-!) 扩展欧几里德算法 设gcd(a, b) = d,则存在正整数x, y满足ax + by = d。算法框架int x, y;int ext_gcd(int a, int b) { if(b == 0) { x = 1; y = ...
阅读全文
摘要:long long merge_sort(int l, int r) { int mid, p, q, i, j, len; if(l >= r) return 0; mid = (l + r) >> 1; len = r - l + 1; p = l; q = mid + 1; j = l; for(i = 0; i < len; ++i) { if((q > r) || (num[p] < num[q] && p <= mid)) { t[j++] = num[p++]; } else { ...
阅读全文
摘要:下图说的很清楚,每次找入度为0的点,将其从序列中删掉,同时与它相连的所有点入度减一;实现代码,以HUD_1285为例:#include <iostream>#include <cstdio>using namespace std;const int N = 501;int map[N][N];int into[N], ans[N];void toposort(int x){ int i, j, k; for(i = 1; i <= x; i++) for(j = 1; j <= x; j++) if(map[i][j]) ...
阅读全文
摘要:并查集(Union-Find Sets),字面意思理解——合并,查找。给出一个集合,将其合并后用一个点代替一个集合的元素。例如:1 22 34 3合并后就是 2 / \1 3 \ 4主要操作:1、查找。2、合并。查找方法见http://www.cnblogs.com/vongang/archive/2011/07/31/2122763.html合并实现方法如下:void Union(int root1, int root2){ int x = FindSet(root1), y = FindSet(root2); if( x == y ) return ; if( r...
阅读全文
摘要:struct node{ int v; //边的结束顶点int w; //边的长度 node* next; //指向以同一起点的下一条边的指针}*first[N]; //first[u]指向以u为起始点的第一条边void init(){ memset(first,NULL,sizeof(first));}void add(int u, int v, int w)//添加边{ node* p =new node; p->v = v; p->w = w; p->next = fisrt; first[u] = p;}//使用的时候,找u的邻接点for(node* p...
阅读全文
摘要:当对很大的数(比如100位)进行运算时,肯定不能c/c++内的数据类型直接运算(当然Java里的BigNumber可以。。。)这时就要用数组模拟运算过程。+, - ,*, /,运算貌似是小学学的东西,童鞋们,现在要用到小学的知识啦!!先说加法,大体的操作包括逆序、对位、求和、进位(其实就是小学的加法运算,不过是把数倒过来算,至于为什么要逆序。。。)例题:http://poj.grids.cn/practice/2981代码:#include <stdio.h>#include <string.h>#define MAX 200int an1[MAX+10];int an
阅读全文
摘要:堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]或者Key[i]>=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i]<=key[2i+1]&&Key[i
阅读全文
摘要:快排过程很简单,就是一个二分的思想,过程如下(从小到大为例):1、取一个关键字;2、把序列中大于关键字的放在关键字右边;3、把序列中小于关键字的放在关键字左边;4、重复1-3步,直到序列有序;代码+注释:#include<stdio.h>#define N 100int QuickSort1 (int r[], int low, int high){ int key; key=r[low]; /*取轴值记录关键字*/ while(low<high) /*从表的两端交替地向中间扫描*/ { while(low<high && r[high]...
阅读全文
摘要:二叉排序数的(递归)定义:1、若左子树非空,则左子树所有节点的值均小于它的根节点;2、若右子树非空,则右子树所有节点的值均大于于它的根节点;3、左右子树也分别为二叉排序树。如图:链表实现(比较简单):View Code #include <stdio.h>#include <malloc.h>typedef struct node{ int data; struct node * lchild; struct node * rchild;}node;void Init(node *t){ t = NULL;}node * Insert(node *t , int key
阅读全文
摘要:栈和队列都是最基础的数据结构,栈的思想是“先进后出”,队列的思想是“先进先出”。怎么说呢,栈和队列其实都是对于单链表或者数组的一些特殊操作。在后边很多算法中经常用到(比如BFS, SPFA。。。)栈主要操作有:入栈Push;取栈顶Get_Top;出栈(删除栈顶元素)Pop;栈的数组实现(代码非常简单,关键是思想)://数组实现#include <stdio.h>#include <malloc.h>#define maxsize 10typedef struct{ int data[maxsize]; int top; int base;}seqstack;seqsta
阅读全文
摘要:题目链接http://poj.org/problem?id=1061扩展欧几里得+线性同余方程从题意中很容易得到等式x+mt = y+nt(mod L)//t代表时间移动左右得到 (m-n)t = y-x(mod L);所以 得到(m-n)*a - L*b = y-x的扩展欧几里得,求解a,套上模版就OK了。View Code 1 #include <stdio.h> 2 #include <string.h> 3 __int64 x,y; 4 __int64 ext_eucld(__int64 a,__int64 b) 5 { 6 __int64 t,d; 7 if(
阅读全文
摘要:题目链接http://poj.org/problem?id=1942题意 输入边长 有多少种走法思路 组合数模板View Code 1 #include<stdio.h> 2 int main() 3 { 4 __int64 n,m,s,t,i,sum; 5 while(~scanf("%I64d%I64d",&n,&m)) 6 { 7 if(n==0&&m==0) 8 { 9 break;10 }11 if(n>m)12 s=m;13 else14...
阅读全文
摘要:题目链接http://poj.org/problem?id=2115拓展欧几里得算法+线性同余方程题目大意是问A经过多少次能到达B, 当A的值大于 2^k时 A = A%2^k;从题目中可以得到方程: a + c*x = b (mod 2^k) 变形得 c*x = (b-a) (mod 2^k); 再变形得: c*x – 2^k*y = (b – a)解扩展欧几里德方程就可以了View Code 1 #include<iostream> 2 #include<stdio.h> 3 using namespace std; 4 __int64 ext_gct(__int6
阅读全文
摘要:思路 从网上拿的。。。先输入N表示有N头牛,接下来的N个数是各个牛所在的位置。如果一头牛对另一头牛Moo,那么Moo数就是1号牛所在位置i与2号牛所在位置j的差值,又因为1号牛Moo过去,所以2号牛也要Moo回来,于是Moo数就变为2倍了。1号牛要对剩余所有(N-1)头牛都Moo,如果我们将牛按顺序排好,每头牛i只对它身后的(N-i)头牛Moo,意思是,我们只考虑某头牛Moo出去的,而不考虑别的牛对它Moo回来的,那么它也不对在它前面的牛Moo,那么这就是一个简单的数学问题,每头牛i只对身后的(N-i)头牛Moo。因为所有牛还要Moo回去,所以最后结果乘2就可以了。这就想到可以用循环来实现,对
阅读全文
摘要:题目链接http://poj.org/problem?id=3461题目大意 以A为子串,查找B中有几个A。思路。KMP算法View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1000001 4 int nextt[N]; 5 char str1[N],str2[N]; 6 void next(char s[]) 7 { 8 int i=1,j=0; 9 int len=strlen(s);10 nextt[0]=-1;11 while(i<len)12 {13 ...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2094图论 拓扑排序 不过难点是输入的是字符 用STL mapView Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<map> 5 using namespace std; 6 map<string,int>p; 7 int o[2001][2001],key[2001]; 8 char str1[100],str2[100]; 9 in
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1285图论 最简单的拓扑排序 寻找入度为0的点删掉 然后让跟它相连的点入度减一View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int map[501][501],topp[501],inde[501]; 5 void toppsort(int n) 6 { 7 int i,j,k; 8 for(i=1;i<=n;i++) 9 {10 for(j=1;j<=
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1905题意:给一个 p 和 一个 a,如果这个p 本身就是一个素数,就输出 no,如果不是素数,那么计算( a ^ p) % p 如果结果等于 a 那么输出 yes 否则输出 no也就是伪素数。View Code 1 #include<stdio.h> 2 #include<math.h> 3 __int64 jud(__int64 n) 4 { 5 __int64 i; 6 for(i=2;i*i<n;i++) 7 if(n%i==0) 8 retu...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2035快速幂取模板View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int a,b,cj,jg,i; 6 while(~scanf("%d %d",&a,&b)) 7 { 8 9 if(a==0&&b==0)10 break;11 if(b==0)12 {13 printf("1\n");14 ...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2503View Code 1 #include<stdio.h> 2 #include<string.h> 3 __int64 gcd(__int64 a,__int64 b) 4 { 5 return b==0?a:gcd(b,a%b); 6 } 7 int main() 8 { 9 __int64 n,a,b,c,d,t,k,m;10 scanf("%I64d",&n);11 while(n--)12 {13 scanf("%I64d%
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2817快速幂取模问题套用模板就可以View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define M 200907 4 __int64 quickpow(__int64 m,__int64 n) 5 { 6 int b=1; 7 while(n>0) 8 { 9 if(n&1)10 b=(b*m)%M;11 n=n>>1;//位运算 相当于n^212 m=...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2673排序题刚讲了归并排序就用归并排序做View Code 1 #include<stdio.h> 2 void qsort(int a[],int l,int r) 3 { 4 int x=a[l],i=l,j=r; 5 if(l>=r)return; 6 while(i<j) 7 { 8 while(i<=j&&a[j]>=x) 9 j--;10 a[i]=a[j];11 while(i<j&&a[i...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1867题目大概意思就是 有重复的就覆盖掉 然后输出。不过这个得比较字符串str1 str2还得再比较str2 str1.思路 KMP算法 掌握的还是不熟。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define N 100001 5 int nextt[N]; 6 void next(char s[]) 7 { 8 int i=1,j=0; 9 int len=
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1753小数的高精度运算思路 把小数点前后分开存,然后统一进位,输出时再输出小数点。View Code 1 #include <stdio.h> 2 #include <string.h> 3 #define N 405 4 int a[N]; 5 int b[N]; 6 int c[N]; 7 int a1[N]; 8 int b1[N]; 9 int c1[N]; 10 int d[N]; 11 char stra[1000]; 12 char strb[1000]; 13
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1715MS我写的比较麻烦,各种进位什么的,学长说用递归加打表就可以搞定。我的View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define max 1000 4 char n1[max],n2[max],n3[max]; 5 void add(char *n1,char *n2,char *n3) 6 { 7 memset(n3,0,max); 8 int len=strlen(n1); 9 int i;10 ...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1106题目难点在分割整数吧,快排可以套用模板。方法1 快排View Code 1 #include<stdio.h> 2 char str[1010]; 3 int a[100000]; 4 void qsort(int a[],int l,int r) 5 { 6 int x=a[l],i=l,j=r; 7 if(l>=r) return; 8 while(i<j) 9 {10 while(i<j&&a[j]>=x)j--;11 a[...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1031题意 先按满意度排序,再按序号输出。思路 数据量并不大 用个结构体,用一般的排序就可以。View Code 1 #include<stdio.h> 2 #include<string.h> 3 struct s 4 { 5 int num; 6 double mark; 7 }a[1000],t; 8 int main() 9 {10 int n,m,k,i,j,o,s;11 double d;12 while(~scanf("%d %d %d",&a
阅读全文
摘要:题目链接http://acm.timus.ru/problem.aspx?space=1&num=1100思路 结构体的二级排序 不过要按照先输入先输出的顺序。因此可以先给它赋上编号。然后如果相等的话,按照编号来进行二级排序。先输出编号小的。View Code 1 #include<stdio.h> 2 #include<stdlib.h> 3 struct in 4 { 5 int id; 6 int m; 7 int num; 8 }ss[150001]; 9 int cmp(const void *a,const void *b)10 {11 struct
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1272并查集的简单应用解题思路:题目意思是找到判断是不是连通无环的图,首先想到的就是并查集。 1判断成环的时候,只要判断输入边的两个点。有一个共同的父节点,那么这两个点就成环。 2判断连通的时候,只要判断根节点数为1即可。 注意:当输入的这组数据只有 0 0 时,依然是满足条件的,即应输出 "Yes"。View Code 1 #include<iostream> 2 using namespace std; 3 #define MAX 100005 4 int fath
阅读全文
摘要:这两个是一个类型的题目。放在一块吧。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1262View Code题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2098View Code 1 #include <stdio.h> 2 #include<math.h> 3 int jud(int n) 4 { int t=sqrt(n),i; 5 t++; 6 for(i=2;i<t;i++) 7 if(n%i==0) return 0; 8 return 1; 9 }10 int
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1241最基本的图论问题DFS 和BFS都能做DFSView Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define maxn 107 5 char map[maxn][maxn];//邻接矩阵存图 6 int visit[maxn][maxn];//标记节点是否被访问过0表示未被访问过1表示访问过 7 int dir[8][2] = {{0,1},{1,1},{-
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1047多个数的大数相加问题View Code 1 #include<stdio.h> 2 #include<string.h> 3 int a[100000]; 4 char b[100000]; 5 int main() 6 { 7 int n,i,j,t,max; 8 scanf("%d",&n); 9 getchar();10 while(n--)11 {12 memset(a,0,sizeof(a));13 while(...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1028思路 整数的划分问题 和分苹果问题应该差不多。套用组合数学母函数模板View Code 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int num1[200]; 6 int num2[200]; 7 int n,i,j,k; 8 while(~scanf("%d",&n)) 9 {10 for(i=0;i<=n;i++)11 {12 ...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1181此题多种方法。比如说Flyod传递闭包 就能搞定 这里只写DFS和BFS熟悉下。只有DFS是我写的,其他的都是同学的。DFSView Code 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 30 5 int m[N][N],flag,visit[N]; 6 void dfs(int n) 7 { 8 int i; 9 if(n=='m'-
阅读全文

浙公网安备 33010602011771号