有點難度啊。。。
a minimum cost perfect matching
隊友搞的 應該不難 。。。。把二進位制寫出來看看
#includeusing namespace std;
#define ll long long int
#define lson rt<<1,l,m
#define rson rt<<1|1,m+1,r
int res[500500];
int s[30];
int main()
}for(int i=0;ij sudoku subrectangles
先處理每個元素向右向下擴張的最大範圍,因為最多只有52所以只有1000*1000*104的複雜度。
然後就把每乙個元素作為乙個子矩陣的左上角,計算一下符合的子矩陣有多少即可。。
注意ans需要是long long 。。。。
#includeusing namespace std;
char s[1111][1111];
int heng[1111][1111];
int shu[1111][1111];
int vis[222];
int zs[1111][1111];
int main()
memset(vis,0,sizeof(vis));
int pc=1;
for(int i=1;i<=n;i++)
vis[s[i][k]]=pc;
}heng[i][j]=k-j;
pc++;
for(k=i;k<=min(n,i+51);k++)
vis[s[k][j]]=pc;
}shu[i][j]=k-i;
} }long long ans=0;
for(int i=1;i<=n;i++)
int len=heng[i][j];
for(int k=i+1;k<=i+shu[i][j]-1;k++)
if(len<=0)
break;
ans+=len;
}} }
cout
dfs 如果遇到全變為0的情況,在這三種操作下是不會再出現1了,所以遇到這種情況就不用再繼續dfs了。加上這個剪枝就好了。
#includeusing namespace std;
char s[(1<<18)];
int da[(1<<19)];
int ans=0;
void dfs(int x)
int len=(1<>n;
cin>>s;
int len=(1構造。**:
首先考慮構造乙個完全圖,那麼t個點的完全圖一共能有c(t, 4)個大小為4的團。但是在c(t, 4)和c(t+1, 4)之間會有空缺,因此在完全圖外放若干個點,每個點與這個完全圖中的若干個點連邊,最後會形成類似於c(t, 4)+c(x1, 3)+c(x2, 3)+…這樣的式子,並且要能補滿中間的空隙。
打表發現5個點可以滿足。(不知道怎麼嚴格證明)
#includeusing namespace std;
#define ll long long
int c[2222222];
ll c4(ll x)
ll c3(ll x)
int main()
ll n;
cin>>n;
ll lim=70;
ll t=4;
while((t+1)<=lim&&c4(t+1)<=n)
lim=min(lim,t);
ll a,b,c,d;
ll e=-1;
for(a=2;a<=lim;a++)
}if(e!=-1)break;
}if(e!=-1)break;
} if(e!=-1)break;
} long long lss=t*(t-1)/2+a+b+c+d+e;
cout
for(ll i=1;i<=a;i++)
for(ll i=1;i<=b;i++)
for(ll i=1;i<=c;i++)
for(ll i=1;i<=d;i++)
for(ll i=1;i<=e;i++)
return 0;
}
2018牛客多校3
h diff prime pairs 1 3 1 5 1 7 1 11.2 3 2 5 2 7 2 11.3 3 3 5 3 7 3 11.4 3 4 5 4 7 4 11.打個素數表 用素數篩一遍 includeusing namespace std bool a 11111111 int zs ...
牛客多校2018四 A
很顯然地發現對於某個位置的乙個1或2,它對答案的貢獻與之前進行了多少秒有關,所以趕緊打個表看一看,就發現對於某乙個1來說,它對答案的貢獻就是 t 2 2 t是之前經過的時間,對於2的情況,打出假設輸入的數列是 2 02 002 0002 的表,就發現答案分別是3,9,21,45,93 對這個答案數列...
2018 牛客多校 2
problem a problem b 考慮第二種優惠,每乙個物品如果原價購買了,那麼向可以免費拿的那個物品連一條邊 在樹上被指向的那個點是父親 如果不考慮環的話,考慮樹上dp。設 f i 0 表示買掉以 i 為根的子樹需要的最小花費,設 f i 0 表示買掉以 i 為根的子樹並且 i 這個點是原價...