文档章节

阿里的新天池任务(简单版)

ricardohn
 ricardohn
发布于 2017/05/20 19:28
字数 445
阅读 18
收藏 0

 

阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss中出现了多少次。

其中 ∧ 表示“且”关系,∨ 表示“或”关系,a  mod}\ ba mod b 表示 aa 除以 bb 的余数。

现给定另一个 DNA 碱基序列 tt,以及生成 ss 的参数 n , a , b , L , Rn,a,b,L,R,求 tt 在 ss 中出现了多少次。

输入格式

数据第一行为 55 个整数,分别代表 n , a , b , L , Rn,a,b,L,R。第二行为一个仅包含ATGC的一个序列 tt。

数据保证 0 < a < n,0<a<n, 0 \le b < n,0≤b<n, 0 \le L \le R < n,0≤L≤R<n, |t| \le 10^{6}∣t∣≤10​6​​,a,na,n 互质。

对于简单版本,1 \leq n \leq 10^{6}1≤n≤10​6​​;

对于中等版本,1 \leq n \leq 10^{9}, a = 11≤n≤10​9​​,a=1;

对于困难版本,1 \leq n \leq 10^{9}1≤n≤10​9​​。

输出格式

输出一个整数,为 tt 在 ss 中出现的次数。

样例说明

对于第一组样例,生成的 ss 为TTTCGGAAAGGCC

样例输入1

13 2 5 4 9
AGG

样例输出1

1

样例输入2

103 51 0 40 60
ACTG

样例输出2

5
import re
arguments = [int(c) for c in raw_input().split(" ")]
pattern = raw_input()

n = arguments[0]
a = arguments[1]
b = arguments[2]
L = arguments[3]
R = arguments[4]

w = [b]

for i in range(1,n):
    w.append((w[i-1]+a)%n)


def generate_s(a,b,L,R):
    s = ""
    for i in range(n):
        if w[i] % 2 == 0:
            if  L <= w[i] <= R:
                s += "A"
            else:
                s += "G"
        else:
            if  L <= w[i] <= R:
                s += "T"
            else:
                s += "C"
    return s

ss = generate_s(a,b,L,R)

number = 0

while ss != "":
	if ss.find(pattern) != -1:
		number += 1
		s = s[s.find(pattern)+1:]
	else:
		break

 

© 著作权归作者所有

上一篇: 成三游戏
下一篇: fluent Python 记录
ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
私信 提问
天池平台再升级,打造产业AI知识共享、技术共享平台

在5月23日的云栖大会·武汉峰会上,天池发布“全球AI开发者计划”,打造一站式人工智能知识共享平台,计划2年内在平台上集聚30万AI工程师。同时,阿里云天池正式升级,成为从产业机会到实施交...

天池市场
2018/05/25
0
0
天池全球AI开发者计划今日发布,免费干货尽在AI学习!

  在今天的云栖大会·武汉峰会上,天池发布“全球AI开发者计划”,打造一站式人工智能知识共享平台,计划2年内在平台上集聚30万AI工程师。同时,阿里云天池正式升级,成为从产业机会到实施...

天池大数据科研平台
2018/06/06
0
0
Alibaba Cluster Data 开放下载:270 GB 数据揭秘你不知道的阿里巴巴数据中心

  2018倒计时 不足 3 天   面对即将迎来的元旦假期,小天决定揭秘一组Alibaba Cluster Data 神秘数据集,(文末扒获取方式)期待感兴趣的小哥哥小姐姐们在观赏窗外小雪发、肥家压着大马路...

天池大数据科研平台
2018/12/30
0
0
最该fork的公共数据集!此时不"冲鸭"何时变"真香"?

     亲爱的小池糖们~   大家都在做啥呀~      0 1 叮~刚出炉的ta!   不知道各位宝宝们   有木有观察到!!   天池技术圈(敲重点)   出了一篇典藏版、高质量的   主题...

天池大数据科研平台
2018/12/18
0
0
教程 |【阿里云.人脸识别】人脸检测定位

在上一章中,我们介绍了阿里云.人脸识别获取accesskey ID 和 accesskey Secret 的查看方法,有需要了解的同学可以点击回顾: 教程 |【阿里云.人脸识别】Access Key ID 和 Access Key Secret ...

数据智能小二
05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部