摘要: 题意: 共有 4 种硬币。面值分别为 \(c_1,c_2,c_3,c_4\)。 某人去商店买东西,去了 \(n\) 次,对于每次购买,他带了 \(d_i\) 枚 \(i\) 种硬币,想购买 $s$的价值的东西。请问每次有多少种付款方法。 范围&性质:$1\le n\le 103,1\le c,d,s 阅读全文
posted @ 2020-10-21 11:28 youth518 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题意: 戳这里查看 分析: 我们可以通过手调样例发现最后整张图会沿着一条线分为两个部分,所以我们利用这条分界线进行DP,我们设$f[i][j][0]$表示现在在第$i$行第$j$列的格子右下角的点,0表示该向右延展,1表示向下扩展,每次方向变化时需要除以二,因为有一个原来可放可不放的格子不得不放,情 阅读全文
posted @ 2020-10-21 11:11 youth518 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 题意: 戳这里查看 分析: 我们先不考虑区间的限制设出DP状态,$f[i][j]$表示枚举到第$i$个数,单调不降序列最后一位是$j$的方案数 转移方程就是: if(a[i]!=j) f[i][j]=f[i-1][j] else f[i][j]=f[i-1][k](k<=j) 我们发现可以用矩阵维护 阅读全文
posted @ 2020-10-21 11:02 youth518 阅读(124) 评论(0) 推荐(1) 编辑
摘要: 题意: 戳这里查看 分析: 我们发现题目里面每一个建立的基站可能会对之前的状态有所影响,所以我们在设计DP状态时需要将这种影响消除掉 我们设$f[i][j]$表示在第$i$个村庄修建第$j$个基站且不考虑对$[i+1,n]$个村庄的影响时的最小费用 转移方程就是 \(f[i][j]=min(f[k] 阅读全文
posted @ 2020-10-21 10:43 youth518 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题意: 戳这里查看 分析: 由于这是一个无限大的完全二叉树,所以不合法的方案仅存在于跳到根节点的父亲这一种,且由于指令会无限重复,所以我们必须保证指令会使得离开被标记的子树的时候,所有被标记的点已经全部访问完,因为我们不会折返回去向上跳的 那么我们考虑枚举它是经过哪条路径,从哪个点离开整颗子树的,只 阅读全文
posted @ 2020-10-21 10:24 youth518 阅读(178) 评论(0) 推荐(0) 编辑