博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FZU 2254 英语考试
阅读量:6045 次
发布时间:2019-06-20

本文共 1607 字,大约阅读时间需要 5 分钟。

在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习。

这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m。

YellowSatr准备采用联想记忆法来背诵这n个单词:

1、如果YellowStar凭空背下一个新词T,需要消耗单词长度m的精力

2、如果YellowSatr之前已经背诵了一些单词,它可以选择其中一个单词Si,然后通过联想记忆的方法去背诵新词T,需要消耗的精力为hamming(Si, T) * w。

hamming(Si, T)指的是字符串Si与T的汉明距离,它表示两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。

由于YellowStar还有大量繁重的行政工作,因此它想消耗最少的精力背诵下这n个单词,请问它最少需要消耗多少精力。

Input

包含多组测试数据。

第一行为n, m, w。

接下来n个字符串,每个字符串长度为m,每个单词均为小写字母'a'-'z'组成。

1≤n≤1000

1≤m, w≤10

Output

输出一个值表示答案。

Sample Input

3 4 2abchabcdefgh

Sample Output

10

Hint

最优方案是:先凭空记下abcd和efgh消耗精力8,在通过abcd联想记忆去背诵abch,汉明距离为1,消耗为1 * w = 2,总消耗为10。

 

分析 

把每个字符串看成结点,把两个结点间的边权定义为min(hamming*w,m),这样就构造出了各个字符串间的关系带权图,利用这个图求出最小生成树的权值,注意,还需要加个m,因为第一个单词一定是直接背下来的。

 

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int maxn = 1e5+5;const int mod = 772002+233;typedef pair
pii;#define X first#define Y second#define pb push_back#define mp make_pair#define ms(a,b) memset(a,b,sizeof(a))const int inf = 0x3f3f3f3f;#define lson l,m,2*rt#define rson m+1,r,2*rt+1char s[1010][15];int cost[1010][1010];bool vis[1010];int lowc[1010];int Prim(int n){ int ans=0; ms(vis,false); vis[0]=true; for(int i=1;i
lowc[j]){ minc=lowc[j]; p=j; } } if(minc==inf) return -1; ans+=minc; vis[p]=true; for(int j=0;j
cost[p][j]){ lowc[j]=cost[p][j]; } } } return ans;}int hamming(char a[],char b[]){ int ans=0; int len=strlen(a); for(int i=0;i

 

转载于:https://www.cnblogs.com/fht-litost/p/8595318.html

你可能感兴趣的文章
C++流的streambuf详解及TCP流的实现
查看>>
《量化金融R语言初级教程》一2.5 协方差矩阵中的噪声
查看>>
beetl 和 shrio 结合
查看>>
相对/绝对路径,cd命令,mkdir/rmdir命令,rm命令
查看>>
tomcat中web.xml各配置项的意义
查看>>
Nodejs学习笔记(二):《node.js开发指南》代码中需要注意的几点
查看>>
Ztree异步加载自动展开节点
查看>>
反射操作公共成员变量
查看>>
Android热修复升级探索——代码修复冷启动方案
查看>>
学校宿舍的深夜之思考
查看>>
字符串的扩展
查看>>
存储过程中调用webservice
查看>>
神奇语言 python 初识函数
查看>>
Windows安装Composer出现【Composer Security Warning】警告
查看>>
企业架构研究总结(22)——TOGAF架构开发方法(ADM)之信息系统架构阶段
查看>>
linux
查看>>
C#+QQEmail自动发送邮件
查看>>
[Hadoop]MapReduce多输出
查看>>
Java break continue return 的区别
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>