UVa1368

UVA1368 DNA序列 DNA Consensus String 题解 题意翻译 输入m个长度均为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量小。两个等长字符串的Hamming距离等于字符不同的位置个数,如ACGT和GCGA的Hamming距离为22(左数第11、44个字符不同)。 输入整数m和n(4≤m≤50,4≤n≤1000),以及m个长度为nn的DNA序列,(只包含字母A、C、G、T),输出到m个序列的Hamming距离和最小的DNA序列和对应的距离。如有多解,要求字典序最小的解。 输入输出样例 Sample Input 3 5 8 TA 阅读详情
#include <stdio.h>
#include <string.h>
const int N = 1005;
const int M = 105;
int first = 1;
int n, m, cnt[M];
char dna[M][N];
void init()
{
	scanf("%d%d", &m, &n);
	for (int i = 0; i < m; i++) scanf("%s", dna[i]);
}
void solve()
{
	int ans = 0;
	if (first)
		first = 0;
	else printf("\n");
	for (int i = 0; i < n; i++) {
		int Max = 0, id;
		memset(cnt, 0, sizeof(cnt));
		for (int j = 0; j < m; j++) {
			int tmp = dna[j][i];
			cnt[tmp]++;
			if (cnt[tmp] > Max) {
				Max = cnt[tmp];
				id = tmp;
			}
			else if (cnt[tmp] == Max && tmp < id)
				id = tmp;
		}
		ans += m - Max;

		printf("%c", id);
	}
	printf("\n%d", ans);
}
int main()
{
	int cas;
	scanf("%d", &cas);
	while (cas--) {
		init();
		solve();
	}
	printf("\n");
	return 0;
}

题解:DNA序列(UVa 1368) 题目链接:https://vjudge.net/problem/UVA-1368 解题思路:最优解中的第j个字母应该是输入中第j列的最多数量的字母; AC截图: AC代码: #include<stdio.h> #include<string.h> char s[55][1005]; int num[5][1005]; char ans[1005]; char find[5]={'A','C','G' 阅读详情

相关推荐

输入DNA序列输出氨基酸序列 c语言源码

输入一条字符串(由A、T、G、C构成)表式DNA的一条链,输出 1.DNA中与之对应的另外一条链 2.对应mRNA的结构(字符串表示) 3.由mRNA控制合成的蛋白质的氨基酸序列 的c语言源码

uva 1368

题意:找出与输入的这些串差别最小的串,我们试着去枚举每一个位置,然后找到差别最小的字符,依次类推 #include #include #include #include using namespace std; const int MAXN = 1100; char str[60][MAXN],ans[MAXN]; char dna[] = {'A','C'

那些年 881

ESP32学习,驱动LED点阵屏,SD卡播放GIF动图

搬运就可以实现效果,如果有不足,请批评指正。下步该学一下如何文章上视频了,老是截图不方便展示效果。

u011625956的博客 1868

UVa 1368 DNA Consensus String(贪心+计数)

原题地址https://vjudge.net/problem/UVA-1368 题意:定义两个等长字符串的Hamming距离等于字符不同的位置个数。例如ACGT和GCGA的Hamming距离为2。(A-G和T-A不同)。 输入m个长度均为n的DNA序列(只含A、C、T、G),求解一个DNA序列,使得该序列到这m个序列的总Hamming距离之和最小。 如果存在多个这样的DNA序列,求字

Lecholin的博客 420

【可穿戴算法开发】-PPG信号检测方法

文章目录一、PPG(光电容积脉搏波法)信号的检测原理二.PPG技术目前存在的问题(挑战)三. **心电信号产生的原理** 随着经济的发展,在人们生活水平提高的同时,高脂肪摄入和低运动量成为了人们普遍的生活模式,近年来高血压、高血脂已经发展为危险性最高的病症。心电、血压、血氧等生理参数是预防和分析心血管疾病的重要生理参数。 常用的心电测量仪器有:多导ECG心电图仪、PPG心率检测器、心率带等; 常...

wxq_1993的博客 2万+

【KDD2024】ShapeFormer:用于多元时间序列分类的Shapelet Transformer

