日历
网志分类
· 所有网志 (54)
· 随便说说 (8)
· TopCoder (17)
· 心情自语 (4)
· ACM-ICPC (10)
· UNIX/LINUX (2)
· 我看影视剧 (1)
· 生活记录 (5)
· 我的学习 (5)
· 未分类 (2)
站内搜索
友情链接
· 我的歪酷 非非共享界

订阅 RSS

0013134

歪酷博客

Saga's blog

不知道未来确切在哪
只能努力做好最近的事情


« 上一篇: SRM 397 DIV2 1000 下一篇: Greater New York 2005 解题报告 »
acsaga @ 2008-05-30 00:54

读过题以后就会发现是个背包问题。

与简单的背包不同的是,这个背包要建立字母和数字的对应关系。

基本思路是:把所有单词转化成数字的表示形式,然后用数字去填背包。复杂度是O(背包大小*单词个数*单词长度) = O(100*50000*50)。这个数很大了,会超时,所以需要一点优化。注意到单词是数字的字符串,可以把所有这些单词建立成一个Trie。这样做的话,在填充背包的时候,就不需要枚举每个单词了,只需要在Trie的相应位置查找一遍就可以了。填充的复杂度降到了O(背包大小*每个位置的查找次数) = O(100*100),前面建立Trie的复杂度是O(单词个数*单词长度) = O(50000*50)。所以最终的复杂度不会超过O(50000*50)。

乌龟爬的写了50分钟。不过还好1Y掉了,感觉还不错:)加油提高水平找回状态。。



曾经的这一天...



评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定