当前位置: 首页 > news >正文

汉明距离相关应用

定义:\(s,t\) 的汉明距离定义为 $$\sum_{i=1}^{|s|} [s_i \not = t_i]$$

P9187 [USACO23OPEN] Field Day S

给点 \(n\) 个长度为 \(c\) 的字符串,对每一个字符串找到另外一个字符串,使其汉明距离最大。

观察到 \(c\) 很小,围绕值域入手。\(f_i\) 表示 \(i\) 到最远的目标字符串的最大距离。

考虑建图 \(x \to x\oplus 2^k\) 连边,边权为 \(1\),这样要跑最长路。反过来,求最少相同位数,\(f_i\) 表示 \(i\) 与目标状态的最少相同位数,这样可以直接跑 bfs。

#include <bits/stdc++.h>
#define umap unordered_map
#define vint vector<int>
#define ll long long
#define pii pair<int,int>
#define all(x) x.begin(),x.end()
#define ull unsigned long long
#define uint unsigned int
#define rg register
#define il inline
#define db double
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
#define sqr(x) ((x)*(x))
using namespace std;
const int INF=0x3f3f3f3f,mod=1e9+7;
const long long INFL=0x3f3f3f3f3f3f3f3f;
const double eps=1e-8;
il int read(){int w=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){w=(w<<1)+(w<<3)+(ch^48);ch=getchar();}return w*f;
}
il void chkmax(int &x,int y){x=(x<y)?y:x;}
il void chkmin(int &x,int y){x=(x>y)?y:x;}const int N=1e5+10,V=18;
int a[N],dis[(1<<V)+10],vis[(1<<V)+10];
int n,c;
int main(){#ifndef ONLINE_JUDGE//freopen("in.txt","r",stdin);#endifcin>>c>>n;queue<int> Q;memset(dis,0x3f,sizeof(dis));rep(i,1,n){char ch;int x=0,y=0;rep(j,1,c){cin>>ch;x=(x<<1)+(ch=='G'),y=(y<<1)+(ch=='H');}a[i]=x;dis[y]=0,Q.push(y);}while(!Q.empty()){int u=Q.front();Q.pop();if(vis[u]) continue;vis[u]=1;for(int i=0;i<c;++i){int v=u^(1<<i);if(dis[v]>dis[u]+1){dis[v]=dis[u]+1;Q.push(v);}}}rep(i,1,n){cout<<c-dis[a[i]]<<"\n";}#ifndef ONLINE_JUDGEfprintf(stderr,"%f\n",1.0*clock()/CLOCKS_PER_SEC);#endifreturn 0;
}

CF1186C Vus the Cossack and Strings

一个结论:\(01\) 字符串的汉明距离为偶数当且仅当 \(1\) 的个数同余。

my_sol。

http://www.jsqmd.com/news/52110/

相关文章:

  • JUC
  • 基因组共线性分析
  • 博弈论笔记
  • Bazaar - 现代化的 GNOME 应用商店
  • 快速排序板子
  • 回文数
  • 黑马程序员SpringCloud微服务开发与实战-微服务05
  • map用法
  • CF1774F2
  • sscanf用法
  • sprintf用法
  • 订单多到做不完?四步把交期、缺料、进度和插单都解决了
  • 八、热插拔
  • 第37天(中等题 数据结构)
  • PostgreSQL权限管理实践
  • 预编译命令
  • 2025 KEYDIY KD-MP: Add Keys for MLB MQB – Key Identification, Data, Calculation
  • 把 CLI 搬上 Web:在内网打造“可二开”的 AI IDE,为什么这条路更现实? - 指南
  • [LangChain] 23. 回调机制
  • freedom of speech
  • 七、设备模型
  • Scrum冲刺阶段 Day Three
  • 鼎鉴时代锋芒 智启品牌新章 ——2025品牌智鉴榜荣耀登临
  • 迈向人机共育的文明语法:AI元人文理论体系深度阐释——内观照叙事模型
  • 深入解析:MTK5G旗舰系列——天玑9500/9400/9300/9200/9000在AI和处理器性能、DDR频率及UFS的深度对比分析
  • Day25综合案例一--CSS精灵--京东服务
  • Intellij扩展列表
  • agentic terminal coding
  • the badness of USA
  • 2025年11月26日