首页 > 其他分享 >AcWing 第 97 场周赛 ABC(dfs)

AcWing 第 97 场周赛 ABC(dfs)

时间:2023-04-01 21:35:41浏览次数:50  
标签:周赛 typedef ABC const int LL cin dfs long

https://www.acwing.com/activity/content/competition/problem_list/3088/

果然绩点成绩和竞赛水平总得寄一个(to me

4944. 热身计算

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=2e6+10,M=3023;
const LL mod=100000007;
const double PI=3.1415926535;
#define endl '\n'
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        LL a,b;
        cin>>a>>b;
        cout<<min(a,b)<<" "<<abs(a-b)/2<<endl;
    }
    return 0;
}

4945. 比大小

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=2e6+10,M=3023;
const LL mod=100000007;
const double PI=3.1415926535;
#define endl '\n'
LL a[N],b[N];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        LL n,x;
        cin>>n>>x;
        LL sum1=0;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        for(int i=n,j=0;i>=1;i--,j++)
        {
            sum1+=a[i]*pow(x,j);
        }
        LL m,y;
        cin>>m>>y;
        LL sum2=0;
        for(int i=1;i<=m;i++)
        {
            cin>>b[i];
        }
        for(int i=m,j=0;i>=1;i--,j++)
        {
            sum2+=b[i]*pow(y,j);
        }
        //cout<<sum1<<" "<<sum2<<endl;
        if(sum1==sum2) cout<<"="<<endl;
        else if(sum1<sum2) cout<<"<"<<endl;
        else cout<<">"<<endl;
    }
    return 0;
}

4946. 叶子节点

输入样例1:
4 1
1 1 0 0
1 2
1 3
1 4
输出样例1:
2
输入样例2:
7 1
1 0 1 1 0 0 0
1 2
1 3
2 4
2 5
3 6
3 7
输出样例2:
2
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=2e6+10,M=3023;
const LL mod=100000007;
const double PI=3.1415926535;
#define endl '\n'
LL n,m,res=0,a[N];
vector<LL> v[N];
void dfs(int idx,int fa,int cnt)
{
    if(cnt<=m)//黑色节点不超过m个,可以继续往下探索
    {
        if(v[idx].size()==1&&idx!=1)//非根节点的叶子节点
        {
            res++;//黑色的数量不超过m个,超过了的进不来
        }
        for(int i:v[idx])//继续往下深搜
        {
            if(i!=fa)
            {
                //黑的就+1,白的就直接是0(从新开始)
                dfs(i,idx,a[i]==1?cnt+1:0);
            }
        }
    }
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        for(int i=1;i<n;i++)
        {
            LL x,y;
            cin>>x>>y;
            v[x].push_back(y);
            v[y].push_back(x);
        }
        //>m个黑色节点连续排列在一起,也就是求不超过m个黑色节点的叶子节点数量
        dfs(1,-1,a[1]);
        cout<<res<<endl;
    }
    return 0;
}

标签:周赛,typedef,ABC,const,int,LL,cin,dfs,long
From: https://www.cnblogs.com/Vivian-0918/p/17279409.html

相关文章

  • Codeforces Round 859 (Div. 4) ABCDE(交互题)FG1G2
    EFG1G2质量还挺好的A.PlusorMinushttps://codeforces.com/contest/1807/problem/A题目大意:给定a,b,c,问我们是a+b==c还是a-b==c?把正确的符号输出。input1112332129-7347112110336991899019-81910output+--++-++--+......
  • 牛客小白月赛59 ABCDEF
    CEF题目质量挺高的https://ac.nowcoder.com/acm/contest/43844/AA-我会开摆#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<LL,LL>PII;constLLMAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;constLLN=2e6+10,M=3023;constLLmod=1......
  • hdfs disk balancer 磁盘均衡器
    目录1、背景2、hdfsbalancer和hdfsdiskbalancer有何不同?3、操作3.1生成计划3.2执行计划3.3查询计划3.4取消计划4、和diskbalancer相关的配置5、额外知识点5.1新的block存储到那个磁盘(卷)中5.2磁盘数据密度度量标准6、参考文档1、背景在我们的hadoop集群运行一段过......
  • [ABC273D] LRUD Instructions
    题目链接题解模拟题。观察题目,我们发现,无论问的是前/后/左/右,你都只会在一条直线上走,那对于这条直线,我们可以记录所有这条直线上的障碍物,然后找到距离当前点最近的障碍物,也就是说我们只能走到那个障碍物那块。虽然数据范围高达\(10^9\),但是\(n\le10^5\),所以用\(map\)套\(......
  • HDFS Balancer负载均衡器
    目录1、背景2、什么是平衡2.1每个DataNode的利用率计算2.2集群的利用率2.3平衡3、hdfsbalancer语法4、运行一个简单的balance案例4.1设置平衡数据传输带宽4.2执行ban......
  • abc295-G
    题目链接:https://atcoder.jp/contests/abc295/tasks/abc295_g题目意思:给你一颗以1为根的有向树,询问有两种情况:    第一种询问是在u,v中加一条边,保证v是可以到u的。......
  • abc295-E
    题目链接:https://atcoder.jp/contests/abc295/tasks/abc295_e一道数学好题,做完后深受启发。思路:设\(A_k\)处的值为\(x\),则答案为:\(E(x)=\Sigma_1^mi*p(x=i)=1*p(x......
  • ABC291题解(D-G)
    ABC291D-FlipCardsSolution:考虑DP,定义状态\(F_{i,0}\)为第\(i\)张卡片正面朝上的方案数,\(F_{i,1}\)为第\(i\)张卡片背面朝上的方案数,每次check是否相同然后转移即可......
  • FastDFS并发问题的排查经历
    附件用的fastdf上传和下载的,本地开发时就没考虑过多文件上传就会有并发的问题,比如多个只上传成功了一个或者上传了但是文档内容缺失了,变成0字节。呵。。都是一次难忘的经......
  • LC第337场周赛P4-执行操作后的最大 MEX
    给你一个下标从0开始的整数数组nums和一个整数value。在一步操作中,你可以对nums中的任一元素加上或减去value。例如,如果nums=[1,2,3]且value=2,你可以......