Jzoj2197 三核苷酸

CANoe之UDS诊断自动化测试(四):创建诊断自定义Panel发送诊断(替代Session Control窗口) 通过自定义的Panel界面实现诊断发送的功能,并且还可以根据自己的测试需求添加需要的诊断信息,使用非常灵活。 阅读详情

     三核苷酸是组成DNA序列的基本片段。具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示。而三核苷酸就是由3个核苷酸排列而成的DNA片段。三核苷酸一共有64种,分别是’AAA’,’AAG’,…,’GGG’。给定一个长度为L的DNA序列,一共可以分辨出(L-2)个三核苷酸。现在我们想用一些统计学的方法来进行一些分析,步骤如下:

1.对于这(L-2)个三核苷酸,我们从左到右给予编号,分别为1到L-2。

2.从这(L-2)个三核苷酸挑选一对出来,一共有(L-2)*(L-3)/2种可能。如果某一对三核苷酸是一样的,我们就记录他们之间的距离。他们之间的距离定义为他们的编号之差。
3.根据我们所记录的“样本数据”,我们现在需要计算样本数据的方差。


方差的计算公式是S2=1/n*Σ(X-Xi)^2 ,nX=ΣXi

我们把它拆开就可以得到nS2=X^2-2nX^2+ΣXi^2

也就是说我们只需要得到每一对样本差的和平方和就好了,直接一个前缀和

注意浮点误差

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<vector>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
vector<long long> c[64];
int n,T,d[128]; char t[100010];
long long s[100010],s2[100010],S,S2,N;
int _18520(){
	scanf("%s",t+1); n=strlen(t+1); S=S2=N=0;
	for(int i=3;i<=n;++i) c[d[t[i]]+d[t[i-1]]*4+d[t[i-2]]*16].push_back(i);
	for(int i=0;i<64;++i) if(c[i].size()>1){
		N+=c[i].size()*(c[i].size()-1)>>1;
		for(int j=0,z=c[i].size();j<z;++j)
			s[j+1]=s[j]+c[i][j],s2[j+1]=s2[j]+c[i][j]*c[i][j];
		for(int j=1,z=c[i].size();j<z;++j)
			S+=c[i][j]*j-s[j],S2+=c[i][j]*c[i][j]*j+s2[j]-2*c[i][j]*s[j];
	}
	if(N==0) puts("0.000000");
	else printf("%.6lf\n",-(double)S/N*S/N+(double)S2/N);
}
int main(){
	freopen("tri.in","r",stdin);
	freopen("tri.out","w",stdout); 
	d['A']=0; d['G']=1; d['C']=2; d['T']=3;
	for(scanf("%d",&T);T--;_18520())
		for(int i=0;i<64;++i) c[i].clear();
}

PD3.0详解 电源规则,全解!!!全解!!! 电源规则 大师匈今天谈一下PD3.0的电源规则,PD3.0标准标定的规则。 USB协议声称,为了世界和平世界环境,让大家用上统一标准的充电器,不用再为每一个用电设备都配一个专门的充电器,这些充电器各种各样的都有,所以有时候大师匈也很烦!!!那么为了维护世界和平,USB协议呢就制订了这个PD快充协议,还有它的规则,只要全世界都用PD,就解决了这个大问题。 在这里先了解一个关键字,PDP: Power Delivery Power PD电源的功率。 每个PD充电产品的功率要以0.5W的精度上报,比如大师匈做的P 阅读详情

相关推荐

自动驾驶仿真(六)—— SIL软件在环仿真测试

自动驾驶仿真六—— SIL软件在环仿真测试1. 在环仿真测试2. SIL软件在环仿真测试2.1 模型配置参数2.2 S function生成实现2.3 结果对比3. 参考学习的书目教材 博主前面的博文已经简要介绍了Carsim、Prescan 与 Simulink 在 “V”型开发流程的一些应用,现今成熟的汽车控制系统软件都是以(Model Based Design,MBD)来开发,它以图形化的方式表达复杂的逻辑、代码可读性、可移植性、开发调试便利程度都大大增强,同时利用成熟的代码生成工具链,也避免了手工代

