【LGR-154-Div.4】洛谷入门赛 #15

\(A\) luoguB3813 [语言月赛 202308]四个人的排名加起来没有小粉兔高 AC

  • 水题。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int main()
    {
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    if(a+b+c+d<51)
    {
    cout<<"Rabbit wins";
    }
    else
    {
    cout<<"Rabbit lose";
    }
    return 0;
    }

\(B\) luoguB3814 [语言月赛 202308]小粉兔喜欢下象棋吗 AC

  • 时间复杂度 \(O(8^3)\) ,枚举即可。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int dix[10]={-2,-2,-1,-1,1,1,2,2},diy[10]={1,-1,2,-2,2,-2,1,-1};
    int main()
    {
    int sx,sy,cx,cy,mx,my,i,j,k;
    cin>>sx>>sy>>cx>>cy>>mx>>my;
    for(i=0;i<=7;i++)
    {
    for(j=0;j<=7;j++)
    {
    for(k=0;k<=7;k++)
    {
    if(mx+dix[i]+dix[j]==sx&&my+diy[i]+diy[j]==sy&&mx+dix[i]+dix[k]==cx&&my+diy[i]+diy[k]==cy)
    {
    cout<<"Yes"<<endl;
    return 0;
    }
    }
    }
    }
    cout<<"No"<<endl;
    return 0;
    }

\(C\) luoguB3815 [语言月赛 202308]小粉兔的挂科与压力 AC

  • \(switch\) 大法好。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int main()
    {
    int n,i,p,ans=0,sum=1+2+3+4+5+6;
    cin>>n;
    for(i=1;i<=n-1;i++)
    {
    cin>>p;
    switch(p)
    {
    case 1:
    ans+=sum-2-1;
    break;
    case 2:
    ans+=sum-1-2;
    break;
    case 3:
    ans+=sum-4-3;
    break;
    case 4:
    ans+=sum-3-4;
    break;
    case 5:
    ans+=sum-6-5;
    break;
    case 6:
    ans+=sum-5-6;
    break;
    }
    }
    cin>>p;
    switch(p)
    {
    case 1:
    ans+=sum-2;
    break;
    case 2:
    ans+=sum-1;
    break;
    case 3:
    ans+=sum-4;
    break;
    case 4:
    ans+=sum-3;
    break;
    case 5:
    ans+=sum-6;
    break;
    case 6:
    ans+=sum-5;
    break;
    }
    cout<<ans;
    return 0;
    }

\(D\) luoguB3816 [语言月赛 202308]小粉兔做麻辣兔头 AC

  • 水题。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int main()
    {
    ll n,c,i,a,ans,maxx=0,k;
    cin>>n>>c;
    ans=n*c;
    k=0;
    for(i=1;i<=n;i++)
    {
    cin>>a;
    maxx=max(maxx,a);
    if(maxx+c*(n-i)<ans)
    {
    ans=maxx+c*(n-i);
    k=i;
    }
    }
    cout<<k<<" "<<ans;
    return 0;
    }

\(E\) luoguB3817 [语言月赛 202308]小粉兔还会忘记考试吗 AC

  • \(STL\) 大法好,练习使用 \(map\) 。
  • 没有注意到只要有成绩就不算缺考,调了 \(10min+\) 。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    ll e[50001];
    map<ll,ll>s;
    int main()
    {
    ll n,m,i,ans1=0,ans2=0,p,ls;
    cin>>n>>m;
    for(i=1;i<=n;i++)
    {
    cin>>e[i];
    }
    for(i=1;i<=m;i++)
    {
    cin>>p>>ls;
    s[p]=ls+1;
    }
    for(i=1;i<=n;i++)
    {
    if(s[e[i]]==0)
    {
    ans1++;
    }
    if(s[e[i]]-1<60)
    {
    ans2++;
    }
    }
    cout<<ans1<<endl;
    cout<<ans2<<endl;
    return 0;
    }

