薛小春 发表于 2025-6-9 19:53:24

2025/2/10课堂记录

目录


[*]选课
[*]叶子的染色
[*]数字转换


[*]选课
分组背包题
这次是自己写的代码了,也就瞟了标准答案几眼,真的就几眼
用的也是vector邻接表#include#includeusing namespace std;vector zi;//zi:i的第j个孩子 (j动态大小 int a,m,n,f;//f:以i为根最多选j和节点,最大值 void maketree(int root){        for(int i=0;i=1;j--)                        for(int k=j;k>=1;k--)                                f=max(f,f+f]);        }        if(root!=0)                for(int i=m;i>=1;i--)                        f=f+a;}int main(){        cin>>m>>n;//m:待选,n:可选         for(int i=1;i>x>>y;                zi.push_back(i);//表示x的孩子再多一个i                 a=y;        }        maketree(0);        cout>n;        for(int i=1;i>c;        for(int i=1;i>x>>y;                add(x,y);                add(y,x);        }        dp(n+1,-1);//随便选一个不是叶子的节点都行,没有父亲为-1         cout
页: [1]
查看完整版本: 2025/2/10课堂记录