8.17上午东塘--407--蒋 程皓楠考试总结
Crash_Man_CHN · · 个人记录
T1
错误点:求答案求错了
原因:题目没读透
T2
思路:用map统计a,和a异或b,然后枚举找做大的map的位置
核心代码:
for(int i=1;i<=n;i++)
{
int a,b;
cin>>a>>b;
if(a!=(a^b))
{
vis[a]++;
vis[a^b]++;
}
}
for(int i=1;i<=1e7+5;i++)
{
if(vis[i]>ans)
{
ans=vis[i];
temp=i;
}
}
cout<<temp;
return 0;
}
T3
思路:一眼二分答案
check函数: 如果能抄就抄,否则就赋值为当前书,并且人数+1,最后判断人数如果<=m,就认定为可行,return true,反之return false
bool check(int x)
{
int sum=0,s=0;
for(int i=1;i<=n;i++)
{
if(sum+a[i]<=x)sum+=a[i];
else
{
s++;
sum=a[i];
}
}
if(s+1<=m)return true;
return false;
}
主函数:把n个数分成k组,使每组数的和平均。