笔试三道算法题(难度依次递增) 1.有重复字符串(全小写)全排列个数。(易) 组合数学问题:有重集合全排列数(n!/(n1!...nk!)) 例如:abb=>{abb,bab,bba}个数为3,等价于3!/(1!*2!) = 6/(1*2) = 3 2.长度为M的字符串(全小写),去掉K个字符返回字 ...
分类:
其他好文 时间:
2020-05-01 01:00:51
阅读次数:
116
题目描述 已知 nn 个整数 x_1,x_2,…,x_nx1?,x2?,…,xn?,以及11个整数kk(k<nk<n)。从nn个整数中任选kk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3,44个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为: 3 ...
分类:
其他好文 时间:
2020-04-25 16:43:25
阅读次数:
71
"900. 整数划分" 一个正整数n可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1。 我们将这样的一种表示称为正整数n的一种划分。 现在给定一个正整数n,请你求出n共有多少种不同的划分方法。 输入格式 共一行,包含一个整数n。 输出格式 共一行,包含一个 ...
分类:
其他好文 时间:
2020-04-10 00:51:56
阅读次数:
68
Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, ...
分类:
其他好文 时间:
2020-03-04 00:31:58
阅读次数:
54
一个正整数nn可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。 我们将这样的一种表示称为正整数n的一种划分。 现在给定一个正整数n,请你求出n共有多少种不同的划分方法。 输入格式 共一行,包含一个整数n ...
分类:
其他好文 时间:
2020-02-14 18:44:52
阅读次数:
55
题目链接 题目描述 输入k及k个整数n1,n2,…,nk,表示有k堆火柴棒,第i堆火柴棒的根数为ni;接着便是你和计算机取火柴棒的对弈游戏。取的规则如下:每次可以从一堆中取走若干根火柴,也可以一堆全部取走,但不允许跨堆取,也不允许不取。 谁取走最后一根火柴为胜利者。 编一个程序,在给出初始状态之后, ...
分类:
其他好文 时间:
2020-02-03 18:50:02
阅读次数:
79
题目链接: "Click here" Solution: 题目名字有点伤感啊。。。 直接看题吧,$k$次前缀和,瞬间想到$O(nk)$的做法,20pts到手了,走吧! 回到正题。。。不难想到,我们构造一个生成函数$G(x)=\sum_{i=0}^n x^i$,同时有$A(x)=\sum_{i=1}^ ...
分类:
其他好文 时间:
2020-01-29 01:16:09
阅读次数:
87
方法一:暴力 时间O(nk) 1 class Solution: 2 def maxInWindows(self, num, size): 3 # write code here 4 if len(num)*size == 0: 5 return [] 6 res=[] 7 for i in ran ...
分类:
编程语言 时间:
2020-01-08 22:51:33
阅读次数:
109
POJ 2279解题报告 大致意思是: 现在有n个人,要排成k行,每行分别是n1,n2,……,nk的人,每个人分别有一个编号,要求每个人的编号要小于他左边和上面的,问有多少种满足题意的方案。 数据范围 n<=30 k<=5 并没有什么思路…… 《算法竞赛进阶指南》告诉我们,DP应该是从一个或几个起点 ...
分类:
其他好文 时间:
2020-01-08 20:41:50
阅读次数:
64
定义 $\large\binom nk$ :$n$ 个不同物品选取其中 $k$ 个物品的不同方案数,也可以写成 $C_n^k$。 组合数的阶乘形式 如果要知道求组合数的公式,那么要从排列数说起。 排列数:从 $n$ 个不同物品中有顺序地选出 $k$ 个物品,那么不同方案数为: $$\prod_{i= ...
分类:
其他好文 时间:
2019-12-30 14:34:19
阅读次数:
85