1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm> 5 using namespace std; 6 const int inf=168430090,N=40,M=223321; 7 struct data{int x,y,num;}p[N]; 8 struct edge{int to,from;}e[N*N*2]; 9 int n,m,cnt,tot,sum,g[M][N],f[M][N],l[N],s[N],head[N*2];10 char S[N]; bool bz[N*2],pd[M];11 void insert(int x,int y)12 {13 e[++cnt].to=y,e[cnt].from=head[x],head[x]=cnt;14 e[++cnt].to=x,e[cnt].from=head[y],head[y]=cnt;15 }16 void dfs(int x)17 {18 if (x<=n) p[tot].x++; else p[tot].y++; bz[x]=1;19 for (int i=head[x];i;i=e[i].from) if (!bz[e[i].to]) dfs(e[i].to);20 }21 bool cmp(data a,data b) { return a.x==b.x?a.y<b.y:a.x<b.x; } 22 void check(int x)23 {24 int r=x,a=0,b=0;25 for (int i=m;i>=1;i--) while (r>=l[i]) g[x][i]++,a+=p[i].x,b+=p[i].y,r-=l[i];26 pd[x]=(a==b);27 }28 int main()29 {30 freopen("factory.in","r",stdin),freopen("factory.out","w",stdout),scanf("%d",&n);31 for (int i=1;i<=n;i++)32 {33 scanf("%s",S+1);34 for (int j=1;j<=n;j++) if (S[j]=='1') sum++,insert(i,j+n);35 }36 for (int i=1;i<=n;i++) if (!bz[i+n]) tot++,dfs(i+n);37 for (int i=1;i<=n;i++) if (!bz[i]) p[++tot]=(data){1,0,0};38 sort(p+1,p+tot+1,cmp),m=p[1].num=1;39 for (int i=2;i<=tot;i++) if (p[i].x!=p[i-1].x||p[i].y!=p[i-1].y) p[++m]=(data){p[i].x,p[i].y,1}; else p[m].num++;40 l[1]=1,s[1]=p[1].num; for (int i=2;i<=m;i++) l[i]=s[i-1]+1,s[i]=s[i-1]+l[i]*p[i].num;41 memset(f,10,sizeof(f)),f[0][0]=0;42 for (int i=1;i<=m;i++) f[l[i]][p[i].x]=0;43 for (int i=1;i<=s[m];i++) check(i);44 for (int i=0;i<=s[m];i++) for (int j=1;j<=m;j++) if (p[j].num!=g[i][j]) for (int k=0;k<=n;k++) if (f[i][k]!=inf)45 { 46 f[i+l[j]][k+p[j].x]=min(f[i][k],f[i+l[j]][k+p[j].x]);47 if (pd[i+l[j]]) f[i+l[j]][0]=min(f[i+l[j]][0],f[i+l[j]][k+p[j].x]+(k+p[j].x)*(k+p[j].x));48 }49 printf("%d",f[s[m]][0]-sum);50 }
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
表格減法公式怎么設置批量自動減?1打開Excel表格,在C1單元格中輸入A1-B1,然后回車。2將鼠標放在C1單元格的右下角。當黑色十字出現時,向下拖動單元格。EXCEL表格如何用減法?1.在Excel表格中進行加減乘除等四則運算,首先要在單元格中輸入等號,然后輸入運算表達式,按回車鍵。2.例如,如果要在單元格A1中輸出100-50相減的結果,可以在單元格A1中輸入100-50,然后按enter鍵...
三星kies的用法?Android手機升級系統/固件的操作方法如下:1。FOTA升級:通過手機設置-(常規)-關于設備-系統更新(或軟件更新)-更新。2. 連接電腦并使用s更換助手或KIEs軟件更新(不同型號使用不同的PC軟件)。通過KIEs模式升級:1)在計算機中下載并安裝KIEs軟件。注意:下載和安裝KIE時,不要將手機連接到計算機。2) 安裝完成后,手機和電腦通過USB連接,打開KIEs軟件...
au音頻降噪處理怎么讓聲音不失真?所有音頻降噪過程通過升級軟件使聲音不失真。質量較低的揚聲器通常比質量較高的揚聲器更容易出現低音失真。如果音箱質量低,只能通過硬件升級來提升播放效果。聲音失真可能是由于發送到揚聲器的音量過大。超出揚聲器的處理范圍,此時應該盡量降低發送到揚聲器的音量。au如何去除雜音?au去噪教程具體操作步驟如下:1.打開界面后,導入需要降噪的音頻文件。2.找到音頻中的噪聲,單擊鼠標...