多元时间序列分类(MTSC)因其在现实世界中的广泛应用而吸引了大量研究关注。最近,Transformer在MTSC中取得了先进的性能。然而,

m0_52597077的博客 4747

uva1368 - DNA Consensus String

题意: m个长度为n的序列,求一个dna序列,让其他所有序列的总汉明距离最小。输出该序列即最小距离。 思路: 按列枚举,依次求出每列对应的dna序列即可。 代码如下:#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std;const int N = 10

不要皱眉 327

HC32F460 FPU实战:从零开启硬件浮点加速

本文详细介绍了如何在HC32F460开发板上启用和优化FPU(浮点运算单元),以显著提升硬件浮点运算性能。从工程配置、关键代码修改到实战优化技巧,全面解析FPU加速的实现方法,并分享常见问题的解决方案,帮助开发者避免常见陷阱,充分发挥HC32F460的硬件潜力。

weixin_42620340的博客 348

UVa 1368 - DNA Consensus String(贪心)

题意 找出一个字符串,使得它的Hamming Distance最小。 思路 对每个位置进行贪心,选出现次数最多的字母。 代码 #include #include #include #include #define LL long long#define lowbit(x) ((x) & (-x))const int MAXN = 1e3 + 5;c

一只冰熊 809

设置Solidworks导出文件的坐标系,stl坐标系平移

使用solidworks输出的模型坐标不再原点,怎么平行坐标系,这个方法很简单

weixin_45650767的博客 1万+

总结目前开源的视频生成/视频编辑大模型

随着Sora的爆火,视频生成和视频编辑受到了越来越多的关注。这篇博客总结一下目前开源的视频生成和视频编辑的大模型,并分析他们各自的优缺点,以及在自己进行科研任务或者工作中应该如何选用对应的开源模型,希望能给从事这一领域研究和使用的小伙伴们帮助。

沉迷单车的追风少年 3544

UVa1368 DNA~~~

(UVa1368 来自小白的思想) 简介 我是先看的输入,然后看的输出,发现只要输出一列里出现次数最多的字母就好了。至于字典序,看我的四个if就应该可以了(我觉得可以) 因为比较小白 空间时间什么也没想就这样了~~~~ 代码: #include<stdio.h> char ch[55][1005]; int main() { int n,m; int a=0,c=0,g...

qq_45437773的博客 183

CorelDraw插件开发-Cdr插件-CPG插件-GMS插件-安装位置

文章目录1.gms格式插件2.cpg格式插件3.作者答疑   CorelDraw软件是一款使用非常广泛的矢量图形软件,系统本身提供了非常便利的二次开发环境,制作插件的格式有两种,一种是gms格式的脚本插件,另外一种是cpg格式dll插件。 1.gms格式插件   gms格式插件是使用微软的 VBA 技术,编写和调试都比较方便,从9的版本开始支持。   安装:把gms文件复制到程序所安装的目录 gms 下,一般在C:\Program Files\Corel\CorelDRAW Graphics Suite 1

插件开发 2753

DNA Consensus String UVA - 1368

题目链接:https://vjudge.net/problem/UVA-1368 字符串模拟,可以从字符矩阵中一列一列的查找,列出每列中出现次数最多的字母,拼合起来便是距离最小的DNA。 #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;ctype.h&amp;gt; //A 0 C 1 G 2 T 3 int main() {...

qq_43185391的博客 167

单片机应用案例:ESP32 搭配 BH1750 光强传感器和 Web 服务器

在该应用案例中,我们将使用 ESP32 开发板作为主控制器,BH1750 光强传感器用于采集环境光强度数据,并通过 Web 服务器展示采集到的数据。步骤一:购买材料步骤二:连接硬件步骤三:编写代码我们将使用 Arduino IDE 编写代码,以下是主要代码:// WiFi 设置const char* ssid = “你的 WiFi 名称”;const char* password = “密码”;// Web 服务器实例// BH1750 实例// 获取当前光强度数据。

RlDart的博客 813

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

uva 1368 DNA Consensus String

