4800: [Ceoi2015]Ice Hockey World Championship(折半搜索)
4800: [Ceoi2015]Ice Hockey World Championship
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 622 Solved: 311
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
100 1500 500 500 1000
Sample Output
HINT
Source
#include<bits/stdc++.h> #define N 45
#define M 1000007
#define ll long long using namespace std;
ll n,m,ans,cnt,mx,flag;
ll val[N],f[N][M]; inline ll read()
{
ll x=,f=;char c=getchar();
while(c>''||c<''){if(x=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} void dfs(int k,ll sum)
{
if(sum>m) return;
if(k==n)
{
ans++;return;
}
dfs(k+,sum);
dfs(k+,sum+val[k+]);
} void dp()
{
f[][m]=;
for(int i=;i<=n;i++) for(int j=;j<=m;j++)
{
f[i][j]+=f[i-][j]+f[i-][j+val[i]];
}
for(int i=;i<=m;i++) ans+=f[n][i];
} int main()
{
//freopen("ly.in","r",stdin);
n=read();m=read();
for(int i=;i<=n;i++) val[i]=read();
if(m<=1e6) dp();
else dfs(,);
printf("%lld\n",ans);
return ;
}
80暴力 dfs+dp
/*
折半搜索
*/
#include<bits/stdc++.h> #define ll long long
#define N 55 using namespace std;
ll n,m,mid,cnta,cntb,ans;
ll w[N],suma[<<],sumb[<<]; inline ll read()
{
ll x=,f=;char c=getchar();
while(c>''||c<''){if(x=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} inline void dfs(int l,int r,ll sum,ll a[],ll &cnt)
{
if(sum>m)return;
if(l>r)
{
a[++cnt]=sum;return;
}
dfs(l+,r,sum+w[l],a,cnt);
dfs(l+,r,sum,a,cnt);
} int main()
{
n=read();m=read();
for(int i=;i<=n;i++)w[i]=read();;
mid=n/;
dfs(,mid,,suma,cnta);
dfs(mid+,n,,sumb,cntb);
sort(suma+,suma++cnta);
for(int i=; i<=cntb; i++)
ans+=upper_bound(suma+,suma++cnta,m-sumb[i])-suma-;
printf("%lld\n",ans);
return ;
}
4800: [Ceoi2015]Ice Hockey World Championship(折半搜索)的更多相关文章
- 【bzoj4800】[Ceoi2015]Ice Hockey World Championship 折半搜索
题目描述 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. 输入 第一行两个数n,m代表物品数量及钱数 第二行n个数,代表每个物品的价格 n<=40,m<=10^18 输出 一行 ...
- 【BZOJ4800】[Ceoi2015]Ice Hockey World Championship Meet in the Middle
[BZOJ4800][Ceoi2015]Ice Hockey World Championship Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Input 第一 ...
- 【BZOJ4800】[Ceoi2015]Ice Hockey World Championship (meet in the middle)
[BZOJ4800][Ceoi2015]Ice Hockey World Championship (meet in the middle) 题面 BZOJ 洛谷 题解 裸题吧,顺手写一下... #i ...
- 【bzoj4800】: [Ceoi2015]Ice Hockey World Championship dfs
[bzoj4800]: [Ceoi2015]Ice Hockey World Championship N<=40所以如果直接dfs背包会TLE 考虑Meet-in-the-middle 如果把 ...
- bzoj4800 [Ceoi2015]Ice Hockey World Championship
Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Input 第一行两个数n,m代表物品数量及钱数 第二行n个数,代表每个物品的价格 n<=40,m<=1 ...
- BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针
BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针 Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Inpu ...
- [luogu4799 CEOI2015 Day2] 世界冰球锦标赛(折半搜索)
传送门 Solution 折半搜索裸题,注意\(long long\) Code #include <cmath> #include <cstdio> #include < ...
- 【BZOJ4800】[CEOI2015 Day2]世界冰球锦标赛 (折半搜索)
[CEOI2015 Day2]世界冰球锦标赛 题目描述 译自 CEOI2015 Day2 T1「Ice Hockey World Championship」 今年的世界冰球锦标赛在捷克举行.\(Bob ...
- 折半搜索【p4799】[CEOI2015 Day2]世界冰球锦标赛
Description 今年的世界冰球锦标赛在捷克举行.Bobek 已经抵达布拉格,他不是任何团队的粉丝,也没有时间观念.他只是单纯的想去看几场比赛.如果他有足够的钱,他会去看所有的比赛.不幸的是,他 ...
随机推荐
- Beat---hdu2614
http://acm.hdu.edu.cn/showproblem.php?pid=2614 题目大意 题目就不粘了 就是一个简单的深搜 由于我深搜实在是不懂 就在写一个博客记录一下 #in ...
- Java调用WSDL接口
1.首先准备jar包: 2.代码调用如下: String url="url地址"; QName qName=new QName("命名空间","接口名 ...
- java的计时:毫秒、纳秒
System.currentTimeMillis()获取毫秒值,但是其精度依赖操作系统 想实现较为精确的毫秒,可以采用 System.nanoTime()/1000000L System.nanoTi ...
- ext.net 2.5 导出excel的使用方法
前台页面的导入,导出 <ext:FileUploadField ID="FileUploadField_Import" runat="server" Bu ...
- 使用Blender批量导出/转换模型
2.4版本号的Blender API和2.5以上版本号的API有非常大的不同,这里仅仅是提供了思路和2.4版本号的导出方案. 先提供一个脚本,这个是由Blender调用的.用于转换Ogre的Mesh文 ...
- iOS与HTML交互问题
一. 加载后台传过来的HTML标签,文字都能正常显示但是图片显示不了.找问题找了很久没有发现那个地方写错,也问了别人都不知道,后来问了Android才知道,后台传过来的HTML标签,有些是转义过的.移 ...
- GridView根据一列自动计算(转载)
<%@ Page Language="C#" %> <%@ Import Namespace="System.Xml" %> <! ...
- 2016/04/13 ①html 中各种分割线------------------------------------------ ② 控制文字显示
①各种分割线Html代码 1.<HR> 2.<HR align=center width=300 color=#987cb9 SIZE=1>align 线条位置(可选left. ...
- WebService注解汇总
Web Service 元数据注释(JSR 181) @WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值 ...
- 设置一个DIV块固定在屏幕中央(两种方法)
设置一个DIV块固定在屏幕中央(两种方法) 方法一: 对一个div进行以下设置即可实现居中. <style> #a{ position: fixed; top: 0px; left: 0p ...