\(F\) luoguB3818 [语言月赛 202308]电脑中了满屏粉兔病毒

  • \(N^3\) 暴力枚举即可。
```cpp
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define sort stable_sort
#define endl '\n'
char c[501][501];
int main()
{
int n,m,sum1,sum2,i,j,k,sum,flag,ans=0;;
cin>>n>>m>>sum1>>sum2;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cin>>c[i][j];
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(c[i][j]=='F')
{
sum=flag=0;
for(k=1;k<=i-1;k++)
{
if(c[k][j]=='M')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=1;k<=j-1;k++)
{
if(c[i][k]=='M')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=i+1;k<=n;k++)
{
if(c[k][j]=='M')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=j+1;k<=m;k++)
{
if(c[i][k]=='M')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
if(sum>=3)
{
ans++;
}
}
if(c[i][j]=='M')
{
sum=flag=0;
for(k=1;k<=i-1;k++)
{
if(c[k][j]=='F')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=1;k<=j-1;k++)
{
if(c[i][k]=='F')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=i+1;k<=n;k++)
{
if(c[k][j]=='F')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
flag=0;
for(k=j+1;k<=m;k++)
{
if(c[i][k]=='F')
{
flag=1;
break;
}
}
if(flag==0)
{
sum++;
}
if(sum>=3)
{
ans++;
}
}
}
}
cout<<ans<<endl;
return 0;
}
```

\(G\) luoguB3819 [语言月赛 202308]小粉兔处理题解审核志愿者轮换 AC

  • \(STL\) 大法好,练习使用 \(map\) 。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    string pd;
    map<string,bool>e;
    map<string,bool>::iterator it;
    int main()
    {
    int n,m,l,i;
    cin>>n>>m>>l;
    for(i=1;i<=n;i++)
    {
    cin>>pd;
    e[pd]=true;
    }
    for(i=1;i<=m;i++)
    {
    cin>>pd;
    e[pd]=false;
    }
    for(i=1;i<=l;i++)
    {
    cin>>pd;
    e[pd]=true;
    }
    for(it=e.begin();it!=e.end();it++)
    {
    if(it->second==true)
    {
    cout<<it->first<<endl;
    }
    }
    return 0;
    }

\(H\) luoguB3820 [语言月赛 202308]小粉兔的元素反应

  • 口胡:若在序列 \(a\) 中,存在一组 \(i,j\) 满足 \(a_i \times a_j \bmod 154=0\) 或 \(a_i \times a_j \bmod 147=0\) ,则一定有解。
  • 部分分( \(80pts\) ):暴力枚举,复杂度 \(O(Tn^2)\) ,加些特判。
  • 正解:
    • 一个简单性质: \((a_i \times a_j) \bmod p=((a_i \bmod p) \times (a_j \bmod p)) \bmod p\)
    • 当 \(k \le \sum\limits_{i=1}^{n} a_i\) ,输出 Yes
    • 用 \(map\) 或直接枚举 \(a_i \bmod p\) 的值即可,复杂度为 \(O(TK+ \sum n)\) ,其中 \(K=154^2+147^2+15=45340\) 。
      • 这数据有点弱啊,压着线过都正常,但是#8#9#10 300多ms过就不正常了。
      • 加强数据了@我。
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    char k[1000001];
    ll a[1000001],sum1[155],sum2[148];
    bool check(ll sum[],ll mod)
    {
    for(ll i=0;i<=mod-1;i++)
    {
    if(sum[i]!=0)
    {
    for(ll j=0;j<=mod-1;j++)
    {
    if(!(i==j&&sum[i]==1))//特判
    {
    if(sum[j]!=0)
    {
    if((i*j)%mod==0)
    {
    return true;
    }
    }
    }
    }
    }
    }
    return false;
    }
    int main()
    {
    ll t,n,i,j,flag,sum,len,num;
    cin>>t;
    for(i=1;i<=t;i++)
    {
    cin>>n>>(k+1);
    memset(sum1,0,sizeof(sum1));
    memset(sum2,0,sizeof(sum2));
    flag=sum=num=0;
    for(j=1;j<=n;j++)
    {
    cin>>a[j];
    sum1[a[j]%154]++;
    sum2[a[j]%147]++;
    sum+=a[j];
    }
    len=strlen(k+1);
    for(j=1;j<=len;j++)
    {
    num=num*10+k[j]-'0';
    if(num>sum)
    {
    flag=1;
    break;
    }
    }
    if(flag==1)
    {
    if(check(sum1,154)==true||check(sum2,147)==true)
    {
    cout<<"Yes"<<endl;
    }
    else
    {
    cout<<"No"<<endl;
    }
    }
    else
    {
    cout<<"Yes"<<endl;
    }
    }
    return 0;
    }