uva 1368 DNA Consensus String 这道题挺简单的,刚开始理解错误,以为是从已有的字符串里面求最短的距离,后面才发现是求一个到所有字符串最小距离的字符串,因为这样的字符串可能有多个,所以最后取最小字典序的字符串。 我的思路就是求每一列每个基...

awyo96572的博客 169

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

UVa 1368 DNA Consensus String【数组】

https://vjudge.net/problem/UVA-1368 这道题本质上就是二维数组列优先遍历,找每列出现次数最多的字母。 int main() { /*UVa 1368 */ int t,m,n; int a[4];//ACGT char maps[51][1001]; while(scanf("%d",&t)!=EOF){ ...

之虎者也的博客 149

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

紫书第三章书后习题--UVa1368

题目:UVa1368 地址:https://vjudge.net/problem/UVA-1368 题解:这一题定义了一个汉明距离:两个字符串有n个对应的位置不同,那么汉明距离就为n。然后给你一些字符串,要求找出一个字符串,使它到各个字符串的汉明距离之和最小。 思路:一开始困于汉明距离的定义,一直想按照定义求出这个汉明距离,然后就没有然后了。。。想过暴力枚举可能的字符串,然后求出最小汉明距离之和的...

vaeloverforever的博客 271

习题3-7 UVa1368-DNA Consensus String

重点是想到如何使Hamming距离最小——分别检索每一列,取出各列出现频率最高的字母即可。 代码如下:#include <iostream> using namespace std; char s[55][110]; char maxs[110]; char maxs_4(int a, int b, int c, int d) { if (a >= b && a...

qq_21606413的博客 186

UVA - 1368 DNA Consensus String

UVA - 1368 DNA Consensus String 哼哼,水题 DNA (Deoxyribonucleic Acid) is the molecule which contains the genetic instructions. It consists of four different nucleotides, namely Adenine, Thymine, Guanine, ...

mandiheyanyu的博客 171

uva 1368 - DNA Consensus String(贪心)

题目链接:uva 1368 - DNA Consensus String 题目大意:给定m个长度为n的DNA序列,求一个DNA序列,使其到所有序列的总hamming距离尽量小,如有多解,输出最小解。 解题思路:因为每个DNA序列都是相同长度的,所以可以枚举每一位DNA码,然后用贪心的思想选取出现次数最多的,如果有两个最多的,按要求用字典序小的。 #include #

不慌不忙、不急不躁 1263

UVA1368 DNA 序列

输入m个长度均为n的 DNA 序列,求一个任意的 DNA 序列,该序列到其他 DNA 序列的 Hamming 距离最短。如果有多个可行解,请输出字典序最小的解。输出这个该 DNA 序列和到其它序列最小距离。什么是 Hamming 距离?对于两个等长的序列,其 Hamming 距离等于值不同的位置个数。形式化地,有两个序列an​bn​,定义Hammingabi1∑n​ai​bi​其中P为艾佛森括号,若P为真返回1,否则返回0。

2401_85048117的博客 236

UVA 1368 DNA Consensus String

Problemhttp://write.blog.youkuaiyun.com/postlistuva 1368 DNA Consensus String #include<iostream> typedef enum{A=0,C=1,G=2,T=3}e; char DNAChar[4] = {'A','C','G','T'}; using namespace std; int main() { int

nkfustKai的博客 441

uva1368 字符串构造

/***************** * Author:fisty * Data:2014-12-13 * uva 1368 * 竖着看选择出现次数最多的字母, * 如果频率相同选择字典序小的字母 * **************/ #include #include #include #include #include #include using namespace s

fisty 533

UVa1368-DNA Consensus String

UVa1368-DNA Consensus String 思路:贪心的做法,因为要求与所有字符串的Hamming最低,所以最终串的每一位就是所有最多的那个,这样可以保证每一位不同的都是最少的。因为还要求字典序最小,所以相同时按照字典序输出,也就是按照ACGT的顺序判断就好了。代码:#include <bits/stdc++.h>using namespace std; char dna[55][10

进击的ACMer!!! 344
上一篇: UVa455
下一篇: UVa202
吴贝贝97
博客等级 码龄10年 68粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值