Codeforces Round #306 (Div. 2) B. Preparing Olympiad (二进制枚举)
来源:互联网 发布:json怎么写注释 编辑:程序博客网 时间:2024/05/18 00:55
熊希了一下二进制枚举的方法:
1. 利用二进制的开关特性,用1表示元素在集合内,用0表示不在集合内。
2. 可以用 从1到1<<n 这些数字表示出所有子集。
例题 :
给出一个集合,求满足条件M的子集的个数。 (M:MAX-MIN>=s && MIN>=l && MAX<= r)
#include <bits/stdc++.h>using namespace std;#define cir(a,b) memset(a,b,sizeof a)#define long long ll#define INF 1e9int n,l,r,x;int s[26];int main(){ while(~scanf("%d%d%d%d",&n,&l,&r,&x)) { for(int i=0;i<n;i++) { scanf("%d",&s[i]); } int m = 1<<n; int cnt = 0; for(int i=0;i<m;i++)//可能出现的集合的个数 { int Max = -1; int Min = INF; int s = 0; for(int j=0;j<n;j++) { if(i&(1<<j))//检查元素是否在子集内 { s+=s[j]; Max = Max > s[j]? Max : s[j]; Min = Min < s[j]? Min : s[j]; } } if(s<=r&&s>=l&&Max-Min>=x) { cnt ++; } } cout << cnt << endl; } return 0;}
1 0
- 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 (位运算)
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad (状态压缩)
- codeforces 306 div.2 B. Preparing Olympiad
- Codeforces Round 306 B Preparing Olympiad(简单dfs)
- codeforces #306 550B B. Preparing Olympiad(位压缩枚举)
- codeforces 550B Preparing Olympiad(枚举)
- CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)
- CodeForces 550B Preparing Olympiad
- codeforces-550B-Preparing Olympiad
- codeforces 550B Preparing Olympiad
- Preparing Olympiad CodeForces - 550B
- 【codeforces 550B】Preparing Olympiad
- CodeForces 550B Preparing Olympiad(dfs暴搜)
- 4-9 统计个位数字 (15分)
- [Mysql]---Navicat --外键建立与cannot add foreign key constraint分析
- Java中的IO流
- Maven本地资源库(三)
- idea插件报错导致不能启动的处理技巧
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad (二进制枚举)
- AJAX长轮询不工作与IE浏览器(AJAX long polling not working with IE)
- 事务的四大隔离级别
- android:gravity 和 android:layout_Gravity属性
- Flask and PostgreSQL on Heroku
- 记一次面试经历
- As of ADT 14, resource fields cannot be used as switch cases.
- Maven中央存储库(四)
- PHPCMS v9 wap模块 SQL注入