【CodeForces - 520C】DNA Alignment (快速幂,思维)

题干:

Vasya became interested in bioinformatics. He's going to write an article about similar cyclic DNA sequences, so he invented a new method for determining the similarity of cyclic sequences.

Let's assume that strings s and t have the same length n, then the function h(s, t)is defined as the number of positions in which the respective symbols of s and t are the same. Function h(s, t) can be used to define the function of Vasya distance ρ(s, t):

where  is obtained from string s, by applying left circular shift i times. For example,

ρ("AGC", "CGT") = 

h("AGC", "CGT") + h("AGC", "GTC") + h("AGC", "TCG") + 

h("GCA", "CGT") + h("GCA", "GTC") + h("GCA", "TCG") + 

h("CAG", "CGT") + h("CAG", "GTC") + h("CAG", "TCG") = 

1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 1 = 6

Vasya found a string s of length n on the Internet. Now he wants to count how many strings t there are such that the Vasya distance from the string s attains maximum possible value. Formally speaking, t must satisfy the equation: .

Vasya could not try all possible strings to find an answer, so he needs your help. As the answer may be very large, count the number of such strings modulo 109 + 7.

Input

The first line of the input contains a single integer n (1 ≤ n ≤ 105).

The second line of the input contains a single string of length n, consisting of characters "ACGT".

Output

Print a single number — the answer modulo 109 + 7.

Examples

Input

1
C

Output

1

Input

2
AG

Output

4

Input

3
TTT

Output

1

Note

Please note that if for two distinct strings t1 and t2 values ρ(s, t1) и ρ(s, t2)are maximum among all possible t, then both strings must be taken into account in the answer even if one of them can be obtained by a circular shift of another one.

In the first sample, there is ρ("C", "C") = 1, for the remaining strings t of length 1 the value of ρ(s, t) is 0.

In the second sample, ρ("AG", "AG") = ρ("AG", "GA") = ρ("AG", "AA") = ρ("AG", "GG") = 4.

In the third sample, ρ("TTT", "TTT") = 27

 

解题报告:

    直接看哪个字母出现的次数最多就行了,注意有可能很多字母出现的次数一样多,所以扫两遍就做完了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
char s[MAX];
int bk[20];
ll mod = 1e9+7;
ll qpow(ll a,ll k) {ll res = 1;while(k) {if(k&1) res = (res*a)%mod;k>>=1;a=(a*a)%mod; }return res;
}
int main()
{ll n;cin>>n;cin>>(s+1);int len = strlen(s+1);for(int i = 1; i<=len; i++) {if(s[i] == 'A') bk[1]++;if(s[i] == 'C') bk[2]++;if(s[i] == 'G') bk[3]++;if(s[i] == 'T') bk[4]++;}int maxx = *max_element(bk+1,bk+5);ll cur = 0;for(int i = 1; i<=4; i++) {if(bk[i] == maxx) cur++;}printf("%lld\n",qpow(cur,n));return 0 ;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华北电力大学计算机考研大纲,2015年华北电力大学(保定)085211计算机技术考研大纲...

《529数据库原理及应用》一、考试内容范围&#xff1a;1.绪论1)数据管理技术的发展历史2)数据库管理系统的概念和功能3)数据库系统的特点4)数据库的三级模式结构、两级映像功能和数据独立性5)数据模型的组成要素和典型的数据模型6)概念模型的基本概念和概念模型的常用表示方法(…

echart 动画 饼图_echarts构建关系图,节点可收缩和展开,可添加点击事件

echarts下载及使用ECharts&#xff0c;一个使用 JavaScript 实现的开源可视化库&#xff0c;可以流畅的运行在 PC 和移动设备上&#xff0c;兼容当前绝大部分浏览器&#xff08;IE8/9/10/11&#xff0c;Chrome&#xff0c;Firefox&#xff0c;Safari等&#xff09;&#xff0c;…

【牛客 - 317C】小a与星际探索(背包dp 或 线性基)

题干&#xff1a; 小a正在玩一款星际探索游戏&#xff0c;小a需要驾驶着飞船从11号星球出发前往nn号星球。其中每个星球有一个能量指数pp。星球ii能到达星球jj当且仅当pi>pjpi>pj。 同时小a的飞船还有一个耐久度tt&#xff0c;初始时为11号点的能量指数&#xff0c;若小…

计算机及数控编程仿真软件exsl-win7,数控编程实验.doc

文档介绍&#xff1a;现代制造技术综合实验中心数控铣编程与仿真实验指导书1.实验目的:(1)通过上机实验巩固课堂所讲述的数控铣指令,掌握数控铣手工编程方法。(2)掌握EXSL-WIN7软件的编程及仿真等主要功能。2.实验设备或软件:计算机及数控编程仿真软件EXSL-WIN7。3.实验原理:根…

三菱socket通信实例_三菱自动化产品相关知识整理汇总

先从应用最广泛的PLC产品来说下&#xff1a;小型机&#xff1a;FX3S、FX3G、FX3U、FX5U 中型机&#xff1a;L系列大型机&#xff1a;Q系列、R系列Q是比较老的产品&#xff0c;也是现在大型机里面应用比较普遍的产品&#xff0c;在Q之后开发出性价比比较高的产品L系列和性能更高…

【牛客 - 317B】小a与204(贪心,构造,水题)

题干&#xff1a; 小a非常喜欢204204这个数字&#xff0c;因为′a′′k′204′a′′k′204。 现在他有一个长度为nn的序列&#xff0c;其中只含有2,0,42,0,4这三种数字 设aiai为序列中第ii个数&#xff0c;你需要重新排列这个数列&#xff0c;使得∑ni1(ai−ai−1)2∑i1n(ai−…

英语人机考试计算机算分吗,英语人机对话考试技巧

1英语 人机对话考试技巧目前要在英语口语人机对话中获得好的成绩&#xff0c;除了了解测试的特点之外&#xff0c;还需掌握一定的技巧、这对提高英语口语人机对话成绩将起到事半功倍的作用。接下来小编告诉你英语人机对话考试技巧。调整心态&#xff0c;临场莫慌听力不同于其他…

玛纽尔扫地机器人怎样_扫地机器人哪个牌子好?满足日常清洁需求才值得推荐...

随着科技的发展,越来越多的家庭入手扫地机器人来代替日常打扫,而扫地机器人以其高智能化、自动化和便捷的清洁方式也获得了大部分家庭的喜爱。从市面上出售的扫地机器人来看,就清洁方面足以满足大部分家庭的需求,但是更进一步的定位巡航技术、扫拖一体功能以及强劲的续航保证,却…

【牛客 - 317D】小a与黄金街道(数论,tricks)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/317/D 来源&#xff1a;牛客网 小a和小b来到了一条布满了黄金的街道上。它们想要带几块黄金回去&#xff0c;然而这里的城管担心他们拿走的太多&#xff0c;于是要求小a和小b通过做一个游戏来决定最…

ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)

