动态规划DP
园游会不打烊
这个作者很懒,什么都没留下…
展开
-
[USACO20OPEN]Exercise G题解(洛谷P6280)
题面:洛谷P6280解题思路:首先,分析题目发现,某个排列的需要进行恰好 K 步变回原样,这个时候K的值就是这个排序中各个环的长的的最小公倍数(lcm)。例如样例:(2,3,1,5,4)(2,3,1,5,4)(2,3,1,5,4),它分为两个环,分别是(2,3,1)(2,3,1)(2,3,1)和(5,4)(5,4)(5,4),长度分别为333和222那么这时K的值是3∗2=63*2=63∗2=6。其次根据唯一分解,一些数的最小公倍数就是除了111以外其它各个数分解质因数后各个质数的最大次幂相乘,例如原创 2020-08-03 11:21:49 · 414 阅读 · 0 评论 -
POJ1015 Jury Compromise 题解(AcWing280、UVA323)
题目描述:有nnn个物品,每个物品有两个属性ppp和ddd,从这nnn个物品中选取mmm个,记ppp的总和为spspsp,ddd的总和为sdsdsd,要使得∣sp−sd∣|sp-sd|∣sp−sd∣尽量小,如果一样使sp+sdsp+sdsp+sd尽量大,如果还有一样,输出任意组合,输出物品编号并按升序输出。解题思路:设dp(i,j,k)dp(i,j,k)dp(i,j,k)为前iii个物品选了jjj个并且ppp的总和和ddd的总和的差为kkk,(即sp−sdsp-sdsp−sd)时spspsp的最大值(原创 2020-07-29 10:42:31 · 216 阅读 · 0 评论 -
UVA12105 Bigger is Better 详解
UVA12105 Bigger is Better题目描述:紫书P293用不超过 n(1≤n≤100)n(1 \leq n \leq 100)n(1≤n≤100) 根火柴摆出一个尽量大的、能被 m(1≤m≤3000)m(1 \leq m \leq 3000)m(1≤m≤3000) 整除的数。解题思路方法一:来自紫书,设dp(i,j)dp(i,j)dp(i,j)表示用iii根火柴能拼出除以mmm余数为jjj的最大的数,枚举在对右边添加数字kkk,用dp(i,j)∗10+kdp(i,j)*10+kd原创 2020-07-24 16:09:50 · 254 阅读 · 0 评论