[CEOI2015 Day2]世界冰球锦标赛 - 洛谷

对于n<=40的情况,正常暴搜无疑要寄,那么我们可以分别从前一半和后一半开始搜,再对所搜的内容排序后,每一个在后面里二分出符合的答案。

和这题很像。

醉漾轻舟,信流引到花深处 (二分 折半搜索)_Jack_00_的博客-CSDN博客

/*keep on going and never give up*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define fast std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int maxn=2e6+10;
const int mod=1e9+7;
int n,m,ans,a[maxn];
vector<int>v1,v2;
void dfs(int l,int r,int sum,vector<int> &x){if(sum>m)return ;if(l>r){x.push_back(sum);return ;}dfs(l+1,r,sum+a[l],x);dfs(l+1,r,sum,x);
}
signed main(){fast cin>>n>>m;int mid=n>>1;for(int i=1;i<=n;i++) cin>>a[i];dfs(1,mid,0,v1);dfs(mid+1,n,0,v2);sort(v1.begin(),v1.end());int ans=0;for(int i=0;i<v2.size();i++)ans+=upper_bound(v1.begin(),v1.end(),m-v2[i])-v1.begin();cout<<ans;
}

P4799 [CEOI2015 Day2]世界冰球锦标赛 (双端搜索)相关推荐

  1. 洛谷P4799—— [CEOI2015 Day2]世界冰球锦标赛(折半搜索)

    原题链接 题意: 给n个物品和对应的价格,问用不超m元的钱可以买到的物品的方案数. 思路: 折半搜索的入门题(雾.jpg) n的范围是n<=40.普通的搜索一定会TLE,考虑将物品分成两部分来搜 ...

  2. P4799 [CEOI2015 Day2]世界冰球锦标赛(折半搜索)

    题目大意: 解题思路: 如果直接暴力(你的钱太多不允许你用背包),时间复杂度为O(240)O(2^{40})O(240)次方,但如果折半搜索可行的话,时间复杂度就为O(40∗220)O(40*2^{2 ...

  3. 洛谷P4799 [CEOI2015 Day2] 世界冰球锦标赛 题解

    洛谷P4799 [CEOI2015 Day2] 世界冰球锦标赛 题解 题目链接:P4799 [CEOI2015 Day2] 世界冰球锦标赛 题意: 译自 CEOI2015 Day2 T1「Ice Ho ...

  4. 洛谷—P4799 [CEOI2015 Day2]世界冰球锦标赛题解

    题目链接:P4799 [CEOI2015 Day2]世界冰球锦标赛 题目大意: 给定钱数,问要多少种观赛方案,可以一场都不看. 题解思路: 这道题要用到一种搜索方法--折半搜索.具体方法为:我们先把数 ...

  5. 洛谷P4799 [CEOI2015 Day2] 世界冰球锦标赛

    题目链接:P4799 [CEOI2015 Day2] 世界冰球锦标赛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 折半搜索: 1:先搜索左半边的票价和 2:再搜索右半边的票价和 ...

  6. P4799 [CEOI2015 Day2]世界冰球锦标赛

    \(\color{#0066ff}{题目描述}\) 今年的世界冰球锦标赛在捷克举行.Bobek 已经抵达布拉格,他不是任何团队的粉丝,也没有时间观念.他只是单纯的想去看几场比赛.如果他有足够的钱,他会 ...

  7. P4799 [CEOI2015 Day2] 世界冰球锦标赛

    知识点:双向搜索 这个是双向深搜,也是我的第一道双向搜索,所以挑了一个简单的题来写,还是比较简单的,以及要了解双向搜索是怎么降低时间复杂度的 #include <bits/stdc++.h> ...

  8. P4799 [CEOI2015 Day2]世界冰球锦标赛(折半暴搜)

    题目很明确,不超过预算的方案数.两个直觉:1.暴搜2.dp 每个点两种状态,选或不选.... 1.可过20% 2.可过70% 正解:折半搜索(meet in the middle) 有点像以前的双向广 ...

  9. 【折半搜索】 洛谷 P4799 [CEOI2015 Day2]世界冰球锦标赛

    我只会看题解和抄题解 普通搜索在这道题中存在的问题 一共最多有40场比赛,每一场比赛有看和不看2种选择,如果求看40场比赛一共有多少选择,最多有2^40种可能性,时间复杂度太高. 折半搜索思路 1.把 ...

最新文章

  1. ASP.NET MVC 5 入门教程 (2) 控制器Controller
  2. 用Go语言建立一个简单的区块链part6(2):交易(2)
  3. 天津2021年高考成绩查询入口,2021年天津高考成绩查询时间安排 什么时候出分
  4. ThinkPhp5 | 模块分析
  5. BOOST内存管理(一) --- boost::object_pool
  6. wamp下Apache2.4.x局域网访问403的解决办法
  7. 动手造轮子:实现一个简单的基于 Console 的日志输出
  8. lstm原文_LSTM模型与水文模型在径流模拟中的比较
  9. 每天Leetcode 刷题 初级算法篇-汉明距离
  10. B00015 C++实现的图类
  11. spring3.0学习之环境搭建
  12. vs2015卸载指南
  13. RS485电路及隔离技术(收藏)
  14. 【免费好用】节假日查询接口
  15. HTML+CSS+JS大作业:生态环境网站设计——环境保护主题-绿色环保 (9页) web期末作业设计网页_绿色环保大学生网页设计作业成品
  16. DNA序列编码中Hairpin的定义和计算
  17. outlook邮箱收到的附件(excel, word, ppt)不能正常打开的解决办法
  18. easypoi导出excel不设置样式_EasyPOI 导出excel设置边框,背景颜色,字体样式
  19. 女 大三,抱金砖~呵~
  20. 华为手机哪一款手机是鸿蒙系统_华为鸿蒙系统哪一款手机在用

热门文章

  1. 【转载】走进中国5000年经典诗词世界
  2. 《图解HTML》第四节 HTML标签分类与实践
  3. SWUSTOJ #148 陶陶摘苹果
  4. 【洛谷】P1046 陶陶摘苹果
  5. 安装win10,机械硬盘不能识别(光驱位置)
  6. OC中常用的数学函数以及浮点处理函数
  7. 为什么会存在1px问题?怎么解决?
  8. 推荐几款工作效率提升工具
  9. 基于Java的网络爬虫实现抓取网络小说(一)
  10. 基于华为的IP Sec