首页 > 其他分享 >天梯赛真题补题单(L2-1 ~ L2-4)

天梯赛真题补题单(L2-1 ~ L2-4)

时间:2024-04-17 12:00:52浏览次数:20  
标签:typedef int LL cin 赛真题 L2 补题 sum mp

L2-1 点赞狂魔

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL N=200200,M=2020,INF=0x3f3f3f3f;
LL n;
struct node
{
    string s;
    LL sum;
}a[N];
bool cmp(node l,node r)
{
    if(l.sum!=r.sum) return l.sum>r.sum;
    else return l.s>r.s;
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        cin>>n;
        map<LL,LL> mp;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i].s;
            LL k;
            cin>>k;
            while(k--)
            {
                LL x;
                cin>>x;
                mp[x]++;
                if(mp[x]==1) a[i].sum+=1;
            }
            mp.clear();
        }
        sort(a+1,a+1+n,cmp);
        if(n>=3)
        {
            for(int i=1;i<=3;i++)
            {
                cout<<a[i].s;
                if(i!=3)
                {
                    cout<<" ";
                }
            }
        }
        else
        {
            for(int i=1;i<=n;i++)
            {
                cout<<a[i].s<<" ";
            }
            if(n==1) cout<<"- -";
            else cout<<" -";
        }
    }
    return 0;
}

L2-2 重排链表

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL N=200200,M=2020,INF=0x3f3f3f3f;
LL head,n;
LL address,e[N],ne[N];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        cin>>head>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>address>>e[address]>>ne[address];
        }
        deque<LL> d;
        for(int i=head;i!=-1;i=ne[i])
        {
            d.push_back(i);
        }
        vector<LL> v;
        while(d.size())
        {
            v.push_back(d.back());
            d.pop_back();
            if(d.size()==0) break;
            v.push_back(d.front());
            d.pop_front();
        }
        for(int i=0;i<v.size();i++)
        {
            printf("%05ld %ld ",v[i],e[v[i]]);
            if(i==v.size()-1) printf("-1\n");
            else printf("%05ld\n",v[i+1]);
        }
    }
    return 0;
}

L2-3 图着色问题

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL N=200200,M=2020,INF=0x3f3f3f3f;
LL v,e,k;
LL color[N];
vector<LL> vv[M];
bool check()
{
    for(int i=1;i<=v;i++)
    {
        for(int j=0;j<vv[i].size();j++)
        {
            if(color[vv[i][j]]==color[i])
            {
                return false;
            }
        }
    }
    return true;
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        cin>>v>>e>>k;
        for(int i=1;i<=e;i++)
        {
            LL x,y;
            cin>>x>>y;
            vv[x].push_back(y);
            vv[y].push_back(x);
        }
        LL n;
        cin>>n;
        LL sum=0;
        map<LL,LL> mp;
        while(n--)
        {
            mp.clear();
            sum=0;
            for(int i=1;i<=v;i++)
            {
                cin>>color[i];
                mp[color[i]]++;
                if(mp[color[i]]==1)
                {
                    sum++;
                }
            }
            if(sum!=k) cout<<"No"<<endl;
            else
            {
                if(check()==false) cout<<"No"<<endl;
                else cout<<"Yes"<<endl;
            }
        }

    }
    return 0;
}

L2-4 部落

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL N=200200,M=2020,INF=0x3f3f3f3f;
LL n;
LL father[N];
LL sum=0;
map<LL,LL> mp;
void init()
{
    for(int i=0;i<=10100;i++)
    {
        father[i]=i;
    }
}
LL find(LL x)
{
    if(father[x]!=x) father[x]=find(father[x]);
    return father[x];
}
void merge(LL a,LL b)
{
    LL fa=find(a),fb=find(b);
    if(fa!=fb) father[fa]=fb;
}
int main()
{
    //cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        init();
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            LL k;
            cin>>k;
            LL a;
            cin>>a;
            mp[a]++;
            if(mp[a]==1) sum++;
            for(int j=2;j<=k;j++)
            {
                LL b;
                cin>>b;
                mp[b]++;
                if(mp[b]==1) sum++;
                merge(a,b);
            }
        }
        LL ans=0;
        map<LL,LL> pm;
        for(int i=0;i<=10010;i++)
        {
            if(mp[i]!=0)
            {
                if(pm[find(i)]==0)
                {
                    pm[find(i)]++;
                    ans++;
                }
            }
        }
        cout<<sum<<" "<<ans<<endl;
        LL q;
        cin>>q;
        while(q--)
        {
            LL a,b;
            cin>>a>>b;
            LL fa=find(a);
            LL fb=find(b);
            if(fa!=fb) cout<<"N"<<endl;
            else cout<<"Y"<<endl;
        }
    }
    return 0;
}

