8.17上午东塘--407--蒋 程皓楠考试总结

· · 个人记录

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组,使每组数的和平均。