lca 订阅
LCA“光辉”是印度斯坦航空公司(HAL)为满足印度空军需要研制的单座单发轻型全天候超音速战斗攻击机,主要任务是争夺制空权、近距支援,是印度自行研制的第一种高性能战斗机。印度空军提出其作战能力必须优于美国的F-20。LCA项目是由印度政府1983年提出的,作为米格-21和Ajeet的后继机,1988年底完成任务规划,90年完成初始设计 [1]  。 展开全文
LCA“光辉”是印度斯坦航空公司(HAL)为满足印度空军需要研制的单座单发轻型全天候超音速战斗攻击机,主要任务是争夺制空权、近距支援,是印度自行研制的第一种高性能战斗机。印度空军提出其作战能力必须优于美国的F-20。LCA项目是由印度政府1983年提出的,作为米格-21和Ajeet的后继机,1988年底完成任务规划,90年完成初始设计 [1]  。
信息
研制时间
1983年
简    称
光辉
首飞时间
2001年
研发单位
印度HAL公司
国    家
印度
中文名
轻型攻击战机
服役情况
未服役
外文名
LCA
LCA研制背景
LCA最早提出在80年代初期,当时为对抗巴基斯坦购买的F-16,并要求其作战及各项性能需全面超过F-16不过由于印度自身航空研发实力有限,所以仍决定向苏联采购 米格-29向法国采购幻影2000(M-2000)。LCA转变为与其进行高低搭配的多用途轻型战机。88年HAL公布其设想图的时候表达其性能要优于F-20。LCA的研制除了HAL等印度本国公司外亦得到如法国达索、美国LM等公司的协助。并且采用较多的国外系统如爱立信的PS-05火控雷达、通用电气的F-404发动机等。尽管这样其研制进度仍一波三折。1995年11月17日首架技术验证机TD-1出厂,首飞原定于96年7月,后推迟到99年中,最后在2001年1月5日的试飞,于2008年进行第二次试飞,至于量产至少还要等到2014年以后 [2]  。
收起全文
精华内容
下载资源
问答
  • LCA

    2020-02-17 12:29:43
    function<void(int, int, int)> dfs; dfs = [&](int u, int fa, int depth) { dep[u] = depth; lca[u][0] = fa; for (int i = 1; i <... lca[u][i] = lca[lca[u][i - 1]][i ...
    function<void(int, int, int)> dfs;
    	dfs = [&](int u, int fa, int depth)
    	{
    		dep[u] = depth;
    		lca[u][0] = fa;
    		for (int i = 1; i < MAX_POW; i++)
    		{
    			lca[u][i] = lca[lca[u][i - 1]][i - 1];
    		}
    		for (auto v : edg[u])
    		{
    			//cout << "2222222\n";
    			if (v == fa)
    				continue;
    			dfs(v, u, depth + 1);
    		}
    	};
    	dep[0] = -1;
    	auto LCA = [&](int u, int v)
    	{
    		int i, len = 0;
    		//cout << "the dep is " << dep[u] << "   " << dep[v] << endl;
    		if (dep[u] > dep[v])
    			swap(u, v);
    		for (i = MAX_POW - 1; i >= 0; i--)
    		{
    			if (dep[lca[v][i]] >= dep[u])
    			{
    				v = lca[v][i];
    				//cout << "v is " << v << endl;
    				len += (1 << i);
    			}
    		}
    		if (u == v)
    			return len;
    		for (int i = MAX_POW - 1; i >= 0; i--)
    		{
    			if (lca[u][i] != lca[v][i])
    			{
    				u = lca[u][i];
    				v = lca[v][i];
    				len += (1 << (i + 1));
    			}
    		}
    		return len + 2;
    
    	};
    
    展开全文
  • lca

    2020-05-23 13:44:59
    题意:在完全二叉树中,给两个结点的位置,求出它们最近的公共祖先(lca),输入为十六进制,输出为十六进制。 思路:表面是lca,实际是二进制的题目。比如5和9它们的lca是2。5的二进制101、9的二进制1001;它们最长...

    题意:在完全二叉树中,给两个结点的位置,求出它们最近的公共祖先(lca),输入为十六进制,输出为十六进制。

    思路:表面是lca,实际是二进制的题目。比如5和9它们的lca是2。5的二进制101、9的二进制1001;它们最长公共前缀是10,也就是2。再加上16进制和2进制可以直接换算,所以我们出一下边角问题就可以直接得到lca。复杂度就是输入数据的长度。

    代码:我写了个贼暴力的解法。慢慢继续学习更优解法吧。

    #include<bits/stdc++.h>
    using namespace std;
    int a[1000],b[1000],a1[4000],b1[4000],c[4000];
    int main()
    {
    	int t,i,j,k,temp;
    	string str1,str2;
    	cin>>t;
    	while(t--)
    	{
    		memset(a,0,sizeof(a));
    		memset(b,0,sizeof(b));
    		memset(a1,0,sizeof(a1));
    		memset(b1,0,sizeof(b1));
    		memset(c,0,sizeof(c));
    		cin>>str1>>str2;
    		int len1=str1.size(),len2=str2.size();
    		for(i=0;i<len1;i++)//字符串存到数字数组里,方便进制转换 
    		{
    			if(str1[i]>='a'&&str1[i]<='f')
    			a[i]=(str1[i]-'a')+10;
    			else if(str1[i]>='0'&&str1[i]<='9') 
    			a[i]=int(str1[i]-'0');
    		}
    		for(i=0;i<len2;i++)
    		{
    			if(str2[i]>='a'&&str2[i]<='f')
    			b[i]=(str2[i]-'a')+10;
    			else if(str2[i]>='0'&&str2[i]<='9') 
    			b[i]=int(str2[i]-'0');
    		}
    		for(i=0;i<len1;i++)//16进制转二进制 
    		{
    			j=(i+1)*4;
    			temp=0;
    			while(a[i]!=0)
    			{
    				a1[j]=a[i]%2;
    				a[i]=a[i]/2;
    				j--;
    				temp++;
    			}
    			while(temp<4)
    			{
    				a1[j]=0;
    				j--;
    				temp++;
    			}
    		}
    		for(i=0;i<len2;i++)
    		{
    			j=(i+1)*4;
    			temp=0;
    			while(b[i]!=0)
    			{
    				b1[j]=b[i]%2;
    				b[i]=b[i]/2;
    				j--;
    				temp++;
    			}
    			while(temp<4)
    			{
    				b1[j]=0;
    				j--;
    				temp++;
    			}
    		}
    		len1=len1*4,len2=len2*4;
    		
    		k=0;
    		i=1,j=1;
    		//存最长公共前缀 
    		while(a1[i]==0)
    			i++;
    		while(b1[j]==0)
    		    j++;
    		for(;i<=len1&&j<=len2;i++,j++)
    		{
    			if(a1[i]==b1[j])
    			{
    				c[k]=a1[i];
    			     k++;
    			}
    			else
    			break;
    			
    		} 
    		//转十六进制 
    		int num=0,f=0;
    		char ch[1000],sh='a';
    		for(i=k-1;i>=0;)
    		{
    			num=0;
    			temp=4;
    			while(temp--)
    			{
    				num+=c[i]*pow(2,3-temp);
    				i--;
    			}
    			if(num>=10)
    			ch[f]=sh+(num-10);
    			else
    			ch[f]=num+48;
    			f++;
    		}
    	//输出数据 
    	for(i=f-1;i>=0;i--)
    	cout<<ch[i];
    	cout<<endl;
    	}
    }

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,088
精华内容 7,235
关键字:

lca