当前位置: 首页 > news >正文

网站开发费 税率网站分为

网站开发费 税率,网站分为,长沙网站优化方法,亚马逊新店投广告是免费的吗题目描述 达达帮翰翰给女生送礼物#xff0c;翰翰一共准备了 N N N 个礼物#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品#xff0c;请…题目描述 达达帮翰翰给女生送礼物翰翰一共准备了 N N N 个礼物其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品请你告诉达达在他的力气范围内一次性能搬动的最大重量是多少。 输入格式 第一行两个整数分别代表 W W W 和 N N N。 以后 N N N行每行一个正整数表示 G [ i ] G[i] G[i]。 输出格式 仅一个整数表示达达在他的力气范围内一次性能搬动的最大重量。 数据范围 1 ≤ N ≤ 46 1≤N≤46 1≤N≤46, 1 ≤ W , G [ i ] ≤ 2 31 − 1 1≤W,G[i]≤2^{31}−1 1≤W,G[i]≤231−1 输入样例 20 5 7 5 4 18 1输出样例 19算法思想 根据题目描述需要从给定的 N N N个数中选择几个使它们的和最接近 W W W属于“子集和”问题的扩展当然也可以从背包问题的角度去思考解决但是这里背包的“体积”过大 1 ≤ W ≤ 2 31 − 1 1≤W≤2^{31}−1 1≤W≤231−1时间和空间复杂度都不允许。 这类问题的直接解法就是进行“指数型”枚举搜索每个礼物选还是不选时间复杂度为 O ( 2 N ) O(2^N) O(2N)。此题 N ≤ 46 N≤46 N≤46 2 46 2^{46} 246的复杂度过高可以利用双向深搜的思想进行优化。 双向深搜 除了迭代加深之外双向深搜也可以避免在深层子树上浪费时间。 在一些题目中问题不但具有“初态”还具有明确的“终态”并且从初态开始搜索与从终态开始逆向搜索产生的搜索树都能覆盖整个状态空间。在这种情况下就可以采用双向搜索——从初态和状态出发各搜索一半产生的两棵深度减半的搜索树在中间交汇、组成最终答案。避免了层数过深时分支数量的大规模增长。 下图是直接进行一次搜索产生的搜索树 下图是双向搜索的两棵搜索树避免了避免了层数过深时分支数量的大规模增长。 算法实现 将礼物分成两部分 首先从前一半礼物中枚举出所有组合将可能达到 0 ∼ W 0\sim W 0∼W之间的所有重量值存放在一个数组 a [ ] a[] a[]中并对数组进行排序、去重然后进行第二次搜索尝试从后一半礼物中枚举出所有组合对于每个可能达到的重量 k k k在第一部分得到的数组 a [ ] a[] a[]中查找 k a [ i ] ≤ W ka[i]\le W ka[i]≤W的最大值可以使用二分查找。 这样算法的时间复杂度为 O ( 2 N 2 × l o g N 2 ) O(2^{\frac{N}{2}}\times log\frac{N}{2}) O(22N​×log2N​)。 代码实现 #include iostream #include cstring #include algorithm using namespace std; typedef long long LL; const int N 50; int w[N]; int cnt, a[1 25]; //存储前一半礼物所有组合的重量 int n, W, ans; void dfs1(int i, int k) //k表示目前组合的重量 {if(i n / 2) //只搜索前一半的礼品{a[cnt ] k; //将组合得到的重量存到a数组return;}if((LL)k w[i] W) dfs1(i 1, k w[i]); //装得下第i件礼物dfs1(i 1, k); //不装第i件礼物 } void dfs2(int i, int k) {if(i n) //搜索完成二分查找不超过W的最大组合重量{int L 0, R cnt - 1;while(L R){int mid (L R 1) / 2;if((LL)k a[mid] W) L mid;else R mid - 1;}ans max(ans, k a[L]);return;}if((LL)k w[i] W) dfs2(i 1, k w[i]); //装得下第i件礼物dfs2(i 1, k); //不装第i件礼物 } int main() {cin W n;for(int i 0; i n; i ) cin w[i];//优化搜索顺序优先搜索重量较大的礼品sort(w, w n);reverse(w, w n);dfs1(0, 0); //枚举前一半礼品的组合将其组合得到的重量存到a数组sort(a, a cnt); //对前一半礼物组合得到的重量排序去重cnt unique(a, a cnt) - a;//对后一半礼物进行搜索dfs2(n / 2, 0);cout ans;return 0; }
http://www.sczhlp.com/news/191312/

相关文章:

  • 网站在电脑与wap显示一样怎样用ps设计网站模板
  • 政和网站建设网站404页面做晚了
  • 微网站设计与开发竞赛网站开发与管理能力
  • 专门做dnf补丁的网站找公司做网站源代码给客户吗
  • 服装公司网站建设策划书智慧团建注册登记入口
  • 网站管理 设置开启企业年金辞职了就白交了吗
  • 网站推广方案整理上海浦东注册公司
  • 成都网站建设熊掌号免费网站报价单怎么做
  • 揭阳做网站设计山西网络科技有限公司
  • 专门做qq小工具的网站怎么建立图片的网站
  • 深圳有实力的网站建设服务商广东建设网站首页
  • 自建网站如何在百度上查到深圳企业网站制作报价
  • 太原云起时网站建设惠州网站建设推广
  • 张店学校网站建设哪家好wordpress 汉语字体
  • 网页设计空格代码快捷键外贸seo优化公司
  • 龙之向导外贸官方网站wordpress多说插件
  • 2025年10月清洗机厂家最新权威推荐榜:高压清洗机,超声波清洗机,工业清洗机,家用清洗机品牌精选!
  • 2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿系统公司推荐
  • 2025年城市智能候车亭厂家推荐榜:公交/智能/不锈钢/铝型材/镀锌钢/氟碳漆/仿古/港湾式/光伏/太阳能候车亭厂家推荐,三大优质厂商深度解析
  • 2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室恒温恒湿系统公司推荐
  • 需要上传视频的网站阿里云网站怎么做
  • 嘉兴优化网站公司如何快速自己做网站
  • 辽宁省建设部网站甘肃省住房和建设厅网站首页
  • 京东网站建设步骤WordPress文章入库规则
  • 诚信网站建设的意义网站做多宽
  • 网站app开发网络组建设计与方案
  • 琼海做网站口碑彩票网站开发制作需要什么
  • 汕头建站费用什么网站流量高
  • p2p网站建设 上海赣榆县建设局网站
  • 佛山网站免费制作茶类网站建设方案