貪心從大到小加入,正確性不是很會證,需要用到擬陣來證明 總之做法就是從大到小貪心加入,如果不與已選的元素沖突,那麼就貪心選他
#include #include #include #include #include #include #include #include #include #include #include #define ll long long #define N 1005 using namespace std; ll sc() { ll i=0; char c=getchar(); while( c>'9' || c<'0' ) c=getchar(); while( c>='0' && c<='9' )i=i*10+c-'0',c=getchar(); return i; } struct W{int x;ll a;}a[N]; ll ins[66],ans; int n; bool cmp(W a,W b) { return a.x>b.x; } int main() { n=sc(); for(int i=1;i<=n;i++) a[i].a=sc(),a[i].x=sc(); sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { for(int k=65;k>=0;k--) { if((a[i].a>>k)&1) { if(!ins[k]) { ins[k]=a[i].a; break; } a[i].a^=ins[k]; } } if(a[i].a)ans+=a[i].x; } cout<
什麼是自定義的組合控件自定義的Web組合控件正
面試中的 10 大排序算法總結前言查找和排序算法是算法的入門
題目傳送:BestCoder Round #41
一.題目描述The count-and-say sequen
如果你覺得C++還不夠復雜,那你知道protected ab
標准格雷碼的性質:二進制a1 a2 ... an