首页 > 其他分享 >2023icpc省赛 1/12

2023icpc省赛 1/12

时间:2023-05-22 18:35:22浏览次数:48  
标签:12 int ll long 2023icpc read 100 省赛 sum

C题

正常写的话就组合数搞一搞

但是不取模,那么问题就有趣起来了

众所周知,Σc(奇数,sum)=Σ(偶数,sum),是很对称的

对于x的贡献,如果选x,就可以在儿子里任选奇数个或者偶数个,可以发现对答案的贡献是只选自己时的情况,+a[x]

如果不选x,就必须选至少两个子树里的。大部分情况都是对称的。不对称的情况是只选每个儿子的子树里的,选0个的情况。所以对于每个儿子都-a[x]

找找规律:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll read()
{
    ll x;scanf("%lld",&x);return x;
}
int fa[100],d[100],sum[100];
int n;
vector<int>e[100],a;
int lca(int x,int y)
{
    while(d[x]>d[y])
        x=fa[x];
    while(d[x]<d[y])
        y=fa[y];
    while(x!=y)
        x=fa[x],y=fa[y];
    return x;
}
void dfs(int x)
{
    for(auto y:e[x])
    {
        if(y==fa[x])continue;
        fa[y]=x;
        d[y]=d[x]+1;
        dfs(y);
    }
}
void work(int d)
{
    if(d==n+1)
    {
        if(a.size()==0)return ;
        int t=a[0];
        for(auto x:a)
            t=lca(x,t);
        if(a.size()&1)
            sum[t]++;
        else
            sum[t]--;
        return ;
    }
    a.push_back(d);
    work(d+1);
    a.pop_back();
    work(d+1); 
}
int main()
{
    n=read();
    for(int i=1;i<n;i++)
    {
        int x=read(),y=read();
        e[x].push_back(y);
        e[y].push_back(x);
    }
    dfs(1);
    work(1);
    for(int i=1;i<=n;i++)
        cout<<sum[i]<<' ';
}
找规律

可以ac的代码(大概:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll read()
{
    ll x;scanf("%lld",&x);return x;
}
int n;
ll sum[200010],ans;
int main()
{
    n=read();
    for(int i=1;i<n;i++)
        sum[read()]--;
    for(int i=1;i<=n;i++)
        ans+=(1-sum[i])*read();
    cout<<ans;
}
C

 

标签:12,int,ll,long,2023icpc,read,100,省赛,sum
From: https://www.cnblogs.com/qywyt/p/17421414.html

相关文章

  • 什么是100 %, 120 % ,150% BOM ?
    BOM-BillofMaterial物料清单物料清单(BOM),也称为产品结构,是构建、制造或维修产品或服务所需的所有物料的列表。物料清单充当集中式源,包含从原材料阶段制造产品所需的所有信息。Abillofmaterials(BOM)isanextensivelistofrawmaterial,components,andinstructio......
  • 证书格式转换 pkcs12 和 pem 转换
    elasticsearch默认使用的证书格式是PFX格式或者叫pkcs12PFX格式:又称为PKCS#12格式,是一种包含了公钥、私钥及证书链的证书格式。通常需要输入密码才能使用。常用于IIS服务器和Windows平台PFX转换为PEM格式opensslpkcs12-incertificate.pfx-outcertificate.pem-node......
  • 【DSP视频教程】DSP视频教程第12期:TI开源分享IQmath DSP源码,适用于所有Cortex-M内核,本
    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 今年TI推出MSPM0系列产品配套的SDK软件包里面将此库开源了,之前的时候也移植过IQmatb,不过只有库版本,这次竟然开源了,确实是不可多得的好资源。这个是定点库,非常适合用于M0,  M0+,  M3和不带硬件F......
  • Light oj 1245 【数学题】
    1245-HarmonicNumber(II)PDF(English)StatisticsForumTimeLimit: 3second(s)MemoryLimit: 32MBIwastryingtosolveproblem '1234-HarmonicNumber',IwrotethefollowingcodelonglongH(intn){longlongres=0;for(......
  • 2023江西省赛赛后总结
    大一acmer的第二场线下赛(第一场是天梯赛。去年省赛是线上赛,结果我还因为时间冲突没有去,最后只有我的两个队友去了),比赛前一天晚上睡不着,早上坐车去比赛的时候就一直很困,比赛开始后却立马精神了。最后只过了四题,拿了个三等奖,我好菜啊。。。。。。别人都是fake,只有我是真菜。。。......
  • py之路——day12-20230521:装饰器
    作者:zb一、装饰器1、装饰器的定义:装饰器的“器”是函数的意思,即装饰器本质上是函数,用def关键字定义2、装饰器的功能:装饰其他函数,即为其他函数添加附加功能,为函数实现他们本身没有的功能3、装饰器的原则:⑴不能修改被装饰函数的源代码(有影响线上业务的风险)⑵不能修改被装饰......
  • Windows 2012安装mysql 5.7.21
    文档课题:Windows2012安装mysql5.7.21系统:MicrosoftWindowsServer2012Standard64位数据库:mysql5.7.21安装包:mysql-installer-community-5.7.21.0.msi1、下载自MySQL版本升级到5.7后,安装和配置过程发生很大变化,以下介绍5.7版本MySQL的下载、安装及配置过程.针对不同......
  • 微软推出Windows 11 Insider预览版22621.1255和22623.1255
    您好,WindowsInsider,今天我们将向Beta频道发布Windows11Insider预览版22621.1255和22623.1255(KB5022918)。Build22623.1255=推送新功能。Build22621.1255=默认情况下关闭新功能。提醒:以前在22622版本上的内部人员将通过启用包自动转移到22623版本。启用包人为地增加了新功能推出......
  • CCPC2023 河南省赛
    和零时加的队友打了一下,计算几何摆了,最优化摆了,adhoc摆了。A.小水獭游河南枚举前缀,是\(O(|\Sigma|)\)的,然后判断一下是不是回文串即可。B.ArtforRest昨天才做过这个套路的加强版。显然只用判断类似\(\max(a,b)<\min(b+1,c)\)的条件。暴力枚举是调和级数的。E.矩阵......
  • Jmeter函数助手12-threadNum
    threadNum函数用于获取当前线程编号。该函数没有参数,直接引用即可。 1、线程数可在组件【测试计划->线程组】设置。如下是不传入循环次数的${__threadNum}2、循环次数不会改变线程数而是让一个线程进行循环n次,线程数还是3 ......