\(I\) luoguB3821 [语言月赛 202308]小粉兔 Failed System Test WA

  • 问题1:卡 \(int\)

    • 赛场上把 \(int\) 的范围记成了 \(2e10\) ,挂了 \(750pts\) 。
  • 问题2:输出 ac
    • 把判断特征误以为是数据规模,临结束才发现。
    #include <iostream>
    
    using namespace std;
    
    int main() {
    int taskId;
    cin >> taskId;
    if (taskId == 1) {
    cout << "1000000000 999999999" <<endl;
    } else if (taskId == 2) {
    cout << "ac" << endl;
    } else { // 这个 else 不会被执行
    cout << "Stupid Fusu!" << endl;
    }
    }

总结

  • 本次开题顺序 \(ABCDEIGI\) ,要合理安排开题顺序。
  • 先通读题面,防止漏读信息( \(E,I\) 因此被卡)。
  • 记住各种类型所存储的范围
    • 一亿是 \(1e8\) 。
    • \(int\) : \((-2^{31}-1)\) ~ \((2^{31}-1)\)
      • \(-2147483647\) ~ \(2147483647\)
  • 不要在一道题上浪费太长时间( \(I\) 想了 \(1h\) ,导致 \(F,H\) 没写)。
  • \(hack\) 题目首先考虑卡掉存储类型(eg: \(I\) 的问题一)。

