250
简单题
// BEGIN CUT HERE
// END CUT HERE
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <utility>
#include <cmath>
#include <queue>
#include <stack>
#include <cstring>
#include <cstdlib>
#include <set>
#include <iterator>
#include <sstream>
#include <ctime>
using namespace std;
typedef long long LL;
#define sz(x) x.size()
#define pb push_back
#define mp make_pair
#define clr(x,a) memset(x,a,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(x))
class CostOfDancing {
public:
int minimum(int K, vector <int> danceCost) {
int n=sz(danceCost);
sort(danceCost.begin(),danceCost.end());
int ret=0;
for(int i=0;i<K;i++)
ret+=danceCost[i];
return ret;
}
// BEGIN CUT HERE
// END CUT HERE
};
// BEGIN CUT HERE
// END CUT HERE
简单题
// BEGIN CUT HERE
// END CUT HERE
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <utility>
#include <cmath>
#include <queue>
#include <stack>
#include <cstring>
#include <cstdlib>
#include <set>
#include <iterator>
#include <sstream>
#include <ctime>
using namespace std;
typedef long long LL;
#define sz(x) x.size()
#define pb push_back
#define mp make_pair
#define clr(x,a) memset(x,a,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(x))
class BuildingHeightsEasy {
public:
int cnt[55];
vector<pair<int,int> > vp;
int minimum(int M, vector <int> heights) {
int n=sz(heights);
clr(cnt,0);
vp.clear();
for(int i=0;i<n;i++)
cnt[heights[i]]++;
for(int i=0;i<=54;i++){
if(!cnt[i]) continue;
vp.pb(mp(i,cnt[i]));
// cout<<i<<" "<<cnt[i]<<endl;
}
int ret=0x3f3f3f3f;
n=sz(vp);
for(int i=0;i<n;i++){
int cst=0;
int sum=vp[i].second;
for(int j=i-1;j>=0;j--){
int add=min(vp[j].second,M-sum);
if(add<=0) break;
cst+=(vp[i].first-vp[j].first)*add;
sum+=add;
//cout<<cst<<endl;
}
if(sum>=M)
ret=min(ret,cst);
}
return ret;
}
// BEGIN CUT HERE
// END CUT HERE
};
// BEGIN CUT HERE
// END CUT HERE
1000
博弈 SG
// BEGIN CUT HERE
// END CUT HERE
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <utility>
#include <cmath>
#include <queue>
#include <stack>
#include <cstring>
#include <cstdlib>
#include <set>
#include <iterator>
#include <sstream>
#include <ctime>
using namespace std;
typedef long long LL;
#define sz(x) x.size()
#define pb push_back
#define mp make_pair
#define clr(x,a) memset(x,a,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(x))
class GameOfSegments {
public:
int dp[1010];
int nim[1010];
int winner(int N) {
for(int i=0;i<=N;i++){
clr(nim,0);
for(int j=0;j<=i-2;j++)
nim[dp[j]^dp[i-2-j]]=1;
int p=0;
while(nim[p]!=0) p++;
dp[i]=p;
}
return dp[N]>0?1:2;
}
// BEGIN CUT HERE
// END CUT HERE
};
// BEGIN CUT HERE
// END CUT HERE