谁能帮我找到一个最佳的动态规划算法这个问题
在途中吃饭,CCC的竞争者正在排队为他们的美味炸薯条。在N(1≤N≤100)的竞争对手已经排到了单文件进入食堂。
医生V时,谁运行CCC,实现了在程序员只是讨厌排队旁边谁使用不同语言的程序员的最后一分钟。值得庆幸的是,只有两种语言被允许在CCC:Gnold和帮助文件。此外,竞争对手已经决定,他们将只能进入食堂,如果他们在一组中的至少K(1≤ķ≤6)的竞争对手。
医生V决定迭代以下方案:
*他会发现一组K或谁使用相同的语言站在旁边,彼此行并将它们发送到晚餐更多竞争对手。
*剩下的竞争对手将缩小差距,有可能将类似语言的竞争对手一起。
所以,医生V记录了你的竞争对手的顺序。所有的竞争对手可以用餐?如果是这样,什么是竞争者组被发送到吃饭的最低数量? 输入
第一行包含两个整数N和K. 第二行有N个字符是一致的竞争对手序列(H再presents帮助文件,G重presents Gnold) 输出
输出,在一行中,单数,它是形成为晚餐该基团的最小数目。如果不是所有的程序员可以用餐,输出-1。
解决方案我preFER不就解决了SPOJ问题,以务实的态度对你,所以采取以下作为一个多时间的存在性证明DP。
对K固定,一组可用餐的字符串是上下文无关。我将使用先按g
和 ^ h
而不是