首页 > 失衡天平
头像 Kur1su
发表于 2020-06-12 09:10:46
Description  终于Alice走出了大魔王的陷阱,可是现在傻傻的她忘了带武器了,这可如何是好???这个时候,一个神秘老人走到她面前答应无偿给她武器,但老人有个条件,需要将所选武器分别放在天平的两端,若天平平衡则可以将天平上的所有武器拿走,还好这个天平锈迹斑斑,只要两端重量相差小于等于m就会 展开全文
头像 HGDB
发表于 2020-06-09 16:32:44
思路 首先注意到数据范围只有100,所以我这里选择二维dp 通过证明不难发现,能带走的最多的重量,无论是分几次拿走的,一定可以变成一次能拿走的方案。 表示前 i 个武器放入天平的两端差距为 j 的天平上武器重量的和的最大值 所以状态转移方程就是 for(int i = 1 ; i <= n 展开全文
头像 zzugzx
发表于 2020-06-09 16:46:38
题目链接 题意:题解:AC代码 /* Author:zzugzx Lang:C++ Blog:blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #define fi 展开全文
头像 sunrise__sunrise
发表于 2020-06-09 16:48:57
题目意思 给你一个天平,你可以使用无数次,每次只要放上去的物品相差绝对值小于等于m就可以把左右两边物品带走,问最大带走的物品质量是多少? 解题思路 二维dp,首先看到题目范围100以内的数据,除了二进制枚举三次方也可以满足复杂度。那么一个思维模型,使用代表前i个数中差值在j以内的最大重量。可以发现每 展开全文
头像 pamhip
发表于 2020-06-10 17:29:49
题意 终于Alice走出了大魔王的陷阱,可是现在傻傻的她忘了带武器了,这可如何是好???这个时候,一个神秘老人走到她面前答应无偿给她武器,但老人有个条件,需要将所选武器分别放在天平的两端,若天平平衡则可以将天平上的所有武器拿走,还好这个天平锈迹斑斑,只要两端重量相差小于等于m就会保持平衡,Alice 展开全文
头像 江三
发表于 2020-06-10 15:53:43
一.题意 将一组物品分成两组,每个物品都可以不出现在任何一组。希望两组的重量差异不超过M,求最大化总重量。 二.题解 首先明显的背包,不过第二维代表的含义稍微做了点修改, 代表选取前 i 个物品重量差不超过 j 的最大总重量,那么很明显的有: 不选取第 i 个物品: 选取第 i 个物品并放在天 展开全文
头像 DaMing
发表于 2020-06-10 18:08:59
题目描述:有一个长度为n的序列,从中选择任意个数字将其分成两堆使两堆的和最大(且两堆的差值不超过m)先证明一下 取两次转化成一次的正确性 假设第一次取了 a ,b第二次取了 c ,da-b=mc-d=m-1那么如果我们把c放在a这端 明显是错误的我们把c放在b端( a+d )- (c+b)=-(m 展开全文
头像 hnust_zhouzisheng
发表于 2020-06-10 00:04:51
动态规划。 首先,题目说不限操作次数,但其实只要操作一次即可,因为每次操作得到的两堆重量差值均<=m,只要将每次得到的两堆按大小互补的方式与前一次的两堆合并到一起即可,最后相当于得到一次操作的结果。 其次,动态规划。原问题:从n个物品中选出两堆重量差不超过m时最大重量和。子问题:从前i个物品选 展开全文
头像 在刷题的单身狗很开心
发表于 2023-10-08 10:06:44
动态规划问题。 确定状态:在某物品要产生的重量差的数值能够放多少重量取决于这个物品会放到天平中的那一边或轻的那一边或不放。有这三种情况之后产生的差值就是上一个物品产生的差值中能够放物品的最大值了。那么递推式为:dp[i][j] = max(dp[i-1][j+a[i]]+a[i],  展开全文
头像 dakjhbsd
发表于 2020-06-10 19:12:06
这道题其实就是双塔问题。 每个物品有三种选择:放天平左边,放天平右边,不要这个物品。 代表前i个元素天平左右相差(左-右)的时候最大的重量是多少。如果放天平左边,就应该由转移来,如果放在天平右边就由转移来,不选则由转移来。 注意:左-右可能为负数,所以要对数轴进行一个平移。 #include < 展开全文