검색 bitset 분동 무게 측정

아까 보니까 구덩이 같은 데 bitset 쓰 면 좋 을 것 같 아 요.
bitset 용법 은 하나의 배열 이 라 고 생각 하고 이 진수 로 합 시다.
bitset 의 i 위 는 1 로 품질 이 i 라 는 것 을 표시 할 수 있 고 0 이면 품질 이 i 라 는 것 을 표시 할 수 없다.
예 를 들 어 bitset < 2010 > c; c[1]=1;품질 이 1 인 물품 이 라 고 할 수 있 음 을 나타 낸다.c[2]=0;품질 이 2 라 고 할 수 없 는 물건...
그래서 마지막 으로 bitset 에 1 이 있 는 만큼 표시 할 수 있 는 품질 이 있 습 니 다.b. accout () 은 bitset 의 1 개 수 를 직접 통계 할 수 있다. 
구체 적 인 코드 는 우리 가 매번 하 나 를 검색 할 때마다 이전에 말 할 수 있 는 모든 품질 과 그 를 더 하면 반드시 불 릴 수 있다 는 것 이다.그리고 bitset 는 2 진법 으로 할 수 있 는데 사실은 우리 가 상태 압축 을 한 것 과 같다.
#include
#include
#include
#include
using namespace std;
int n,m;
int a[1010];
bitset<2010> c;
int ans;
void dfs(int id,int sum,bitset<2010> b){
	if(sum==n-m+1){
	   ans=max(ans,(int)b.count() );
	   return;	
	}
	for(int i=id;i<=n;i++){
		dfs(i+1,sum+1,b<>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
c[0]=1;
dfs(1,1,c);
cout<

좋은 웹페이지 즐겨찾기