我们不妨将所有权值打到一棵树上,这很容易想到。

考虑暴力,如果我们选择了 \(w\) 个点,修改后我们会从叶子节点依次合并去计算贡献。

很显然我们可以动态规划维护。

\(f[p][w][0/1/2]\) 表示选了 \(w\) 个点,后整个区间的状态为 \(0/1/2\) 。

  • 01 表示整个区间全为这个数。
  • 2 表示混合区间,但也包含前两个状态。

特殊的,进行合并时,注意左右区间可以合并时,减去合并贡献。

注意每个节点都有贡献。

至此,此题得解。

具体复杂度 \(\mathcal{O}(2^k w^2)\) 。

这道题少有人做,但是希望对您有用,谢谢。

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef double db; const int N = 500;
const int M = 80;
const int Mod = 1e9 + 7; inline int read()
{
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9')
{
if (ch == '-')
f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
} int n, w; char s[N]; int c[N]; int f[N][M][3]; // 0 1 01 int ls(int p) { return p << 1; }
int rs(int p) { return p << 1 | 1; } void dfs(int p, int l, int r)
{
if (l == r)
{
if (s[l] == '1')
{
f[p][0][1] = 1;
f[p][0][2] = 1;
}
else
{
f[p][0][0] = 1;
f[p][1][1] = c[l] + 1;
f[p][0][2] = 1;
f[p][1][2] = c[l] + 1;
}
return;
}
int mid = l + r >> 1;
dfs(ls(p), l, mid);
dfs(rs(p), mid + 1, r);
for (int i = 0; i <= w; ++i)
{
for (int j = 0; j <= i; ++j)
{
for (int u = 0; u <= 2; ++u)
{
for (int v = 0; v <= 2; ++v)
{
f[p][i][2] = min(f[p][i][2], f[ls(p)][j][u] + f[rs(p)][i - j][v] + 1);
}
}
f[p][i][0] = min(f[p][i][0], f[ls(p)][j][0] + f[rs(p)][i - j][0] - 2 + 1);
f[p][i][1] = min(f[p][i][1], f[ls(p)][j][1] + f[rs(p)][i - j][1] - 2 + 1);
f[p][i][2] = min(f[p][i][2], min(f[p][i][0], f[p][i][1]));
}
}
} int main()
{
memset(f, Mod, sizeof(f));
n = read(), w = read();
scanf("%s", s + 1);
n = 1 << n;
for (int i = 1; i <= n; ++i)
{
c[i] = read();
if (s[i] == '1')
c[i] = 0;
}
dfs(1, 1, n);
printf("%d\n", min(min(f[1][w][0], f[1][w][1]), f[1][w][2]));
return 0;
}

[AHOI2002] Kitty猫基因突变的更多相关文章

  1. 洛谷—— P2562 [AHOI2002]Kitty猫基因编码

    P2562 [AHOI2002]Kitty猫基因编码 题目描述 小可可选修了基础生物基因学.教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由 ...

  2. 洛谷 P2562 [AHOI2002]Kitty猫基因编码

    P2562 [AHOI2002]Kitty猫基因编码 题目描述 小可可选修了基础生物基因学.教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由 ...

  3. Kitty猫基因编码

    原题链接:https://www.luogu.org/problemnew/show/2562#sub 简单的递归题.记录一下前缀和然后二分求解就好. 参考代码: #include <iostr ...

  4. 【JZOJ4876】【NOIP2016提高A组集训第10场11.8】基因突变

    题目描述 邪恶的707刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类 ...

  5. P2562kitty猫基因

    这道题是安徽NOI省选题,但是难度并没有那么难. 这道题是一个字符串的递归题,有很多大佬用线段树来写的(我也想学线段树,lowbit当头一棒).题意为全部相同则输出B或A,不同则分成长度相同的两个子串 ...

  6. 【Nature 子刊】I型HLA基因中和癌症相关的体细胞突变--转载

    肿瘤的发生与免疫系统的功能密切相关.在免疫系统中,MHC(主要组织相容性复体,majorhistocompatibilitycomplex)是所有生物相容复合体抗原的一种统称.HLA(humanleu ...

  7. xgene:疾病相关基因,耳聋,彩色,老年痴呆,帕金森

    神经元的传递:一个下游神经元,它接受其上游神经元的各个突触传过来的信号,然而,每个突触对该下游神经元的激活权重是不同的. 从神经网络的本质上说,当人连续.多次遭受失败的时候,大脑内就会释放大量的抑制性 ...

  8. xgene:肿瘤相关基因 KRAS,,BRAF,,通路PI3K-AKT

    KRAS基因 一个是KRAS1,位于chr6 短臂上,是一个“假基因”,它不能被转录成RNA,故没有功能的 另一个是KRAS2,位于chr12 短臂上..是“真基因”,是能够转录.并且翻译成蛋白的,是 ...

  9. xgene:肿瘤相关基因 EGFR,,Her2,,TP53,,ALK

    EGFR: “Epidermal growth factor receptor”,表皮生长因子受体.别名:ErbB1,或 HER1 EGFR是ErbB基因家族的成员之一.ErbB基因家族包括了:EGF ...

  10. xgene:WGS,突变与癌,RNA-seq,WES

     人类全基因组测序06 SNP(single nucleotide polymorphism):有了10倍以上的覆盖深度以后,来确认SNP信息,就相当可靠了. 一个普通黄种人的基因组,与hg19这个参 ...

随机推荐

  1. PostgreSQL 12 文档: 部分 VII. 内部

    部分 VII. 内部 这一部分包含PostgreSQL开发者可能用到的各类信息. 目录 50. PostgreSQL内部概述 50.1. 一个查询的路径 50.2. 连接如何建立 50.3. 分析器阶 ...

  2. 企业级logstash简单使用(ELK)

    企业级logstash简单使用(ELK) 要使用logstash收集到Elasticsearch的方式,需确保logstash版本与es版本一致. 由于我也是刚刚研究使用,所以本文暂不会出现原理性的东 ...

  3. 【Linux】部署Nginx

    1.先安装gcc-c++编译器 yum install gcc-c++ yum install -y openssl openssl-devel 2.再安装pcre包 yum install -y p ...

  4. PDF转换OFD(Java实用版)

    前言: 在项目中用到了,就写一下哈 OFD简介 百度百科:https://baike.baidu.com/item/OFD/56227163?fr=aladdin OFD(Open Fixed-lay ...

  5. Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-4_w0c665/PyQt5/

    错误: 解决方式:输入一下命令 1 pip3 install --upgrade setuptools 2 python3 -m pip install --upgrade pip 输入命令: 1 p ...

  6. 时序数据库 InfluxDB 第一篇 安装部署

    使用场景: 最近项目上遇到大数据存储的问题,一个IOT融合项目,涉及到大量的工控监测数据存储.当前存储到关系库中的数据已经达到2亿条了.做了很多优化,查询还是很慢.便想着是否有更好的解决方案. 了解到 ...

  7. 十年磨一剑的华为云GES,高明在哪

    本文分享自华为云社区<华为云GES:十年磨一剑,打造业界一流的云原生分布式图数据库>,作者:GES图引擎服务小图 . 1.浅谈云原生图数据库 图数据库(graph database)是一个 ...

  8. [Bread.Mvc] 开源一款自用 MVC 框架,支持 Native AOT

    Bread.Mvc Bread.Mvc 是一款完全支持 Native AOT 的 MVC 框架,搭配同样支持 AOT 的 Avalonia,让你的开发事半功倍.项目开源在 Gitee,欢迎 Star. ...

  9. 每日一库:pprof简介

    pprof简介 pprof是Go语言的一个性能分析库,它可以帮助开发者找出程序中的性能瓶颈.pprof提供了CPU分析.内存分析.阻塞分析等多种性能分析功能. 以下是pprof的主要特性: CPU分析 ...

  10. fastapi启动后访问docs不显示页面的问题

    笔者之前正常使用fastapi的docs接口进行各种接口调试,使用很正常,之前安装也都是正常安装流程,没有做任何修改,可以突然有一天不知道为啥,docs接口打开是空白的,接口也没有报错,就是空白,摸索 ...