当前位置: 首页 > news >正文

有没有让人做问卷的网站中国深圳航空公司官方网站

有没有让人做问卷的网站,中国深圳航空公司官方网站,界面设计师培训,哪些网站是用响应式布局做的顾名思义,就是在对树进行搜索的时候,由于限制了子节点选根节点必选和节点数限制,所以需要额外利用背包来维护最大值 假设根节点就是0,我们很容易 发现,这就是一个正常的树求和,但是限制了节点数量&#xf…

顾名思义,就是在对树进行搜索的时候,由于限制了子节点选根节点必选和节点数限制,所以需要额外利用背包来维护最大值

假设根节点就是0,我们很容易 发现,这就是一个正常的树求和,但是限制了节点数量,所以需要用背包去规划这个限制(容量)

局部分析:取一个倒数2小的子节点,可以求出该节点下面选择0-n个子节点的最大值

        dp[x][i]:x代表该节点的序号,i代表这个节点占多大容量,dp[x][i]自然就是维护的最大值;将其上传,一直到【0】【m】的最大值

#include <bits/stdc++.h>
using namespace std;
int n,m;
struct ed{
    int next,to;
}e[1000];//ed结构体用于存储边信息,采用邻接表存储树结构。当然也可以用vector<vector<int>>

  • to:表示当前边的终点节点编号。在树的结构中,它指的是子节点的编号。
  • next:指向下一条从同一节点出发的边的索引。在邻接表中,它用于将同一个起点的所有边连接成一个链表。

int rt,h[1000],o,v[1000],dp[1000][1000];//h[1000]是邻接表的头数组,o是边计数器。v[1000]存储每个节点的权值。dp[u][t]表示以节点u为根的子树中选择t个节点能获得的最大权值。

void add(int x,int y){//邻接表添加边:将节点y添加为节点x的子节点。(用vector<vector<int>>就                                                       // 不用写这个惹。但是处理的效率会下降)

    e[++o].next=h[x];
    h[x]=o;
    e[o].to=y;
}

邻接表的工作原理

  1. 每个节点通过一个头指针(h 数组)指向第一条边
  2. 每条边e 数组中的元素)包含两个信息:
    • to:表示这条边指向的节点
    • next:指向下一条边的索引,形成链表


void dfs(int u,int t){
    if (t<=0) return ;
    for (int i=h[u]; i; i=e[i].next){//遍历
        int p = e[i].to;//到子节点i
        for (int k=0; k<t; ++k) 
            dp[p][k] = dp[u][k]+v[p];//在父节点 u 已经选择了 k 个节点的基础上,选择子节点 p(并获得其权值 v[p]
        dfs(p,t-1);
        for (int k=1; k<=t; ++k) 
            dp[u][k] = max(dp[u][k],dp[p][k-1]);
    }
}

动态规划核心函数:

  1. 终止条件:如果剩余选择次数t小于等于 0,直接返回。
  2. 初始化子节点 DP 值:对于每个子节点p,初始化dp[p][k]dp[u][k] + v[p],表示在父节点已选状态下选择子节点。
  3. 递归处理子树:递归调用dfs(p, t-1)处理子树,限制子树最多选择t-1个节点。
  4. 更新父节点 DP 值:通过子节点的 DP 值更新父节点的 DP 值,取最大值。


int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        int a;
        scanf("%d%d",&a,&v[i]);
        if(a)
          add(a,i);
        if(!a)add(0,i);
    }
    dfs(0,m);
    printf("%d",dp[0][m]);
}

http://www.dtcms.com/a/556847.html

相关文章:

  • springcloud二-Seata3- Seata各事务模式
  • MySQL 全链路性能调优:从 “凌晨三点被叫醒“ 到 “0.1 秒响应“ 的实战心法(超能优化版)
  • linux命令-用户管理-7
  • 【JavaScript】Pointer Events 与移动端交互
  • 客户评价 网站织梦cms侵权
  • 文件上传下载
  • 深入GoChannel:并发编程的底层奥秘
  • JS面试基础(一) 垃圾回收,变量与运算符
  • 2025年渗透测试面试题总结-225(题目+回答)
  • 重庆电商平台网站建设合肥推广优化公司
  • Linux命令行基础:常用命令快速上手(附代码示例)
  • 在Ubuntu Desktop操作系统下,rustdesk客户端如何设置成开机自动启动?
  • 建设静态网站怎么制作网页链接在微信上发
  • Pandas-DataFrame 数据结构详解
  • 用层还是表格做网站快淘宝建设网站的好处
  • 2025年渗透测试面试题总结-224(题目+回答)
  • 详细了解TLS、HTTPS、SSL原理
  • 弹性力学| 应力应变关系
  • 网站建设实习收获多平台网页制作
  • BPE(Byte Pair Encoding)详解:从基础原理到现代NLP应用
  • 【Java学习路线| 最佳食用指南 60days】
  • nfs的运用
  • 【企业架构】TOGAF架构标准规范-迁移计划
  • 做网站用asp还是php亚马逊建站服务
  • 数据结构(15)
  • 《算法闯关指南:优选算法--前缀和》--29.和为k的子数组,30.和可被k整除的子数组
  • 如何在GitHub仓库中添加MIT开源许可证
  • 在Linux(deepin-community-25)下安装MongoDB
  • WebView 最佳封装模板(BaseWebActivity + WebViewHelper)
  • 珲春市建设局网站中国设计网字体