摘要:
gate 树形dp水题,题意见题目w 直接判断是否选儿子即可。 #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #define MogeKo qwq using namespace std; const in 阅读全文
摘要:
gate 我太菜了,看了标签是背包还不知道是怎么回事qaq 看了下题解,意识到这是个类似素数筛的东西。 感性理解可以发现,原货币系统中能被表示出来的是可以不选的,剩下的就是要选的。所以最小的一定要选,把原货币系统从小到大排序。 枚举原货币系统中的货币a[i],枚举金额j(a[i]+1<j<a[n]) 阅读全文
摘要:
gate 四 重 循 环 暴 力 枚 举 因为最终状态是用完所有的牌…所以可以根据用了多少牌来dp 设f[i][j][k][l]表示每种牌用了多少张…它就可以从f[i-1][j][k][k],f[i][j-1][k][l]...转移过来 代码如下 #include<cstdio> #include< 阅读全文
摘要:
gate 第一反应是树形dp,讨论兄弟和爷爷两种情况。想了想觉得不够优雅就去看了题解… 优雅的做法是枚举中间点! 设当前点为x,x所连的点为(a,b,c,...) 对于求最大值,只要每次记录x连接的最大的两个点,并检查更新答案即可。 因为求有序点对,所以(a,b)(b,a)都会被算一次。 那么x的最 阅读全文
摘要:
gate 经过第二天平复心情后回来写题解… 写bug5分钟 debug2小时 显然,区间dp,开2倍长度+前缀和 f[i][j][t]表示区间(i,j)分成t段所得到的最大值。 区间长度、起点、分段数、断点,四重循环。 注意范围——比如分段数的上限是min(m,j-i+1). *之前的枚举顺序不对但 阅读全文