zhudj08的博客 8649

三核苷酸

Description 三核苷酸是组成DNA序列的基本片段。具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示。而三核苷酸就是由3个核苷酸排列而成的DNA片段。三核苷酸一共有64种,分别是’AAA’,’AAG’,…,’GGG’。给定一个...

1397

Spring Authorization Server自定义密码模式:突破标准OAuth2限制,实现MFA与复杂业务集成

OAuth 2.0授权框架是构建现代应用安全体系的基石,其密码模式(Resource Owner Password Credentials Grant)提供了一种直接的资源所有者凭证交换令牌的机制。该模式的核心原理是客户端收集用户密码并直接向授权服务器请求访问令牌,适用于受信任的客户端场景。在技术价值上,它简化了某些传统应用的OAuth集成流程。然而,标准实现往往难以满足复杂的现实业务需求,例如需要集成多因素认证(MFA)、对接外部LDAP目录服务或执行自定义密码加密校验等场景。Spring Authori

weixin_34302561的博客 437

[Jzoj] 2197. 三核苷酸

题目描述 三核苷酸是组成DNADNADNA序列的基本片段。具体来说,核苷酸一共有444种,分别用’A’,’G’,’C’,’T’’A’,’G’,’C’,’T’’A’,’G’,’C’,’T’来表示。而三核苷酸就是由333个核苷酸排列而成的DNADNADNA片段 三核苷酸一共有646464种。给定一个长度为LLL的DNADNADNA序列,一共可以分辨出(L−2)(L-2)(L−2)个三核苷酸。现在我们想...

AAA_Ljw 653

WhatsApp API接口的隐秘角落:从协议解析到自定义消息引擎

本文深入解析WhatsApp API接口的隐秘角落,从协议逆向工程到自定义消息引擎开发实战。通过分析WhatsApp的二进制XML协议和加密机制,构建超越官方API限制的自定义消息引擎,实现高效、灵活的即时通讯解决方案。文章还提供了企业级架构设计和风控规避策略,助力开发者突破官方限制,提升消息到达率和成本效益。

q3r4s5t的博客 761

Crossbar RRAM技术解析:从1TnR架构到存储革命

非易失性存储器(NVM)是数据存储的核心技术,其原理基于物理状态的稳定改变以实现数据持久化。阻变存储器(RRAM)作为一种新兴NVM,利用导电细丝在介质层中的形成与断裂实现数据存储,具有高速、低功耗和结构简单的优势。在工程实践中,RRAM面临潜行路径电流等挑战,而Crossbar提出的1TnR架构通过引入共享晶体管有效解决了这一问题,在保证性能的同时提升了集成密度。该技术与CMOS工艺兼容,支持后端集成与多层堆叠,为高密度存储和嵌入式应用提供了新的解决方案。结合当前行业对高能效、高密度存储的需求,RRAM在

weixin_42523104的博客 317

bzoj 2468 jzoj 2197. 【中山市选2010】三核苷酸

Description三核苷酸是组成DNA序列的基本片段。具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示。而三核苷酸就是由3个核苷酸排列而成的DNA片段。三核苷酸一共有64种,分别是’AAA’,’AAG’,…,’GGG’。给定一个长度为L的DNA序列,一共可以分辨出(L-2)个三核苷酸。现在我们想用一些统计学的方法来进行一些分析,步骤如下: 1.对于这(L-2)个三核苷酸,

liangzihao1的博客 375

AutoCAD中圆弧折线化方法与实现

在AutoCAD中,圆弧折线化是将圆弧曲线转换为由一系列线段组成的折线曲线的过程。本文将介绍如何使用LISP编写代码来实现圆弧折线化,并提供相应的源代码。上述示例代码将生成一个以坐标原点为圆心、起点为(5.0, 0.0, 0.0)、终点为(0.0, 5.0, 0.0)、半径为5.0、角度为90度的圆弧的折线表示。通过使用上述的LISP代码,你可以在AutoCAD中实现将圆弧转换为折线的功能。你可以根据需要修改代码中的参数来适应不同的圆弧转换需求。函数,并传入圆弧的起点、终点、圆心、半径和角度参数。

