当前位置:   article > 正文

裴蜀定理+dp两则_裴蜀dp

裴蜀dp
一.Codeforces Round #290 (Div. 2) D. Fox And Jumping
题目大意:

给你 n n n个卡片,第 i i i个卡片能够让你可以跨步为 l i l_i li,选择的花费的是 c i c_i ci.
然后你现在在坐标 0 0 0点,问你最小的花费使得你能够到达格子里的每个坐标。

题目思路:

就是选择一个子集 S S S满足 g c d ( l i ) = 1 , i ∈ S gcd(l_i)=1,i \in S gcd(li)=1,iS 使得 得到最小 ∑ S c i \sum_{S}c_i Sci.

可以利用类似同于最短路的思路做。令 d p [ i ] dp[i] dp[i]为当前选择的子集 g c d = i gcd=i gcd=i的最小花费。再用一个桶装当前可能 g c d gcd gcd.每次新增一个物品时与所有可能的 g c d gcd gcd求个 g c d gcd gcd即可然后刷表 d p dp dp即可。

二. 牛客练习赛52-D-烹饪
题目大意:

给你n个数 a i a_i ai,有多少种选择方法使得选出的数的gcd=1.
n , a i ≤ 3000 n,a_i \leq 3000 n,ai3000

题目思路:

这题比上面那题还容易点,可以直接令 d p [ i ] [ j ] dp[i][j] dp[i][j]为前 i i i个数,且选择出的子集 g c d = = j gcd==j gcd==j的方案。第 i i i个数选或不选计数转移即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/75444
推荐阅读
相关标签
  

闽ICP备14008679号