上一页 1 ··· 8 9 10 11 12
摘要: 那就是最小表示法 最小表示法就是给你的一个可以循环的字符串,找到以某一个字符为开头时字符串的字典序最小。 例如cbad的最小表示法即为adcb 一、暴力 很简单的思想,以每一个字符为开头进行扫描,得到最小表示 具体地,我们可以设置两个指针$i,j$,用$i$表示当前最小表示的开头,$j$作为循环指针 阅读全文
posted @ 2021-07-12 09:18 lei_yu 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 这个有什么好看的啊,为什么你们都看这个 1.可行性剪枝。在不符合条件时立刻跳出。 (1)在进行组合型搜索时若后面的个数小于要选的个数直接跳了。 (2)金银岛3。在搜索到一个状态时可以考虑后面如果全部最优决策是否满足条件,若已经不满足直接返回。本题即判断全部选最贵的还能不能达到条件。 2.调整搜索顺序 阅读全文
posted @ 2021-07-12 08:45 lei_yu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 冲浪 倒序考虑(消除后效性 最后一分钟可以选择的浪花中肯定选最大收益的,以此类推即可。 每分钟加入在当前时间消散的浪花即可。 可用堆优化。 注意开long long 1.最大乘积 通过手推来发现一个贪心策略。 把数字拆的尽量小更好,但是不能够拆出1 多余的拆出的数从最大的往后一个一个加上去。 2.最 阅读全文
posted @ 2021-07-12 08:43 lei_yu 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 首先依然观察到$N=16$,肯定是状压奶牛。 为了避免后效性,我们发现对于一个奶牛是否能在某个位置只和它前一个奶牛和后一个奶牛有关 因此我们可以设$f(i,state)$表示奶牛状态为$state$(1为在序列中0为不在),当前以后排好队的奶牛的最后一个为$i$的方案数 那么$f(i,state)= 阅读全文
posted @ 2021-07-12 08:26 lei_yu 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一个排列可以双映一个数字即可以看做当前排列的的标号,n=3时 123 1 132 2 213 3 231 4 ...... 把一个排列数转化为这个标号比较简单: 其中, 为整数,并且 。表示原数的第i位在当前未出现的元素中是排在第几个。在n比较大的时候,这个数就算不出来了。这个时候我们便储存所有的a 阅读全文
posted @ 2021-07-11 21:36 lei_yu 阅读(44) 评论(0) 推荐(0) 编辑
摘要: N=16,首先考虑将其作为状压维度 可以用其来记录哪一些人已经渡河,哪一些人没有渡河。 每一次状态转移就是一次渡河,可以暴力枚举本次渡河的人是哪一些。 利用记忆化搜索可以更好地实现这个过程。 在枚举上一个合法状态的时候可以利用枚举子集的方式来完成,以此降低一部分复杂度。实际上枚举子集的复杂度依然是2 阅读全文
posted @ 2021-07-11 21:11 lei_yu 阅读(56) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12