我被告知,Windows NT最初是为实现微内核架构而设计的,但却转移到了混合内核.
是什么导致了变化?我无法找到有关此信息的任何信息.
我给了n个数字a_1,a_2,...,a_n,它们被赋予了两个me in和非递减序列,这意味着a_1<=a_2<=...<=a_n在一个数组中我可以配对其中两个,比如说a_i,a_j当且仅当2a_i <= a_j.我可以最大限度地生成多少个不相交的配对?
我在这里完全失败了.我试图贪婪地做.假设我将最大的一个与最小的一个配对,从序列中删除它们并递归地进行.但是,这是错误的,因为1,2,3,8我会得到一对(1,8),但我可以让2双(1,2)和(3,8).基于这个反例,我尝试以不同的方式解决它.假设我a_i与第一个号码配对.然后是这个反例1,3,4,6.我想再次得到一对(1,3),但在现实中,我可以让2对(1,4)和(3,6).
任何人都可以给我一个关于如何进行的提示吗?
我认为以下n元素表会很有用.对于元素,a_1,...,a_n tab[j]将表示元素的数量,其2a_i小于a_j.该表可以简单地及时计算O(n).但我不知道如何正确使用它.