VcuOcaml的博客 1417

c++中vector向量几种情况的总结(向量指针,指针的向量)

1.标准库vector类型 vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。标准库将负责管理与存储元素相关的内存。我们把 vector 称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。 用 vector之前,必须包含相应的头文件。 #include using std::vector; vector 是一个类模板(class te

s9434的博客 79万+

ESP32-C3模组上跑通HTTPS分次传输文件(1)

ESP32-C3模组上跑通HTTPS分次传输文件(1)

phmatthaus的专栏 757

人工智能技术基础系列之:迁移学习

作者:禅与计算机程序设计艺术 1.背景介绍 随着深度学习和神经网络的快速发展,越来越多的应用场景需要处理大量的数据和复杂的任务。然而,由于计算资源、存储空间等条件的限制,传统的人工智能方法往往不能满足实际需求。因此,为了提高效率和降低成本,研究人员提出了迁移学习的概念。本篇文章将详细介绍迁移学习的基

AI天才研究院 693

JZOJ 2197. 【中山市选2010】三核苷酸

题目 2197. 【中山市选2010】三核苷酸(tri.pas/.cpp)(File IO):input:tri.inoutput:tri.out Time Limits:1000 msMemory Limits:256000 KBDetailed Limits Description...

weixin_30344131的博客 144

飞牛fnNAS虚拟机开启OVS导致失联的解决

摘要:用户在使用飞牛NAS时发现开启OVS网络功能后导致NAS失联。通过多种尝试(包括开关OVS、更换系统版本、手工配置、更换网卡、处理器检查等)后发现,OVS启用状态下DHCP无法获取IP地址,手动设置IP可暂时恢复网络。但重启后问题依旧,初步判断为OVS功能存在bug。目前临时解决方案是在需要时手动开关OVS,或考虑其他虚拟化方案。用户计划后续探索替代方案,并等待官方修复该问题。

dgnankai的专栏 4331

P2197 [JZOJ/中山市市选] 三核苷酸

考虑 \(\sum (N_i-mval)^2=\sum {N_i}^2-2\times N_i \times mval+mval^2\),我们用一个 \(tot\) 记录贡献个数,用 \(val\) 记录贡献和,\(ans\) 为每一个贡献的方的和。 由于答案是每一个两两的贡献,我们再定义 \(queue_{a,b,c,t}\) 代表 \(a,b,c\) 这种块的第 \(t\) 个出现的位置存一...

weixin_30793643的博客 157

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

生物信息中的Python 01 | 从零开始处理基因序列

一、 序列数据的下载 在开始了解序列的处理流程时,我们先要知道序列下载网址。其中一个知名的网站就是NCBI (National Center for Biotechnology Information)美国国立生物技术信息中心。 1、通过如下的网站进入 NCBI ,可以看到它包含许多的子库,其中 Gene 就是我们一般下载基因序列的库,接下来,在后面的输入框输入 oct4 并点击 Search。 ...

Baimoc 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

核苷酸(evolution)

核苷酸(evolution) 题目描述   生物课是帕特里克最讨厌的课程,没有之一。 相比做一些无聊而又无趣的遗传题,他更喜欢其他所有的科目。 包括英语。 但是今天不同。他被一个关于RNA感染DNA的题目所吸引了。 我希望能够实现这样的一个功能。 DNA中包含四种核苷酸,上面具有不同的含氮碱基,分别是:腺嘌呤(A)、胸腺嘧啶(T)、鸟嘌呤(G)、胞嘧啶(C)。我们可以用形如ATTG...

liankewei的博客 638

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

核苷酸

题目描述 DNA中包含四种核苷酸,上面具有不同的含氮碱基,分别是:腺嘌呤(A)、胸腺嘧啶(T)、鸟嘌呤(G)、胞嘧啶(C)。我们可以用形如ATTGCA…的字符串来代表一条脱氧核苷酸序列。 我们需要追踪一段高变异生物的核苷酸序列。在这种生物中,其DNA序列很容易发生替换,即将某一位的核苷酸替换为其他核苷酸。 我们有一段感染串,这一条DNA单链极有可能替换原来DNA链中的核...

