1.巧排扑克牌 735 手算
2.质数拆分 809 (01背包)
res = []
for i in range(2,2019):
if isprime(i):
res.append(i)
dp = [0 for i in range(2020)]
dp[0] = 1
for i in range(len(res)):
for j in range(2019, res[i]-1, -1):
dp[j]+=dp[j-res[i]]
print(dp[2019])
3.递增三元组
from bisect import *
n=int(input())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
c=list(map(int,input().split()))
a=sorted(a)
b=sorted(b)
c=sorted(c)
res=0
for i in range(n):
x=bisect_left(a,b[i])
y=n-bisect(c,b[i])
res+=x*y
print(res)