正解:折半搜索

解题报告:

先放个传送门QAQ

想先说下部分分?因为包含了搜索背包两个方面就觉得顺便复习下?QwQ

第一档部分分 爆搜

就最最普通的爆搜鸭,dfs(第几场,钱),然后每次可以看可以不看于是dfs(+1,+钱)和dfs(+1,不变)地转移就好辣!

第二档部分分 背包

f[第几场][钱]地转移就好辣,不想多说了QwQ

然后你就能拿到70pts辣!

然后就说下,正解

正解就是,折半搜索鸭,就先处理出来前n/2场的所有花钱的方案,再处理出后n/2场的方案(就用第一档分的爆搜处理

然后upper_band每次找后面场能对应的看的场数,加起来,就好辣!

over

发现折半搜索其实做得挺susi的,代码量不大,,,我很久没有体验40minA一道题的美好感受了QAQ

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i) const ll N=,M=;
ll n,m,cst[N],cnt1,cnt2,sum1[M],sum2[M],ans; inline ll read()
{
char ch=getchar();ll x=;bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
}
inline void dfs1(ll x,ll y)
{
if(y>m)return ;if(x>(n>>)){sum1[++cnt1]=y;return;}
dfs1(x+,y);dfs1(x+,y+cst[x]);
}
inline void dfs2(ll x,ll y)
{
if(y>m)return ;if(x>n){sum2[++cnt2]=y;return;}
dfs2(x+,y);dfs2(x+,y+cst[x]);
} int main()
{
n=read();m=read();rp(i,,n)cst[i]=read();
dfs1(,);dfs2((n>>)+,);
sort(sum2+,sum2++cnt2);sort(sum1+,sum1++cnt1);
rp(i,,cnt1)ans+=upper_bound(sum2+,sum2++cnt2,m-sum1[i])-sum2-;
printf("%lld\n",ans);
return ;
}

格式好像炸了???不清楚QAQ如果炸了麻烦在下面评论一句告诉我QAQ

最新文章

  1. Java_jvisualvm使用JMX连接远程机器(实践)
  2. GitHub Windows客户端无法登录
  3. 4种sql分页
  4. 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
  5. MySQL语句进行分组后的含有字段拼接方法
  6. 触发器 &#39;SA.U_USER_INFO_TRG&#39; 无效且未通过重新验证--Oracle序列
  7. HTML之调用摄像头实现拍照和摄像功能
  8. spring中controller
  9. Java--获取request中所有参数的方法
  10. Codeforces 482B Interesting Array
  11. Jupyter Notebook使用小技巧
  12. Python:操作数据库
  13. UVA211-The Domino Effect(dfs)
  14. hdoj4871
  15. 获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段
  16. kooboocms遇到的问题
  17. 线程与COM
  18. vim 配置半透明
  19. 转:zookeeper中Watcher和Notifications
  20. 微信小程序语音识别

热门文章

  1. c#后台访问接口
  2. ThinkPHP的易忽视点小结
  3. mui自定义事件带参返回mui.back()
  4. Unity 大版本更新之APK的下载与覆盖安装
  5. 使用ADO实现BLOB数据的存取 -- ADO开发实践之二
  6. POJ 1655 Balancing Act(求树的重心--树形DP)
  7. 超全面的JavaWeb笔记day19&lt;Service&gt;
  8. Java 类设计----Java类的继承
  9. osgEarth中的StringUtils头文件中有很多关于字符串的操作
  10. SDRAM容量的计算方法