panjd123 1062

Jzoj3769【NOI2015模拟8.14】A+B

完成斐波那契进制下的加法运算 第一位为1,第二位为2,依次类推。。 这里其实很简单,只是要考虑一下进位即可 首先连续两位不为零直接向前进位即可 但是不能解决问题,因为可能出现一个位上面的值大于1 那么我们可以这样做,设连续的四位分别为:0,0,2,0 那么我们可以将其变成1,0,0,1 这样就相当于一次进位了,多次重复以上的进位过程即可 这里可以加上第0位方便运算 #includ

扩展の灰(Extended Ash/Cooevjnz) 573

Jzoj4840 小W砍大树

模拟就好,dfs模拟,记录深度计算 #include #include char s[32010],*S; int dijk(char*& s,int d){ int ret=(~d&1),v; for(;*s!=')';++s){ if(*s=='('){ v=dijk(++s,d+1); ret=(d&1?ret|v:ret&v); } if(*s=='T'){ v=1;r

扩展の灰(Extended Ash/Cooevjnz) 520

Jzoj3542 冒泡排序

下面是一段实现冒泡排序算法的C++代码: for (int i=1;i  for (int j=1;j if (a[j]>a[j+1]) swap(a[j],a[j+1]); 其中待排序的a数组是一个1~n的排列,swap函数将交换数组中对应位置的值。 对于给定的数组a以及给定的非负整数k,使用这段代码执行了正好k次swap操作之后数组a中元素的值会是什么样的呢? 是一个模

扩展の灰(Extended Ash/Cooevjnz) 494

Jzoj4838 I like Matrix!

(I DO NOT like matrix!!!) 首先我们可以暴力 O(nmq) 考虑压位(bitset)可以得到60pts 正解:我们发现,这些操作如果用边连接起来会形成一颗树(每个节点必然入度为1) 那我们考虑用离线方法,将所有的操作连接起来,dfs遍历整颗操作树,每个操作都暴力修改&还原 这样最多就是O(nq)的 (然而我并不认为O(nq)能过,因为n) #include

扩展の灰(Extended Ash/Cooevjnz) 441

Jzoj4764 Brothers

在遥远的西方有一个古老的王国,国王将他的王国分成了网格状,每一块称之为一个城市。在国王临死前,他将这些城市分给了自己的N个儿子(编号为0到N-1)。然而这N个王子的关系不是很好,0讨厌1,1讨厌2,2讨厌3……N-1讨厌0。 在国王死后,这种不好的关系使得王子之间爆发了战争。战斗只会在相邻的两个城市之间爆发(共有一条边称之为相邻),并且只有当A讨厌B时,A才会对B发起战斗,结果必定是A获得这次战

扩展の灰(Extended Ash/Cooevjnz) 431

Jzoj1973 信号塔

lanwuni接到一个任务,在C市建立N个信号塔来完成城市中的通讯任务。    假设C市是一个坐标范围[-2000000,2000000]的网格,一些整点上有用户,你也可以在整点上建立信号塔。 一个点上可以建立多座。 在C市,两点之间的距离是曼哈顿距离,也就是横纵坐标差值之和。 每个信号塔都有一个半径Di,表示与i曼哈顿距离不超过Di的地方都能被这个信号塔的信号覆盖到。   建立信号塔要满

扩展の灰(Extended Ash/Cooevjnz) 395

Jzoj5234 外星人的路径

有一个外星人控制了你的大脑。一开始你处于原点(0,0)。外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左)。 平面上有N 个关键点,每当外星人给出一个操作,你需要在这个方向上找到最近的一个关键点,并走到那个点上。保证输入数据合法。 100%的数据,N,M≤100000,xi,yi≤200000。 这样,我们搞2个权值线段树,一个存横坐标一个存纵坐标

扩展の灰(Extended Ash/Cooevjnz) 393
上一篇: Jzoj4210 我才不是萝莉控呢
下一篇: Jzoj1951 布娃娃
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值