1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #... ...
分类:
其他好文 时间:
2018-01-28 20:57:28
阅读次数:
170
给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。 注意事项 你应该真正的划分数组 nums,而不仅仅只是计算比 k ...
分类:
编程语言 时间:
2018-01-06 11:55:32
阅读次数:
149
[抄题]: 给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。 [思维问题]: 想不到两个小人的partition [ ...
分类:
编程语言 时间:
2017-12-19 19:49:38
阅读次数:
269
整数拆分问题的四种解法 原创 2015年04月01日 21:17:09 标签: 算法 / 母函数定理 / 五边形数定理 / acm / 动态规划 原创 2015年04月01日 21:17:09 标签: 算法 / 母函数定理 / 五边形数定理 / acm / 动态规划 整数划分问题是算法中的一个经典命 ...
分类:
其他好文 时间:
2017-12-15 18:17:44
阅读次数:
219
找规律:ans=a*b-a-b 证明:(可见 体系知识) gcd(A, B) = 1 → lcm(A, B) = AB 剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成 任何数分成m个剩余类,分别为 mk,mk+1,mk+2,……,mk+(m-1) 分别记为{0(mod m)},{ ...
分类:
其他好文 时间:
2017-12-02 17:53:03
阅读次数:
170
![](http://images2017.cnblogs.com/blog/1180622/201712/1180622-20171202151955870-1300519982.jpg) ...
分类:
其他好文 时间:
2017-12-02 16:17:28
阅读次数:
118
说明一下问题,什么是整数划分? n=m1+m2+...+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,...,mi}为n的一个划分。 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)<=m,则称它属于n的一个m划分。这里我们记n的 ...
分类:
其他好文 时间:
2017-11-28 15:35:15
阅读次数:
137
设dp[n]为整数n的分割函数,由五边形定理得到: dp[n] = dp[n-1] + dp[n-2] - dp[n-5] - dp[n-7]…… 我们将其分为两部分计算 第一部分为 :( dp[n-1] - dp[n-5] …… ) 奇数项为加,偶数项为减,第j项括号内的值为 : n-(j*(3* ...
分类:
其他好文 时间:
2017-11-12 21:46:26
阅读次数:
161
整数划分变形,由2^k组成。 整数划分中一个节约内存的技巧,平时我们使用dp[i][j]维护用不大于j的数组合成i的方案数,所以必须dp[i-j][j]->dp[i][j]。这样就需要二位,如果用一维dp[i-j]->dp[i]就会导致重复选取的情况。其原因在于dp[i-j]在计算的过程已经把大于j ...
分类:
其他好文 时间:
2017-10-27 13:30:19
阅读次数:
136