随笔分类 - DP
摘要:#include<bits/stdc++.h> #define ll long long #define N 17 using namespace std; ll a,b,num[N],s[N],f[N],ans[10][2]; //1~9在0~9中出现1次,0~99中出现20次,0~999中出现3
阅读全文
摘要:题目描述: 你培育出了一些新型的神经元,它们可以有很多的轴突。 具体来说,对于第i个神经元,它有1~di条轴突,因此可以与1~di个神经元相连,可以将轴突看成无向图的边,假定每个神经元都是不同的。 现在你想知道,有多少种方案使得其中恰好k个神经元相连通,这里的连通需要保证任意两个神经元间有且仅有一条
阅读全文
摘要:题目描述: 给定一个长度为n的由['0'..'9']组成的字符串s,v[i,j]表示由字符串s第i到第j位组成的十进制数字。 将它的某一个上升序列定义为:将这个字符串切割成m段不含前导'0'的串,切点分别为k1,k2...km-1,使得v[1,k1]<v[k1+1,k2]<...<v[km-2,km
阅读全文
摘要:题目描述: 题解: 正难则反,先求出让所有其它城市到达都城需反向几条边,再用总边数减去即可 f[i]表示以i为根的子树调整好需反向的边数 g[i]表示以i为都城需反向的边数 #include<iostream> #include<cstdio> using namespace std; const
阅读全文
摘要:传送门:https://www.luogu.org/problemnew/show/CF700 先手动模拟一下: 原串:abracadabra s数组依次是:abracadabra,abra,a 可以发现,每一步我们找最长的在上一个串中出现两次的子串,即可得到最优解 很容易想到dp: 定义两个数组:
阅读全文

浙公网安备 33010602011771号