【LGR-154-Div.4】洛谷入门赛 #15的更多相关文章

  1. 【LGR-(-8)】洛谷入门赛 #5 题解

    比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...

  2. war2 洛谷模拟赛day2 t3 状压

    (new )   war2 题解:总体数据而言,我们很容易想到着就是DP啊,我们DP数组,用状态压缩,代表有那些点已经被占领过了,代表上一次我占的是那个.对于每一次状态转移,若当前我们要占领的Port ...

  3. 洛谷试炼场 - 关卡1-5 - 简单字符串 - (Done)

    P1055 ISBN号码 #include<bits/stdc++.h> using namespace std; string s; ]={','X'}; int main() { ci ...

  4. 洛谷p3803 FFT入门

    洛谷p3803 FFT入门 ps:花了我一天的时间弄懂fft的原理,感觉fft的折半很神奇! 大致谈一谈FFT的基本原理: 对于两个多项式的卷积,可以O(n^2)求出来(妥妥的暴力) 显然一个多项式可 ...

  5. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

  6. 草地排水 洛谷P2740 最大流 入门题目

    草地排水 洛谷P2740 最大流入门题目 题意 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一 ...

  7. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table

    题目传送门:洛谷P5089. 题意简述: 一张 \(n \times m\) 的表格,有一些格子有标记,另外一些格子没有标记. 如果 \((r_1,c_1),(r_1,c_2),(r_2,c_1)\) ...

  8. 洛谷 P2015 二叉苹果树(codevs5565) 树形dp入门

    dp这一方面的题我都不是很会,所以来练(xue)习(xi),大概把这题弄懂了. 树形dp就是在原本线性上dp改成了在 '树' 这个数据结构上dp. 一般来说,树形dp利用dfs在回溯时进行更新,使用儿 ...

  9. 洛谷P1667/[10.22 模拟赛] 数列 (思维+模拟)

    洛谷P1667 数列 题目描述 给定一个长度是n的数列A,我们称一个数列是完美的,当且仅当对于其任意连续子序列的和都是正的.现在你有一个操作可以改变数列,选择一个区间[X,Y]满足\(A_X +A_{ ...

  10. 洛谷P1280 && caioj 1085 动态规划入门(非常规DP9:尼克的任务)

    这道题我一直按照往常的思路想 f[i]为前i个任务的最大空暇时间 然后想不出来怎么做-- 后来看了题解 发现这里设的状态是时间,不是任务 自己思维还是太局限了,题做得太少. 很多网上题解都反着做,那么 ...

随机推荐

  1. Feign源码解析7:nacos loadbalancer不支持静态ip的负载均衡

    背景 在feign中,一般是通过eureka.nacos等获取服务实例,但有时候调用一些服务时,人家给的是ip或域名,我们这时候还能用Feign这一套吗? 可以的. 有两种方式,一种是直接指定url: ...

  2. DFT Architecture

    Design For Test 在实际生产过程中产生的physical defect是导致芯片功能出错的根本原因 如何根据结构产生测试向量呢?主要考虑physical defect physical ...

  3. Oracle数据库如何解决创建用户名开头必须要C##问题?

    1.问题 我们在创建用户,概要文件等时,由于使用的是容器数据库,其文件名必须以C##开头. 我们在学习过程中暂时不需要对齐进行区分,所以如何修改这个设定呢? 2.解决 参考链接如何解决创建用户名开头必 ...

  4. [STM32H7] 实战技能分享,如何让工程代码各种优化等级通吃,含MDK AC5,AC6,IAR和GCC

    引出问题:    一个好的工程项目代码,特别是开源类的,如果能做到各种优化等级通吃,是一种非常好的工程案例,这样别人借鉴的时候,可以方便的适配到自己工程里.但实际项目中,针对一款产品代码,我们一般不会 ...

  5. [转帖]SQL Server 2008~2022版本序列号/密钥/激活码 汇总

    https://www.cnblogs.com/cqpanda/p/16148822.html SQL Server 2022# Enterprise: J4V48-P8MM4-9N3J9-HD97X ...

  6. [转帖]华为毕昇 JDK 8u292、11.0.11 发布!

    https://baijiahao.baidu.com/s?id=1705499834793298544&wfr=spider&for=pc 2021 年 6 月 30 日,毕昇 JD ...

  7. systemctl 关闭图形界面的办法

    开机以命令模式启动,执行: systemctl set-default multi-user.target   开机以图形界面启动,执行: systemctl set-default graphica ...

  8. 程序启停分析与进程常用API的使用

    进程是程序运行的实例,操作系统为进程分配独立的资源,使之拥有独立的空间,互不干扰. 空间布局 拿c程序来说,其空间布局包括如下几个部分: 数据段(初始化的数据段):例如在函数外的声明,int a = ...

  9. 隐私计算之多方安全计算(MPC,Secure Multi-Party Computation)

    作者:京东科技隐私计算产品部 杨博 1.背景 如今,组织在收集.存储敏感的个人信息以及在外部环境(例如云​​)中处理.共享个人信息时, 越来越关注数据安全.这是遵守隐私法规的强需求:例如美国加利福尼亚 ...

  10. vue3关于.sync的用法

    场景描述 我们都知道,子组件是不能够去修改父组件传递过来的数据. 因为如果子组件去修改父组件件传递过来的数据. 会导致数据的应用流向变得难以理解. 但是有些时候,我们需要当子组件的数据变化后,父组件的 ...