LA 5052 Genome Evolution -

题目地址:http://vjudge.net/problem/UVALive-5052

题目意思就是 A中[i,j] (j>i) 中的元素数量要和 B中[a,b] (b>a)中的 一样,问有几组?

最主要是保存数字的位置关系 (连续)


第一思路:因为只要是连续就好了  ,  想想前缀和的方法: sumA[i]保存 1~i个元素中  n这个数有m个, 然后找sumA[j]-sumA[i]在sumB中有没有 ,应该不是这个方法,实现复杂,时间复杂度也高


第二思路:最简单的方式,对于每个A中的ai,在B中找到,并往前或者后面,扫描 看是否一样,也不行 ,因为只能扫描到头才能确定是否存在


看了网上的题解

题目重点是A,B都是1~n的排列 ,也就是说A和B的元素的一样,且没有重复

所以可以用数组记录B中元素的位置,再扫描A所有子串,所有元素的位置在B中是连续的


#include <bits/stdc++.h>
using namespace std;
#define REP(i,a,b)  for(int i=a;i<=(int)(b);++i)
#define REPD(i,a,b) for(int i=a;i>=(int)(b);--i)
int p[3000+5],A[3000+5],B[3000+5];
int main(int argc, char const *argv[])
{
	int n;
	while(scanf("%d",&n)==1&&n){
		REP(i,1,n) scanf("%d",&A[i]);
		REP(i,1,n) {int t; scanf("%d",&t); B[t]=i; }

		int ans=0;
		REP(i,1,n) {
			int MinP=B[A[i]];
			int MaxP=MinP;
			REP(j,i+1,n) {
				MinP=min(MinP,B[A[j]]);
				MaxP=max(MaxP,B[A[j]]);
				if(MaxP-MinP==j-i) ans++;
			}
		}
		printf("%d\n", ans);
	}
	return 0;
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于基因组的贝叶斯线性和非线性回归模型预测是一种利用基因组数据进行预测的统计方法。这种方法的目标是根据个体的基因组信息来预测其特定性状或表型,如疾病易感性、身高、体重等。 在基因组预测模型中,贝叶斯线性回归是一种常用的方法。它基于贝叶斯统计学理论,通过将先验知识与观测数据相结合,给出后验分布,从而得到模型参数的估计值。贝叶斯线性回归模型通过寻找最可能的参数值,建立起基因组和表型之间的关系,并通过这种关系进行预测。 与贝叶斯线性回归模型相比,贝叶斯非线性回归模型则允许模型参数具有非线性关系。这种模型的优势在于能够更灵活地拟合基因组和表型之间的关系,从而提高预测的准确性。贝叶斯非线性回归模型通常使用非线性函数来描述基因组和表型之间的关系,例如多项式函数或指数函数等。 基于基因组的贝叶斯线性和非线性回归模型预测的关键步骤包括数据准备、模型选择和参数估计。首先,需要对基因组数据进行处理和标准化,以确保数据质量和一致性。然后,选择合适的模型结构和特征,以提高预测精度。最后,通过贝叶斯方法估计模型参数,得到预测结果。 基于基因组的贝叶斯线性和非线性回归模型预测在遗传学、生物信息学和医学研究等领域具有广泛的应用。它不仅可以帮助我们理解基因组与表型之间的关系,还可以用于基因组选择、疾病预测和个体化医学等任务,为人类健康和疾病研究提供重要支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值