[原创]【动态规划求解“键盘上字母分配”问题】
2007-04-01 01:07
381 查看
[align=center]动态规划求解“键盘上字母分配”问题[/align]
一、问题背景
[align=left] 随着手机的普及,手机短信的交流方式也越来越流行(注:此处的短信主要指的是英文短信)。如下图1,就是标准手机键盘上用来打出26个字母(a~z)的按键布局。由于每个键上有多个字母,我们打字时常会遇到的情况是,某些常用字母可能需要按几下键才能打出来。比如字母“s”,需要按四次键才能选中。如果我们把字母按照图2的方式分配到各个按键上,那么打字就会方便一些,因为只要按两次键就可以选中“s”,虽然打出p、q需要的按键次数增加了,但是在英文中p、q的出现的频率比“s”小的多,于是这样做总的来说是值得的。[/align]
[align=left] [/align]
[align=left] 图1 图2[/align]
[align=left] [/align]
二、问题描述
[align=left]类似地,现有L个按序排列的字母(广义,可包含其它字符,且第i个字母具有下标i,1 <= i <= L),K个按序排列的按键,(1 <= K <= L),以及每个字母使用的频率Fi 。将这L个字母依次分配到这K个键上,字母顺序固定不变,且每个键上至少分配一个字母,问怎样分配能使得在通常情况下打字的总代价最小?设Pi表示第i个字母在其所在按键上处于第Pi个位置(Pi >= 1,比如图1中“s”在按键7上的位置为4),则可以定义第i个字母的代价为:[/align]
[align=center]Pricei=Fi * Pi。[/align]
[align=left][/align]
三、问题分析与算法设计
[align=left]详见以下word文档:[/align]
[align=center]http://download1.csdn.net/down3/20070519/19140346679.doc[/align]
一、问题背景
[align=left] 随着手机的普及,手机短信的交流方式也越来越流行(注:此处的短信主要指的是英文短信)。如下图1,就是标准手机键盘上用来打出26个字母(a~z)的按键布局。由于每个键上有多个字母,我们打字时常会遇到的情况是,某些常用字母可能需要按几下键才能打出来。比如字母“s”,需要按四次键才能选中。如果我们把字母按照图2的方式分配到各个按键上,那么打字就会方便一些,因为只要按两次键就可以选中“s”,虽然打出p、q需要的按键次数增加了,但是在英文中p、q的出现的频率比“s”小的多,于是这样做总的来说是值得的。[/align]
[align=left] [/align]
| [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] |
|
[align=left] [/align]
二、问题描述
[align=left]类似地,现有L个按序排列的字母(广义,可包含其它字符,且第i个字母具有下标i,1 <= i <= L),K个按序排列的按键,(1 <= K <= L),以及每个字母使用的频率Fi 。将这L个字母依次分配到这K个键上,字母顺序固定不变,且每个键上至少分配一个字母,问怎样分配能使得在通常情况下打字的总代价最小?设Pi表示第i个字母在其所在按键上处于第Pi个位置(Pi >= 1,比如图1中“s”在按键7上的位置为4),则可以定义第i个字母的代价为:[/align]
[align=center]Pricei=Fi * Pi。[/align]
[align=left][/align]
三、问题分析与算法设计
[align=left]详见以下word文档:[/align]
[align=center]http://download1.csdn.net/down3/20070519/19140346679.doc[/align]
相关文章推荐
- 动态规划求解资源最优分配问题
- 动态规划求解最长公共子序列问题
- 动态规划求解0/1背包问题
- 三分法——求解凸性函数的极值问题——czyuan原创
- 动态规划求解0-1背包问题
- 【算法】可用动态规划求解的问题的基本特征
- 三分法——求解凸性函数的极值问题——czyuan原创
- 蛮力、分治、动态规划求解最大字段和问题(aardio)
- 算法笔记:动态规划求解最长子序列问题
- 字母权值分配问题
- 背包问题,动态规划求解,matlab代码,c++代码
- 动态规划求解编辑距离问题
- 矩阵连乘问题-动态规划求解
- leetcode 327. Count of Range Sum 字段和问题 + 动态规划DP解决 + 字段数 + 暴力求解真好
- java实现动态规划求解矩阵连乘问题
- 解决 笔记本键盘打字母却跳出数字来,每次都要按一遍Fn+Num LK 的问题
- 动态规划求解阶乘问题
- 动态规划 数塔问题求解 C++实现
- 三分法——求解凸性函数的极值问题——czyuan原创
- 动态规划求解最长公共子串的问题