首页 > 其他分享 >2023年多校联训NOIP层测试4+洛谷 8 月月赛 I & RiOI Round 2

2023年多校联训NOIP层测试4+洛谷 8 月月赛 I & RiOI Round 2

时间:2023-08-05 21:11:49浏览次数:59  
标签:sort 洛谷 NOIP 0pts long 联训 lb RiOI define

2023年多校联训NOIP层测试4

爆零了

T1 幸运数字 \(0pts\)

T2 密码 \(0pts\)

  • 没做到,咕了。

T3 小X和他的朋友们 \(0pts\)

  • 没做到,咕了。

T4 树上询问 \(0pts\)

  • 没做到,咕了。

【LGR-150-Div.2】洛谷 8 月月赛 I & RiOI Round 2

T1 luoguP9496 「RiOI-2」hacker \(100pts\)

  • 赛场上读假题了,以为是按位或上一个操作形成的数字,觉得是不可做题,跳到了T2。

  • 将 \(n,m\) 分别转成二进制,易知答案结果只有 \(0,1,2\) ,然后进行分类讨论:

    • 若转出二进制后第 \(i\) 位 \(n\)的值为 \(1\) ,\(m\)的值为 \(0\) ,需要进行 「ACCEPT」操作。
    • 若转出二进制后第 \(i\) 位 \(n\)的值为 \(0\) ,\(m\)的值为 \(1\) ,需要进行 「BOTH」操作。
      #include<bits/stdc++.h>
      using namespace std;
      #define ll long long
      #define sort stable_sort
      #define endl '\n'
      ll aa[100],bb[100];
      int main()
      {
          ll n,i,j,a,b,la,lb,sum1,sum2;//十年OI一场空,不开 long long见祖宗
          cin>>n;
          for(i=1;i<=n;i++)
          {
              cin>>a>>b;
              if(a==b)
              {
                  cout<<"0"<<endl;
              }
              else
              {
                  la=lb=sum1=sum2=0;
                  while(a>0)//转二进制,倒序储存,方便处理
                  {
                      la++;
                      aa[la]=a%2;
                      a/=2;
                  }
                  while(b>0)
                  {
                      lb++;
                      bb[lb]=b%2;
                      b/=2;
                  }
                  if(la>lb)
                  {
                      for(j=lb+1;j<=la;j++)//空位补零,下同
                      {
                          bb[j]=0;
                      }
                      lb=la;
                  }
                  if(la<lb)
                  {
                      for(j=la+1;j<=lb;j++)
                      {
                          aa[j]=0;
                      }
                      la=lb;
                  }
                  for(j=1;j<=la;j++)
                  {
                      if(aa[j]==1&&bb[j]==0)
                      {
                          sum1=1;
                      }
                      if(aa[j]==0&&bb[j]==1)
                      {
                          sum2=1;
                      }
                  }
      		    cout<<sum1+sum2<<endl;
              }
          }
          return 0;
      }
      

T2 luoguP9497 「RiOI-2」weight \(100pts\)

  • 赛场上又双叒叕读假题了,觉得是不可做题,跳到了T3。

  • 正解:将矩阵压缩成一维, \(sort\) 一遍+二分查找即可。

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int a[20000000];
    int main()
    {
        int n,q,i,j,x,num;
        cin>>n>>q;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                cin>>a[j+(i-1)*n];
            }
        }
        sort(a+1,a+1+n*n);
        for(i=1;i<=q;i++)
        {
            cin>>x;
            num=n*n-(lower_bound(a+1,a+1+n*n,x)-a)+1;
            cout<<min(n,num)<<endl;//记得和 n 取min
        }
        return 0;
    }
    

T3 luoguP9498 「RiOI-2」equals \(55pts\)

  • 直接从T3开写,起初爆搜骗到了 \(40pts\) ,优化到 \(55pts\) ,才去打的T1和T2。
  • 部分分: 爆搜(C++大法好,先剪枝后爆搜)
    • \(55pts\)
      • 隔壁wkh卡到了 \(95pts\),minecraft418爆搜AC了,但是我这个才 \(55pts\)。
    • \(95pts\)
      • wkh教我的对 \(memset\) 的优化 ,记一个 \(g\) 记录第 \(g\) 次进行搜索,那么当\(vis[x]\ne g\) 则等价于用 \(memset\) 初始化全 \(0\) 的情况。
      • 可以特判一下链的情况,估计能过(口胡)。
  • 正解:贪心

T4 luoguP9499 「RiOI-2」change \(0pts\)

  • 没做到,咕了。

【LGR-150-Div.1】洛谷 8 月月赛 I & RiOI Round 2

T1 luoguP9498 「RiOI-2」equals \(55pts\)

  • 同 \(2C\) 。

