首页 > 其他分享 >2024初三年前集训测试3

2024初三年前集训测试3

时间:2024-02-05 17:02:48浏览次数:39  
标签:le ll dfs 2024 枚举 100001 now 初三 集训

2024初三年前集训测试3

\(T1\) 夕景昨日 \(90pts\)

  • 部分分

    • \(10pts\) :输出 No
    • \(20pts\) :\(2^{n}\) 的 \(DFS\) 暴力枚举能得到的所有数,用 map 里进行判断。
    • \(90pts\) :输出 Yes
  • 正解

    • 观察到 \(1 \le n \le 100000,0 \le a_{i} \le 500000\) 。
    • 猜测 \(n\) 到达一定数量级时,一定有解。 \(n\) 个数最多产生 \(2^{n}\) 个数,但由 \(a_{i}\) 最多配对出 \(nV\) 个数。经打表,枚举 \(V=1 \sim 500000\) 解关于 \(n\) 的不等式 \(2nV \le 2^{n}\) ,解得当 \(V=500000\) 时,\(n\) 的最小整数解为 \(25\) 。
      • 严格意义上来说,极限数据应该造成 \(1,2,4,8,16,32, \dots\) 。
    • 故当 \(n \le 25\) 时,仍选择用 \(DFS\) 暴力枚举;否则,一定有解。
    点击查看代码
    ll a[100001],flag=0;
    map<ll,ll>vis;
    void dfs(ll x,ll now,ll n)
    {
        if(x==n)
        {
            vis[now]++;
            if(vis[now]==2)
            {
                flag=1;
            }
        }
        else
        {
            dfs(x+1,now+a[x+1],n);
            dfs(x+1,now-a[x+1],n);
        }
    }
    int main()
    {
        ll n,i;
        cin>>n;
        for(i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        if(n<=25)
        {
            dfs(0,0,n);
            if(flag==0)
            {
                cout<<"No"<<endl;
            }
            else
            {
                cout<<"Yes"<<endl;
            }
        }
        else
        {
            cout<<"Yes"<<endl;
        }
        return 0;
    }
    

\(T2\) 透明答案 \(70pts\)

  • 部分分
    • \(30pts\) :输出 Bob
    • \(70pts\) :输出 Ayano

\(T3\) 界外科学 \(50pts\)

  • 部分分
    • \(50pts\) :超大背包 \(2^{n}\) 枚举。

      点击查看代码
      ll a[50],b[50],ans=0;
      void dfs(ll x,ll worth,ll now,ll n,ll m)
      {
          if(x==n)
          {
              ans=(worth<=m)?max(ans,now):ans;           
          }
          else
          {
              dfs(x+1,worth^a[x+1],now+b[x+1],n,m);
              dfs(x+1,worth,now,n,m);
          }
      }
      int main()
      {
          ll n,m,i;
          cin>>n>>m;
          for(i=1;i<=n;i++)
          {
              cin>>a[i];
          }
          for(i=1;i<=n;i++)
          {
              cin>>b[i];
          }
          dfs(0,0,0,n,m);
          cout<<ans<<endl;
          return 0;
      }
      
    • \(100pts\) :输出 \(\sum\limits_{i=1}^{n}b_{i}\) 。

\(T4\) 回忆补时 \(30pts\)

  • 部分分

    • \(30pts\) :\(n^{2}q\) 暴力枚举。

      点击查看代码
      ll k[100001],b[100001];
      int main()
      {
          ll n,q,x,ans,i,j,h;
          scanf("%lld",&n);
          for(i=1;i<=n;i++)
          {
              scanf("%lld%lld",&k[i],&b[i]);
          }
          scanf("%lld",&q);
          for(i=1;i<=q;i++)
          {
              scanf("%lld",&x);
              ans=0;
              for(j=1;j<=n;j++)
              {
                  for(h=j+1;h<=n;h++)
                  {
                      ans=max(ans,max(k[h]*(k[j]*x+b[j])+b[h],k[j]*(k[h]*x+b[h])+b[j]));
                  }
              }
              printf("%lld\n",ans);
          }
          return 0;
      }
      
  • 正解

    点击查看官方题解

总结

  • 打到 \(8:40\) 就去打矩阵快速幂了。
  • 要学会通过值域猜测时间复杂度和判断答案范围。

后记

  • 没有大样例,差评。
  • 建议本场比赛改名为暴力骗分/良心送分模拟赛。

标签:le,ll,dfs,2024,枚举,100001,now,初三,集训
From: https://www.cnblogs.com/The-Shadow-Dragon/p/18008439

相关文章

  • 2024/2/5~2024/2/11
    小红数组操作题目链接:https://ac.nowcoder.com/acm/contest/74362/D题目描述小红拿到了一个数组,初始数组为空,她希望你实现以下两种操作:1.输入1\(x\)\(y\),将\(x\)插入在元素\(y\)的右边。保证此时数组中没有元素等于\(x\),且数组中存在一个\(y\)。特殊的,如果将\(......
  • 2024年重启人生要做的100件事,记录待办清单并打卡完成
    新年伊始,很多人都怀揣着改变自己、追求更美好生活的期望,渴望在2024年做一些有意义的事情,为自己的人生注入新的活力。为了帮助大家更好地实现这些目标,小编整理了一份2024年重启人生要做的100件事待办清单,涵盖了健康美丽、自我提升、享受生活、诗与远方、奖励自己等五个方面。这些......
  • Automotive IQ第14届年度汽车网络安全大会将于2024年在底特律举行
    在接受《AutomotiveIQ》独家采访时,福特汽车公司汽车和移动网络安全高级顾问DarrenShelcusky深入探讨了符合UNECER155/R156法规的关键因素,揭示了汽车行业满足这些严格法规的过程。从区分网络安全标准和法规到详细说明其对主机厂和更广泛的汽车网络安全领域的影响,Darren提供了综......
  • (python)做题记录||2024.2.4||题目是codewars的【 All Balanced Parentheses】
    题目链接:https://www.codewars.com/kata/5426d7a2c2c7784365000783/python我的解决方案:defbalanced_parens(n):#Yourcodehere!used_l=[Falseforiinrange(n)]used_r=[Falseforiinrange(n)]answers=[]defprocess(answer):iflen(a......
  • pkuwc2024 & wc2024
    虽然去年pkusc拿过优异了,但是还是去旅游了一下。不想按照严格的时间线写了,想到什么写什么吧。坐高铁去,发现zph和miao22也在这一车次,但是和被8-9分割了。CQ的地铁感觉没有几段是在地下的,全是在天上跑,还有从楼里穿过的,还是比传统地铁好玩的。但下来就不好玩了,拎着箱子......
  • 2024年碰到这三条红线的电车,坚决不买!
    文|AUTO芯球作者|雷歌我最近有天夜里打车打到一辆威马汽车,车里乌漆麻黑一片,我好奇地问,“师傅你中控屏咋不打开,太黑了。”师傅带有怨气地吐槽:“X,威马破产了,车机也停了”。车子买的威马汽车,房子买的恒大期房,股票放在了大A,大概是这代年轻人最惨的事情了。这是威马汽车在2023年10月......
  • 【2024-02-03】连岳摘抄
    23:59但我相信,能打败黑暗的,不是强大的魔力,而是生活中的小事和微小的爱。                                                 ——托尔金教育离不开考试,考试就只能考智......
  • 【2024-02-04】病毒感染
    20:00一二三四五六七,万木生芽是今日。远天归雁拂云飞,近水游鱼迸冰出。                                                 ——《京中正月七日立春》上周浑身不适之后,隔......
  • 2024年大数据面试的热门问题
    大数据是涉及以TB或PB为单位的大型数据集的大量数据。根据一项调查,今天大约90%的数据是在过去两年中产生的。大数据帮助公司对其提供的产品和服务产生有价值的见解。近年来,每家公司都使用大数据技术来完善其营销活动和技术。对于那些对准备跨国公司大数据面试感兴趣的人来说,本文是......
  • CQOI2024退役记。
    >因为,这就是我想要的结局。希望这篇充满个人性格色彩的博客不要影响你的心情。如果这不幸发生,那就把它当作我的批话集合吧。我常常问自己为什么要学OI。我能给出的唯一答案,是为了反抗自己的平庸。你说得对,我的文化课成绩不错。这常常是我被觉得在说批话的原因。但这是一个很大......