标签:typedef,int,LL,cin,赛真题,L2,补题,sum,mp
From: https://www.cnblogs.com/Vivian-0918/p/18140267

相关文章

  • V4L2 - Pipeline_Define & Async_Register & Pipeline_Create
       异步注册存在的根本原因就是:    注册时一定要表明subdev之间的层级关系,所以存在两个注册方向    一是以当前节点寻找下一级节点,如果下一级具备注册条件,则注册下一级节点,并指明层级关系    二是一失败后,寻找上一级节点,如果上一级指明层级关系方法被......
  • html2canvas截取专题图(包含地图)
    html2canvas截取专题图(包含地图)问题:html2canvas截取地图时地图空白,报错:UnabletocloneWebGLcontextasithaspreserveDrawingBuffer=false一、情况介绍:​ 使用如下代码进行截图时,出现地图空白情况,报错:UnabletocloneWebGLcontextasithaspreserveDrawingBuffer=f......
  • void swap(double& val1,double& val2); 这是什么意思
    voidswap(double&val1,double&val2);这是什么意思?定义了一个叫做swap的函数,它接受两个双精度数的引用作为参数在C++中,&符号用于表示引用。通过传递引用作为参数,函数可以直接修改传递给它的参数的值,而不是创建参数的副本。通过传递引用而不是传递参数的副本,可以避免不必......
  • CodeForces Round #939(Div. 2) 补题记录(A~D)
    ABCD首先考虑:对于\(a\)数组的任意一段区间\([l,r]\),都总有一种办法可以让这些数字全部变成\(0\)。构造:若\([l,r]\)一段区间全部为\(0\),则已经达成条件。否则,将所有\(x\in[l,r]\cap\textbf{N}_+\)的\(a_x\neq0\),都让\([x,x]\)这一段区间取\(\text{mex}\)。......
  • 2024SMUSpring天梯4补题
    L2-3:用扑克牌计算24点题意:思路:全排列枚举ordfs得到全排列。枚举方式和"飞机降落"一样。题目类似"电阻组合"那题。要注意的是要枚举3种东西:数字的全排列,符号的全排列,以及!括号的情况!。一开始括号只是考虑到样例那种情况,wa两个点。括号会影响除法的计算。总的来说:枚举出全排列......
  • 天梯赛真题补题单(L1-6 ~ L1-8)
    L1-6整除光棍(思维题)#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<LL,LL>PII;constLLN=100200,M=2020;constdoublePI=3.141592;intmain(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);LLT=1;......
  • 天梯赛真题补题单(L1-1 ~ L1-5)
    L1-1寻找250#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<LL,LL>PII;constLLN=100200,M=2020;constdoublePI=3.141592;intmain(){//cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);LLT=1;......
  • [深度学习]L2正则化和权重衰退(Weight Decay)
    L2正则化和权重衰退(WeightDecay)一、权重衰退介绍1.什么是权重衰减/权重衰退——weight_decayL2正则化主要作用是:解决过拟合,在损失函数中加入L2正则化项2.L2范数L2范数,也被称作欧几里得范数或者Frobenius范数(当应用于矩阵时),是最常用的向量范数之一,用于衡量向量元......
  • 在 Windows10 中使用 WSL2
    安装必备的功能使用win+i打开设置,依次点击应用→应用与功能→程序和功能→启用或关闭Windows功能勾选适用于Linux的Windows子系统与虚拟机平台确定并且重启配置组合键win+r输入powershell打开PowerShell窗口执行下面的命令设置为wsl2wsl--set-def......
  • NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
    NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解[Text2SQL]NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL......