首页 > 其他分享 >2024杭电多校第9场

2024杭电多校第9场

时间:2024-08-20 13:37:27浏览次数:12  
标签:杭电多校 int s1 times 2024 so sum dp

9

1001 树异或价值 (hdu7529

对价值定义式进行转化,\((a_i\oplus a_j)\times lca(a_i, a_j)\) 可视为 \(a_i,a_j\) 的所有祖先下 \(\sum a_i\oplus a_j\),数组 \(a\) 总价值即各节点子树中任意两个子节点的异或之和。由按位异或的性质,不同二进制位之间答案互不影响,可简化考虑最低位即 \(a_i\in \{0, 1\}\),计算出此时的 \(ans'\),有 \(ans = (ans')^k\).

\(a_i\in \{0, 1\}\) 时,为了使异或之和尽可能大,即各节点子树内 \((\sum [a=0])\times (\sum [a=1])\) 最大,应使 \(a = 0\) 与 \(a = 1\) 子节点数量尽可能平均;实际上通过构造可实现所有节点下 \(\mid\sum[a = 0] - \sum[a = 1])\mid\space \leq 1\). 设 \(dp_x\) 为 \(a_x = 0\) 时子树符合条件的答案数,\(y\in subtree(x)\),\(se_x,so_x\)分别代表大小为偶数/奇数的 \(y\) 数量,则有:

\(dp_x =\prod dp_y \times 2^{se_x}\times (\dbinom{so_x}{\lfloor\frac{so_x}{2}\rfloor} + \dbinom{so_x}{\frac{so_x}{2} - 1}\times [2|so_x])\).

最终答案即 \((2\times dp_1)^k\). 组合数学的逻辑多少有点抽象,建个模理解一下式子就好,至少代码不难写。

void pre(int i) {
    sz[i] = 1;
    s0[i] = s1[i] = 0;
    for(int j = 0; j < v[i].size(); j++) {
        int t = v[i][j];
        pre(t);
        sz[i] += sz[t];
        if(sz[t] & 1) s1[i]++;
        else s0[i]++;
    }
}
void cal(int i) {
    dp[i] = 1;
    for(int j = 0; j < v[i].size(); j++) {
        int t = v[i][j];
        cal(t);
        dp[i] *= dp[t];
        dp[i] %= mo;
    }
    dp[i] *= fp(2, s0[i]);
    dp[i] %= mo;
    dp[i] *= (c(s1[i], s1[i] / 2) + ((s1[i] & 1) == 0) * c(s1[i], s1[i] / 2 - 1)) % mo;
    dp[i] %= mo;
}