T2 luoguP9499 「RiOI-2」change \(0pts\)

  • 没做到,咕了。

T3 luoguP9500 「RiOI-2」tnelat \(0pts\)

  • 没做到,咕了。

T4 luoguP9501 「RiOI-2」likely \(0pts\)

  • 没做到,咕了。

标签:sort,洛谷,NOIP,0pts,long,联训,lb,RiOI,define
From: https://www.cnblogs.com/The-Shadow-Dragon/p/17608638.html

相关文章

  • 【LGR-150-Div.2】洛谷 8 月月赛 I & RiOI Round 2
    比赛实况赛前看了眼难度分布,红橙黄绿,感觉随便杀(爆我)顺序开题,先看A题,没仔细读,一眼以为单次操作只能翻转一位,写了个十进制转二进制找不同,结果WA了。再看了一眼题,发现题干定义的操作可以一次操作很多位,然后一个操作是把0变1,另一个是把1变0。所以只需要看两个数二进制对......
  • 【LGR-150-Div.2】洛谷 8 月月赛 I & RiOI Round 2
    T1一直没有详细看过位运算的我瑟瑟发抖。出题人给了帮助(有用但是不多)。直接讲考试想法:首先,手玩样例后,果断猜测:将两个数转化为二进制之后,把头对齐,然后找出不同位,再加上二者位数之差。结果:\(0Pts\)之后,又想了很久,发现了按位与等价于将原来二进制数中的1变为0,按位或等价于将原来......
  • LGR-147-Div.3】洛谷网校 7 月普及组月赛 & yLOI2022 总结
    Upd:2023/8/5补T1普及组的题,而且T1,而且叫签到题。所以非常简单,入门难度。没什么好说的。就是统计大写,小写和字母个数。#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=100+5;strings;intmain(){ cin>>s; intx=0,y=0,z=0; for(inti=......
  • 洛谷 P1553 数字反转(升级版)
    题目描述给定一个数,请将该数各个位上数字反转得到一个新数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。百分数的分子一定是整数,百分数只改变数字......
  • 2023年多校联训NOIP层测试3+「SFCOI-3」Sadness Fan Club Round 3
    2023年多校联训NOIP层测试3T1数列变换\(10pts\)考虑暴力,发现\(f\)数列进行一次变换\(A\),再进行一次变换\(B\)后,恢复成了原数列;\(f\)数列进行一次变换\(B\),再进行一次变换\(A\)后,也恢复成了原数列。即变换\(A\)可以和变换\(B\)相互抵消。本质是差分是前缀......
  • 洛谷 P7911 [CSP-J 2021] 网络连接 题解
    写在前面一道普及级别的题目。CSP-J全国统一命题2021年第三题。本题解来自于一位真正的大佬。传送门https://www.luogu.com.cn/blog/xyf007/solution-p7911。题面信息来源于洛谷。请访问https://www.luogu.com.cn/problem/P7911。声明:本题解非商业用途,一切侵权行为请联系作......
  • [Ynoi2012] NOIP2015 充满了希望(扫描线+线段树)
    题目传送门solution简单题。我们正着做扫描线。设\(t_i\)表示位置\(i\)最后一次进行二操作的时间,那么一操作就是交换\(t_x,t_y\),二操作就是区间复制。对于三操作,开一个树状数组,如果查询的位置的\(t_x=j\),就在\(j\)的位置上加一。查询就是查询后缀和。#include<bit......
  • P7116 [NOIP2020] 微信步数
    原题简化题意:有一个k维场地,第i维宽为wi,即第i维的合法坐标为1,2,···,wi。小C有一个长为n的行动序列,第i元素为二元组(ci,di),表示这次行动小C的坐标由(x1,x2,...,xci,...,xk)变为(x1,x2,...,xci+di,...,xk)。小C会将行动......
  • 【题解】Luogu[P5022] [NOIP2018 提高组] 旅行
    Link因为是道NOIP,那么我们不妨按照考场上的策略一点一点想。先看部分分,有一档有很明显的特征\(n=m-1\)这显然构成一棵树,对于一棵树,我们想把他按照题目的要求遍历完,一定是像dfs的遍历顺序一样,对于一个点,必然遍历完以它为根的子树,才能回到它的父亲节点,于是就有了一个很明显的贪......
  • 2023年多校联训NOIP层测试2
    2023年多校联训NOIP层测试2爆零了T1HDU4786FibonacciTree\(0pts\)@wangyunbiao:不可以,总司令我:不,可以,总司令T2期末考试\(0pts\)T3麻烦的工作\(0pts\)@wangyunbiao:不可以,总司令我:不,可以,总司令T4小X的Galgame\(0pts\)......