本来uva的题目都是不打算写解题报告的。。生怕自己太弱了,写的代码搞不好是水过去的。。。并非正解。
但是这个题目困扰了我好久。。第一次想到方法b【】【】搜索和字典序标记是做英语听力的时候,第二次n/2是做阅读的时候想到的。哈哈我不认真啊
这题目跟一道noi的题目好像,那题目是说给一个串求最少要增加多少个字符使其变成回文串。这道题目是要减去多少字符使其变成回文串。想了下觉得回文串那不就是前面出现过后面也出现过吗? 那么方法就是一样的了。所以我就只要将原串反转然后求一次公共序列就可以了。但是这道题目最坑爹的是要按字典序输出。刚开始的时候我就在想怎么输出来呢。然后想到回溯,用个b【】【】标记,如果是找到条件就赋值为1然后找。但是后面想这样不是字典序最小啊。我就纠结了。然后查了一下网上的字典序输出的想法。那么我就想如果用字典序来一个个找是不是可以呢? 一开始测试数据都过了,然后就sb样的交了十几次,改这改那的 wa了10几次。后来我就随机生成数据看了下。发现我搜的时候不要搜到底只需要搜到n/2就可以了。但是不知道为什么。搜到底的情况应该是可以的啊。我后面觉得是不是因为在max不满足条件的时候。有重复的呢?然后我同时又将前面第一次想法将b数组一起来限制它。然后数据都对了。但是最后面又wa了几次。实在找不到问题了。突然又突然想自己写几个短点的数据。结果发现如果只有1个或者两个长度的输不出来。然后发现是精度的问题。改了果断A。哈哈哈 由于最近准备考试 所以此题断断续续的想。想了几天。哎。。。