USACO算法系列二十七——cryptcow
来源:互联网 发布:东京地铁 知乎 编辑:程序博客网 时间:2024/05/16 15:29
题目:http://www.nocow.cn/index.php/Translate:USACO/cryptcow
好变态的一道题。我现在写出来的程序可以通过7次加密的,但是8次加密的求解有点难度,会超时。毕竟使用的是最笨的回溯算法。
有几个注意点吧:
第一, 要优化搜索顺序。经过试验我们可以发现,O的位置对于整个COW至关重要。可以说,O的位置决定了整个串是否会有解。因此,我们在搜索时,应该先枚举O的位置,然后再枚举C和W的位置。而且从O开始感觉思路会清晰很多。
第二,一个有解的字符串中,COW三个字母最早出现的应该是C,最后出现的应该是W,如果不满足则剪枝。
第三,对搜索到的字符串,设不包含COW的最长前缀为n前缀(同样也可以定义n后缀),那么如果n前缀不等于目标串的长度相同的前缀,那么当前字符串一定无解,剪枝。N后缀也可采取相同的判断方法。
还有其他的根据长度,进行粗略判断的。另外别人的解题报告里面还有其他的方式。
总之大体思路就是回溯剪枝。
另外发现GCC的编译器,跟微软的自带编译器有点不一样,第一次出现本地编译通过,服务器编译不通过的情况。
有时间好好看看这两块的区别。
- USACO算法系列二十七——cryptcow
- usaco--cryptcow
- USACO算法系列二——fracdec
- USACO算法序列十七——range
- USACO算法系列二十——heritage
- USACO算法系列二十二——fence9
- USACO算法系列二十三——rockers
- USACO算法系列二十四——nuggets
- USACO算法系列二十五——fence8
- USACO算法系列二十五——fence8(续)
- USACO算法系列二十六——fence6
- USACO算法系列二十八——ditch
- USACO算法系列二十九——ditch(续)
- USACO算法系列三——agrinet
- USACO算法系列四——inflate
- USACO算法系列五——rect1
- USACO算法系列六——contact
- USACO算法系列七——stamps
- 汇编语言常见错误
- 蛮给力的烟水晶
- Broken Necklace
- 杂谈
- AU6983最新的量产工具,支持34NM(看图说话,绝对能用)
- USACO算法系列二十七——cryptcow
- Qt
- OpenCV2.2.0版本的更改及源码zip包编译过程中的include路径的一个问题
- 有关UML
- Qt
- 基于fusion的DirectFB消息流
- 年报
- 用CSS解决按钮居中问题
- annotation