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

网站开发北京搜狗搜索引擎网页

网站开发北京,搜狗搜索引擎网页,苹果手机如何添加网站,做网站开发的提成多少钱题目来自洛谷: 暴力思路: ①根据题目,可以知道有三种操作,第一种操作选择这个瓜,第二种操作不选择这个瓜,第三种操作选择这个瓜的一半。我们可以用一个res来记录这三种操作返回的结果,最后在返…

题目来自洛谷:

暴力思路:

①根据题目,可以知道有三种操作,第一种操作选择这个瓜,第二种操作不选择这个瓜,第三种操作选择这个瓜的一半。我们可以用一个res来记录这三种操作返回的结果,最后在返回这三种操作的最小值。

②从数据样例中知道,对于第三种操作,在进行切一半操作的时候,数据类型会发生改变,int只能存整数,这样会导致答案错误。因此我们存数据前对数据进行*2操作,同时我们的总重量也要 m*2。

③由于本题数据过大,会爆int,我们要用long long 来存。

#include<bits/stdc++.h>
//long long 来存数据
#define int long long
using namespace std;
const int N = 40;int n, m;
int arr[N];//存数据
int w[N]; //后缀和//x表示枚举瓜 sum 表示当前重量
int dfs(int x, int sum){if(sum == 2*m){return 0;}//遍历完了所有瓜if(x > n){return N;}//当前重量超过总重量 不合法if(sum > 2*m){return N;}//当前重量+加上当前点后缀和小于总重量 不合法if(sum + w[x] < 2*m){return N;}//直接选int res1 = dfs(x+1, sum + arr[x]);//选一半int res3 = dfs(x+1, sum + arr[x] / 2) +1;//不选int res2 = dfs(x+1, sum);return min({res1, res2, res3});
}signed main(){cin >> n >> m;//在存入数据之前 将数据*2 //后续操作不需要使用 doublefor(int i = 1; i <= n; i++){int x; cin >> x;arr[i] = 2*x;}//将arr数组从大到小排序sort(arr+1, arr+n+1);reverse(arr+1, arr+n+1);//后缀和for(int i = n; i >= 1; i--){w[i] = w[i+1] + arr[i];}//得到答案int res =  dfs(1, 0);//判断一下 能不能买到总重量恰好为m的瓜if(res == N){cout << "-1" << endl;}else{cout << res << endl;}return 0;
}

http://www.dtcms.com/wzjs/494864.html

相关文章:

  • 汕头网站快速排名提升新的seo网站优化排名 网站
  • 重庆网站建设找重庆万为成都seo论坛
  • 帮您做网站网络营销方法有哪些?
  • 传统网站模版网络营销外包推广
  • 建设工程质量监理协会网站朋友圈信息流广告投放价格
  • 北京做养生SPA的网站建设短视频seo搜索优化
  • 新乡专业做网站百度seo排名优化教程
  • 博客移植wordpress莱阳seo排名
  • 网页美工设计与欣赏四川网站seo
  • 自己购买域名做网站惠州seo
  • 百度搜索官方网站网络营销外包推广定制公司
  • app开发与网站建设搜易网优化的效果如何
  • 知名企业创新案例关键词优化技巧有哪些
  • 的网站制作高端网站建设公司哪家好
  • 设计模式seo排名赚官网
  • 湘潭网站建设厦门网站制作标题优化方法
  • wordpress get_template_part合肥优化推广公司
  • 智慧社区背景图网络优化大师
  • 网站主页不收录快速网络推广
  • 菜户营做网站创建网站花钱吗
  • 如何利用NAS做网站seo先上排名后收费
  • 我的网站wordpress怎么在百度发广告
  • 网站建设低价网站到底便宜在哪专业北京网站建设公司
  • cn网站建设多少钱百度seo优化方案
  • 网站跳转站代码营销策划方案范文
  • 私人接做网站违法么百度搜索结果优化
  • 襄阳网站建设xytzg磁力吧最佳搜索引擎
  • 互联网推广员seo排名点击器
  • 深圳网站建设找哪家公司网络安全
  • 网站链接改名怎做301台州seo