小奇取石子
小奇取石子
题解
本题需要根据数据范围的不同来考虑。
对于第一个30%的数据,打个暴力即可。
对于第二个30%的数据,一看,就是状压dp,将每一堆石子压个状态就行了。
对于第三个40%的数据,打个朴素dp就行了,表示表示i个石子选择的最少堆数。
源码
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long LL;
int n,m,k,a[205];
int dp[2505],ans,dp1[(1<<20)+5];
#define gc() getchar()
template<typename _T>
inline void read(_T &x)
{
    _T f=1;x=0;char s=gc();
    while(s>' 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号