CQOI珠宝

2024-04-10 04:08
文章标签 cqoi 珠宝

本文主要是介绍CQOI珠宝,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                                 CQOI珠宝

给一棵n个结点的树,给每个点安排一个正整数编号,使得相邻点具有不同的编号,编号的总和尽量小。

输入格式:

  第一行:n(n<=50,000) 
以下n-1行,每行两个数u,v(1<=u,v<=n),表示u 和v有一条边

输出格式:

  仅一行,为最小编号和

样例输入:

  8  1  2 1  31  41  55  65  75  8

样例输出:

11

数据范围:

30%的数据满足,n<=200;
  60%的数据满足,n<=5000;
  100%的数据满足,n<=50,000;

时间限制:

1000

空间限制:

512000
记忆化搜索搞treedp,f[i][j]表示i原点,权值为j时的最小和(包括自己和其子数)
//打题启示:以后边表的数组记得开两倍,千万别把边号和点号搞反,以后遇这种题treedp爆枚,算好复杂度,m别设太大 
#include<bits/stdc++.h>
using namespace std;
const int m=10;
int n;
int de[100001];
int fir[100001];
int ne[100001];
int to[100001];
int fa[50001];
int son[50001][1001];
int sn[50001];
int f[50001][11];
int u,v,tot;
int root=1;
int num[2];
void add(int u,int v)
{
to[++tot]=v;ne[tot]=fir[u];fir[u]=tot;
}
void dfs(int no,int depth)
{
de[no]=depth;num[depth%2]++;
for(int i=fir[no];i;i=ne[i])
{
int tt=to[i];
if(tt==fa[no]) continue;
else 
{
son[no][++sn[no]]=tt;
fa[tt]=no;
dfs(tt,depth+1);
}
}
}
int dp(int no,int xy)
{
if(f[no][xy]) return f[no][xy];f[no][xy]=xy;
if(sn[no]==0) return f[no][xy];
for(int i=fir[no];i;i=ne[i])
{
int tt=to[i];
if(tt==fa[no]) continue;
int rude=2e9;
for(int j=1;j<=m;j++)
{
if(j==xy) continue;
rude=min(rude,dp(tt,j));
}
f[no][xy]+=rude;
}
return f[no][xy];
}
int main()
{
scanf("%d",&n);
for(int i=1;i<n;i++)
{
scanf("%d%d",&u,&v);
add(u,v);add(v,u);
}
dfs(root,1);
int ans=2e9;
for(int i=1;i<=m;i++)
{
ans=min(ans,dp(root,i));
}
cout<<ans;
return 0;
}
/*
8  
1 2 
1 3
1 4
1 5
5 6
5 7
5 8
*/

这篇关于CQOI珠宝的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890033

相关文章

html+css网页设计 珠宝专业 珠宝网站10个页面

html+css网页设计 珠宝专业 珠宝网站10个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1,访问该网站 https://download.csdn.net/download/qq_4243

html+css+js网页设计 翘珠宝微商城移动端20个页面

html+css+js网页设计 翘珠宝微商城移动端20个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1,访问该网站 https://download.csdn.net/download/qq_4

html+css+js网页设计 专业:珠宝行业宏观环境分析12个页面

html+css+js网页设计 专业:珠宝行业宏观环境分析12个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1,访问该网站 https://download.csdn.net/download/

html+css+js网页制作 五洲珠宝14个页面

html+css+js网页制作 五洲珠宝14个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1,访问该网站 https://download.csdn.net/download/qq_424317

【报告分享】2021下半年快手珠宝行业数据报告-飞瓜数据(附下载)

摘要:作为最早一批拥抱直播电商的行业之一,珠宝品类从早期立足产业带的源头直播,到现在依托达人分销和品牌自播来提振销量,已经成为直播电商平台上不容忽视的一环。随着收入的提高以及消费的升级,人们对珠宝的消费习惯渐渐从“低频低复购”到“高频高复购”的快消模式转变。 来源:飞瓜数据 ​ 如需查看完整报告和报告下载或了解更多,公众号:行业报告智库

和隋永珍 大麗和和珠宝美学特展闪耀巴黎

2024年5月21日,“和隋永珍”大麗和和珠宝美学特展在巴黎优雅启幕。二零二四甲辰龙年,恰逢中法两国建交60周年,大麗和和以现代东方高级珠宝为引,探讨中国美学的传承与创新,共襄东西方文化交流之盛举。 高级珠宝品牌大麗和和于2010年成立于历史文化名城杭州,天然山川灵气与古典中国之美滋养着这个年轻的珠宝品牌。成立14年以来,怀着对东方气韵的热爱,大麗和和逐步摸索出一条独特的现代翡翠高级珠宝

[Algorithm][动态规划][路径问题][不同路径][不同路径Ⅱ][珠宝的最高价值]详细讲解

目录 1.不同路径1.题目链接2.算法原理详解3.代码实现 2.不同路径 II1.题目链接2.算法原理详解3.代码实现 3.珠宝的最高价值1.题目链接2.算法原理详解3.代码实现 1.不同路径 1.题目链接 不同路径 2.算法原理详解 思路: 确定状态表示 -> dp[i][j]的含义 走到dp[i][j]的时候,一共有多少种方式 推导状态转移方程 dp[i

leetcode LCR 166.珠宝的最高价值

思路:dp 这里其实很简单,就是一个网格图,两个固定状态,一个向下,一个向右。 其实状态方程就已经出来了,就是dp[i][j]=max(dp[i-1][j],dp[i][j-1])+value。 注意:在最上面一行或者最左边一列的时候,其实就一种状态,在最上面一行的时候只有向右走的状态,在最左边一列时只有向下走的状态,所以需要额外处理一下。 上代码: class Solution {p

LCR 166. 珠宝的最高价值

现有一个记作二维矩阵 frame 的珠宝架,其中 frame[i][j] 为该位置珠宝的价值。拿取珠宝的规则为: 只能从架子的左上角开始拿珠宝每次可以移动到右侧或下侧的相邻位置到达珠宝架子的右下角时,停止拿取 注意:珠宝的价值都是大于 0 的。除非这个架子上没有任何珠宝,比如 frame = [[0]]。 示例 1: 输入: frame = [[1,3,1],[1,5,1],[4,2,

CQOI余数之和

CQOI余数之和 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数。   例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7