本文最后更新于 475 天前,其中的信息可能已经有所发展或是发生改变。
题目
P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
解读
将各个题目分配到左右脑,使得左右脑总时间尽可能接近。
题解
首先考虑DFS。计算时间复杂度=O(2^n),由于n<=20,不会超时,直接DFS。
#include<bits/stdc++.h>
using namespace std;
int i,j,k,s[5],a[21],ans,b,c,total;
void process(int sum1,int sum2,int step)
{
if(step==s[k]+1)
{
ans=min(ans,max(sum1,sum2));
}
else
{
process(sum1+a[step],sum2,step+1);
process(sum1,sum2+a[step],step+1);
}
}
int main()
{
cin>>s[1]>>s[2]>>s[3]>>s[4];
for(k=1;k<=4;k++)
{
ans=1000000;
for(j=1;j<=s[k];j++)
{
cin>>a[j];
}
process(0,0,1);
total+=ans;
}
cout<<total<<endl;
}