- 这是 交互设计 的第 4篇文章 -- 读完本文&#xff0c;大概需要您 10分钟的时间 -本文为《iOS人机交互指南》的一部分&#xff0c;由黄方闻翻译&#xff0c;转载请注明出处。受公众号限制&#xff0c;无法跳转第三方网页为了更好的体验&#xff0c;欢迎访问http://hfw.design阅…

计算机应用类专业综合冲刺卷,2009年计算机应用类专业综合知识模拟试卷.doc

2009年计算机应用类专业综合知识模拟试卷2009年计算机应用类专业综合知识模拟试卷一、单选题(本大题共15小题&#xff0c;每小题2分&#xff0c;共30分&#xff0c;在每小题给出的四个选项中&#xff0c;只有一项是符合题目要求的)1、采用32*32点阵字模输出1000个汉字所占的空间…

【牛客 - 317E】小a的轰炸游戏(差分,前缀和)

题干&#xff1a; 小a正在玩一款即时战略游戏&#xff0c;现在他要用航空母舰对敌方阵地进行轰炸 地方阵地可以看做是nmnm的矩形 航空母舰总共会派出qq架飞机。 飞机有两种&#xff0c;第一种飞机会轰炸以(xi,yi)(xi,yi)为中心&#xff0c;对角线长为lili的正菱形(也就是两条对…

认真测试直播软件,直播这么火,你知道怎么测试直播软件吗?

作为互联网的新生力量&#xff0c;一种新型的社交互动方式&#xff0c;直播软件快速在互联网行业占有一席之地。市场上对于直播软件的开发应用也越来越多&#xff0c;直播软件的框架&#xff1f;直播软件的原理&#xff1f;直播软件的功能点&#xff1f;直播软件测试关注点&…

csm和uefi_关于CSM和UEFI你要知道的一些事

最近碰到了一件小事,让我觉得关于这个还是专门用一期说一下比较好。 一个朋友最近要升级机器,老机器是A8 5600+8GB DDR3,还有一张我送他的GTX660.他的预算3K左右,决定先不买显卡,花了2600左右,买了一张技嘉的B360M DS3H+i5 8400+16GB DDR4内存,SSD他有,电源准备用老的。…

计算机辅助教学研究现状,计算机辅助教学应用现状及对策研究

计算机辅助教学应用现状及对策研究 (8页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分计算机辅助教学应用现状及对策研究摘要&#xff1a;新形势下&#xff0c;计算机辅助教学迅速发展&…

【牛客 - 317F】小a的子序列(线性dp,tricks)

题干&#xff1a; 小a有一个长度为nn的序列&#xff0c;但是他忘了这个序列的样子&#xff0c;他只记得序列中的数大小在[1,V][1,V]内 你可以任意选择一些位置&#xff0c;并给它们赋值来组成一段子序列&#xff0c;需要满足序列中的数严格递增 一段子序列的“萌值”定义为序…

hostapd 进程启动不了_项目管理|项目启动会实操要点,项目经理掌权的关键

项目启动会就像古代的誓师大会&#xff0c;把大家集中到一起&#xff0c;告诉大家我们要去干什么&#xff0c;这个事情如何重要、皇帝如何重视&#xff0c;干成以后大家升官加爵、富贵少不了大家的等等&#xff0c;大会目的在于调动起大家干活的热情&#xff0c;然后顺利地推进…

【牛客 - 317G】小a的排列(模拟,构造)

题干&#xff1a; 小a有一个长度为nn的排列。定义一段区间是"萌"的&#xff0c;当且仅当把区间中各个数排序后相邻元素的差为11 现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点 也就是说&#xff0c;我们需要找到长度最小的区间[l,r][l,r]&a…

怎么看联想计算机的ip,如何查看本机ip

ip地址是我们连上互联网的凭证&#xff0c;每台能连上互联网的电脑都会分配有一个ip地址。每台电脑的IP地址都不唯一&#xff0c;并且从我们主机的IP地址上可以看出我们电脑连上互联网的所在位置与地区&#xff0c;就像我们生活中的门牌号码一样。很多朋友还不知道本机ip怎么查…

当前元素_前端系列——获取页面中的DOM元素

这里就聊一下获取页面中DOM元素最基本的两种方法&#xff1a;document.getElementById.在整个页面中通过元素的Id属性值来获取到这个元素对象&#xff0c;getElementById是获取元素的方法&#xff0c;而document是获取元素的范围&#xff0c;我们也将此范围称为“上下文”。注意…