1003 黑洞合并 (hdu7531

真抽象啊,这个《规律》是赛时我发现了都不敢提出来的程度。把它写这里纯粹是为了纪念我写过这么一道抽象的题目()

1006 融合矿石 (hdu7534

非常巧妙的dp. 数据保证随着金辉石占比的增加,矿石价值单调不减,且矿石的数量无限,因此用完全背包预处理出所有可能的融合情况下、一定质量矿石的最大金辉石含量,将结果看作 \(m\) 种不同的新矿石,再用一次完全背包计算即可。

    for(int i = 1; i <= n; i++) {
        int a, b;
        scanf("%d%d", &a, &b);
        for(int j = a; j <= m; j++) {
            f[j] = max(f[j], f[j - a] + b);
        }
    }
    for(int i = 1; i <= m; i++) {
        if(!f[i]) continue;
        int x = (f[i] * 10 - 1) / i + 1;
        f[i] = v[x] * i;
    }
    for(int i = 1; i <= m; i++) {
        for(int j = i; j <= m; j++) {
            g[j] = max(g[j], g[j - i] + f[i]);
        }
    }
    printf("%lld\n", g[m]);

标签:杭电多校,int,s1,times,2024,so,sum,dp
From: https://www.cnblogs.com/meowqwq/p/18368482

相关文章

  • 2024年人教版义务教育新教材网络培训来了
    写在前面1.支持2024年人教版义务教育阶段新教材网络培训会-t.pep.com.cn/xjc2024-1352.时间不是直接看直播,看的是直播以后的课程,回放或者补学,课程出来就会学有学时,可以下证书3.需要帮助绿泡泡190去掉文字3308去掉文字7156项目简介:8月20~27日开展!2024年人教版义务教育......
  • 2024年全国青少年信息素养大赛国赛PYTHON组(C++做法)
    目录前提第一题第二题第三题第四题第五题:第六题前提鄙人是C++学生,所以将PYTHON题做为C++题,还请各位多多海涵!!!部分芝士来自度娘和其它网站温馨提示:题目顺序可能不同,请各位仔细浏览! 第一题题目描述蓝蓝最近学到了一些单词,比如orange(橘子),apple(苹果),pear(梨)。......
  • 【数据库干货汇总】2024年上半年墨天轮最受欢迎的40篇技术文章+文档
    作为数据库领域的专业社区,墨天轮社区上汇聚了众多优秀的技术专家与一线从业者,他们积极参与社区共建,通过文章、文档分享了自己的工作实践与学习经验。小编综合阅读量、点赞量、收藏数、下载数等指标,从2024年1月1日-6月30日众多的内容中筛选出20篇优质文章、20篇优质文档,涵盖Oracle......
  • 2024年8月20日AI科技圈新闻
    DeepMind创始人哈萨比斯:AGI十年内降临 :DeepMindCEO哈萨比斯预言,AGI(通用人工智能)将在十年内实现,这将重塑医疗、能源和气候等领域。高盛力挺英伟达:2025年盈利将显著超市场预期 :高盛分析师预测,英伟达2025年每股收益将达到4.16美元,较市场普遍预期高出11%。网易云音乐故障已修......
  • 阿里云2024云栖大会,来了!
    2024.9.19-9.21云栖大会来了!3大重磅主论坛400场论坛与并行话题抵达科技前沿40000平米智能科技展探寻云启智跃先锋场景72小时沉浸式互动体验与动手实践共享创造、畅想与灵感碰撞限量免费门票火热报名中!大会亮点详情与我们一起见证云+AI的产业蝶变!......
  • 【2024-08-19】好好关爱
    20:00具体的人生道路会面临许多新的挑战,需要作出正确的选择。只有怀着深深的爱国之情,以国家需求作为己任,才能保证你们在人生的每一个转折关头都能作出正确的选择。                                   ......
  • 【2024-08-18】连岳摘抄
    23:59问题是在生活里发现,问题是在生活里研究,问题是在生活里解决。                                                 ——陶行知你父母努力工作,对长辈孝顺,钱花在爷爷......
  • 2024信息安全专业主要学什么? 一般从事什么工作?
    前言很多人比较对于信息安全专业感兴趣,想知道信息安全专业主要学什么内容,一般毕业可以从事什么工作,下面小编为大家介绍一下!1、信息安全专业主要学什么课程1、专业必修课有:计算机网络、计算机安全、操作系统、密码学与网络安全、数据库、软件工程、网络攻击与防御、Java......
  • BVS:多强联手,李飞飞也参与的超强仿真数据生成工具,再掀数据狂潮 | CVPR 2024
    BEHAVIORVisionSuite(BVS)是一个新型工具包,旨在系统评估和全面理解计算机视觉模型。研究人员能够在场景、对象和相机级别控制各种参数,有助于创建高度定制的数据集。来源:晓飞的算法工程笔记公众号论文:BEHAVIORVisionSuite:CustomizableDatasetGenerationviaSimulatio......
  • DMS:直接可微的网络搜索方法,最快仅需单卡10分钟 | ICML 2024
    DifferentiableModelScaling(DMS)以直接、完全可微的方式对宽度和深度进行建模,是一种高效且多功能的模型缩放方法。与先前的NAS方法相比具有三个优点:1)DMS在搜索方面效率高,易于使用。2)DMS实现了高性能,可与SOTANAS方法相媲美。3)DMS是通用的,与各种任务和架构兼容。来源:晓飞的算法......