掳诚 发表于 2025-6-8 22:15:54

2025/2/22课堂记录

目录


[*]愚蠢的矿工
[*]国王(猛兽军团)


[*]愚蠢的矿工
这网页稍微有点乱,不过凑合凑合还能看,就是没法提交了而已
首先看到的第一眼,感觉是树上依赖背包
毕竟要挖到某一个节点的宝藏要之前知道根节点所有节点都要有狗狗停留
但是呢……
没错,他就是树上依赖背包(别打我)
但是呢,这道题还有第二种写法,就是多叉树转二叉树
没错,左牵儿子,右擎兄弟的孩子兄弟表示法

记住一个口诀:之前你的儿子现在是我的兄弟,现在你的儿子是我 
然后就可以根据普通的树形dp来做啦
这是代码#include#includeusing namespace std;int a,leftt,rightt,vis;int dp(int x,int m)//dp(a,b):求以a为根节点的子树,给b位矿工,求最大值,也就是vis {        if(m==0)return 0;//不给人没法干活        if(vis!=-1)return vis;//之前算过这个,剪枝        if(x==-1)return 0;//访问的节点不存在,sorry,the number you…        int ans=0;//终于剪完枝了         ans=dp(rightt,m);//自己没留人,孩子不能走。把所有人手都给自己的兄弟        for(int i=0;i>n>>m;//宝藏个数;旷工人数        for(int i=1;i>a;        for(int i=0;ix>>y;                rightt=leftt;//之前你的儿子现在是我的兄弟                leftt=y;//现在你的儿子是我         }        cout

旱由 发表于 2025-10-23 08:36:45

东西不错很实用谢谢分享

驶桐柢 发表于 2025-10-31 15:42:59

感谢分享

红弘丽 发表于 2025-12-11 08:32:03

分享、互助 让互联网精神温暖你我

志灿隐 发表于 2025-12-12 14:50:32

分享、互助 让互联网精神温暖你我

膏包 发表于 2025-12-17 01:20:30

感谢分享,下载保存了,貌似很强大

哈妙思 发表于 2025-12-26 03:41:32

新版吗?好像是停更了吧。

坡琨 发表于 2026-1-12 22:39:52

懂技术并乐意极积无私分享的人越来越少。珍惜

仄谦 发表于 2026-1-13 21:57:21

感谢分享

劳怡月 发表于 2026-1-18 04:31:46

热心回复!

皇甫佳文 发表于 2026-1-21 09:24:11

感谢,下载保存了

氛疵 发表于 2026-1-21 10:12:28

这个好,看起来很实用

司寇涵涵 发表于 2026-1-22 22:09:58

感谢分享,学习下。

糙昧邵 发表于 2026-1-23 09:37:30

这个好,看起来很实用

全阳霁 发表于 2026-1-26 02:50:12

收藏一下   不知道什么时候能用到

冷晓晴 发表于 2026-1-27 01:26:42

yyds。多谢分享

澹台吉星 发表于 2026-1-27 05:42:35

过来提前占个楼

康器 发表于 2026-1-27 07:12:36

分享、互助 让互联网精神温暖你我

栓州 发表于 2026-1-30 05:50:28

感谢分享,学习下。

梁丘眉 发表于 2026-1-30 20:53:28

yyds。多谢分享
页: [1] 2
查看完整版本: 2025/2/22课堂记录