首页 > 编程知识 正文

数据关联表怎么做,有没有办法把数据都关联起来

时间:2023-05-05 06:00:52 阅读:117227 作者:397

现在将两张表,a和b关联起来。 每个表都有一些数据,这些数据被分成几个块。 表a中有m个块。 第I个块中有ai的数据。 表b中有n个块,第I个块中有bi个数据。

一个操作可以使一个数据从一个块复杂到另一个块。 最后一个目标是对于有a的数据和有b的数据,同时出现在至少一个块中。 询问最低的操作次数。

示例说明:可以将所有数据复制到b的第二个块中。 这样,答案是2 6 3=11。

输入单组测试数据。 第一行有两个整数m和n(1m,n10^5)。 第2行有m个整数AI(1AI10^9),表示a中各块的数据根数。 第三行有n个整数bi(1bi10^9),表示b中每个块的数据数量。 Output输出操作次数最少。 Input示例22263100 Output示例11 # include iostream # include algorithm # includecstdiousingnamespacestd; 泰普德夫龙龙LL; 常数int maxn=1e510; constllinf=0x 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f; int n,m; ll a[MAXN],b[MAXN]; 在线int read () { char c; int ret=0; while ((c=获取器) ) )0)|c )9) ); while(c='0'c='9' ) ret=ret*10 ) c-'0)、c=getchar ); }返回ret; }int main () { m=read ); n=read (; lsum_a=0,sum_b=0; for(intI=0; i m; I () {a[i]=read ); sum_a =a[i]; }for(intI=0; i n; I ) {b[i]=read (; sum_b =b[i]; }sort(a,a m ); sort(b,b n ); ll result=INF; ll sum=sum_b; for(intI=0; i m - 1; I () if ) sum_b=a[I] ) sum=) m-I-1 ) * sum_b; result=min(result,sum ); 布雷克; } sum =a[i]; }result=min(result,sum ); sum=sum_a; for(intI=0; i n - 1; I ) if(sum_a=b[I] ) sum=(n-I-1 ) * sum_a; result=min(result,sum ); 布雷克; } sum =b[i]; }result=min(result,sum ); printf('%lldn ',result ); 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。