cf#306-B. Preparing Olympiad-bitmask暴力
来源:互联网 发布:隔音玻璃效果好吗 知乎 编辑:程序博客网 时间:2024/05/17 04:15
n=15,L,R,X
给你n个背包,每个带有一个价值
要求你选一定数量的背包, 使得总价值sum>=L && sum<=R
并且单个背包最大价值maxx-最小价值minn >= X;
n太小,直接用 数的二进制表示每个背包的选择状态,最多就2^15
对每个状态判断一下是否合法即可
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include <queue>#include <map>#include <set>#include <vector>using namespace std;#define inf 1e9+1__int64 tm[20];int main(){ __int64 i; __int64 n,l,r,x; scanf("%I64d%I64d%I64d%I64d",&n,&l,&r,&x); for (i=1;i<=n;i++) scanf("%I64d",&tm[i]); __int64 cun=(__int64)pow(2.0,n)-1; __int64 ans=0; for (i=1;i<=cun;i++) { __int64 sum=0; __int64 minn=inf; __int64 maxx=0; __int64 tmp=i; __int64 cou=1; while(tmp) { if (tmp&1) { sum+=tm[cou]; if (tm[cou]>maxx) maxx=tm[cou]; if (tm[cou]<minn) minn=tm[cou]; } tmp>>=1; cou++; } if (sum>=l&&sum<=r ) if (maxx-minn>=x) ans++; } printf("%I64d\n",ans); return 0; }
0 0
- cf#306-B. Preparing Olympiad-bitmask暴力
- 枚举暴力 cf B. Preparing Olympiad
- CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)
- codeforce B. Preparing Olympiad (DFS+回溯)/(暴力状压)
- codeforces 306 div.2 B. Preparing Olympiad
- B. Preparing Olympiad
- codeforces #306 550B B. Preparing Olympiad(位压缩枚举)
- CodeForces 550B Preparing Olympiad
- codeforces-550B-Preparing Olympiad
- codeforces 550B Preparing Olympiad
- Preparing Olympiad CodeForces - 550B
- 【codeforces 550B】Preparing Olympiad
- Codeforces Round 306 B Preparing Olympiad(简单dfs)
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad
- Codeforces Round #306 (Div. 2)B. Preparing Olympiad--状态压缩
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad
- Codeforces Round #306 (Div. 2) B.Preparing Olympiad (位运算)
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
- POJ1062 昂贵的聘礼(dijkstra)
- 【Android-006】【对话框】
- yii学习笔记,目录基本组成
- HDMI转LVDS,HDMI转RGB,MHL转RGB,MHL转LVDS,HDMI接收端,MHL接收端,LT8619B业界最新产品
- CF#306- A - Two Substrings-水题
- cf#306-B. Preparing Olympiad-bitmask暴力
- 苹果电脑充电发热启不了机怎么办?
- CF#306-C - Divisibility by Eight-数学+暴力
- 收起键盘的四种方法
- 继承
- 类
- 重载
- hdu 3460 Ancient Printer trie字典树
- 新手学python--字典