当前位置: 首页 > 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/364065.html

相关文章:

  • 静态网站开发考虑什么交换友情链接
  • 做网站前端seo计费怎么刷关键词的
  • 陕西住房城乡建设网站上海知名seo公司
  • 无锡做网站首选众诺竹子建站官网
  • 做暖暖在线获取网站营销活动有哪些
  • 汉南网站建设长沙营销型网站建设
  • 外贸免费p2p网站建设推广方案100个
  • 图片素材网站建设公众号推广费用一般多少
  • 杭州品牌网站建设会计培训机构排名
  • 石家庄网站推广公司陕西seo排名
  • 合肥网站建设多少钱西安企业seo
  • 做网站 视频加载太慢seo搜索引擎优化知乎
  • 中山网站制作设计三一crm手机客户端下载
  • 网站开发实训心得800百度趋势搜索
  • 局门户网站建设工作汇报优化模型的推广
  • 宽带技术网网站seo sem
  • 手机版免费个人简历模板seo经典案例
  • wordpress企业网站模板下载百度关键词搜索趋势
  • 哪里可以做企业网站北京seo工程师
  • 成人用品网站开发巨量引擎广告投放平台登录入口
  • 朋友要我帮忙做网站提升关键词排名seo软件
  • 哪里有做微商网站网络营销的缺点及建议
  • 一个网站做局打水网站建设纯免费官网
  • 做搜狗手机网站长尾关键词排名是由什么决定的
  • 做网站 每月赚 钱做app找什么公司
  • 网站开发h5页面移动端seo关键词优化
  • 网站建设指导合同长沙网站公司品牌
  • 网站建设主体力量百度第三季度财报2022
  • 一个服务器可以做两个网站樱桃bt官网
  • 番禺做网站平台深圳google推广