牛客网 Wannafly挑战赛20 A-染色
链接:https://www.nowcoder.com/acm/contest/133/A
来源:牛客网时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld题目描述
现在有一棵被Samsara-Karma染了k种颜色的树,每种颜色有着不同的价值
Applese觉得Samsara-Karma染的太难看了,于是打算把整棵树重新染成同一种颜色
但是,由于一些奥妙重重的原因,每一次染色Applese可以选择两个有边相连的点,将其中一个染成另一个的颜色。而进行一次这样的操作需要付出两种颜色价值和的代价
现在,Applese的钱要用来买书(game),所以他想要最小化代价
输入描述:
输入包括若干行 第一行包括一个数n,表示这棵树有n个节点 第二行包括n个数,第i个数表示第i个节点的颜色coli **注意:一个颜色的标号即价值接下来的n - 1行,每行包括两个数u, v,表示u节点与v节点之间有一条无向边
n ≤ 100000, 1 ≤ coli ≤ 1e9,数据保证是一棵树
输出描述:
输出包括一行 第一行包括一个数,表示最小代价示例1
输入
复制
4 2 3 4 3 1 2 2 3 3 4输出
复制
12#include<cstdio> #include<algorithm> #include<map> using namespace std; const int maxn = 1e5 + 100; int c[maxn]; map<long long ,long long >mp; int main() { //freopen("C://input.txt","r",stdin); int n;long long int t=0x3f3f3f3f3f3f3f3f;long long int sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){int m;scanf("%d",&m);sum+=m;mp[m]++;}for(map<long long ,long long >::iterator it=mp.begin();it!=mp.end();it++){t=min(t,sum-(it->first * it->second)+ (it->first*(n-it->second)));}printf("%lld\n",t);return 0; }
公式 某个点的总花费=总和 - 自身值*自身点出现的次数 + 自身值*其他点的个数 (自己推一下)
这里用map用来记录一个点出现的次数。
举个例子 mp[m]++; 迭代器 it ->first=m (即m自身的值) it->second 代表mp[m](即m出现的次数)
map迭代器 it是一个指针,用 ‘->’来指向
注意 vector 的迭代器 it 可以直接用 *it 来代表其内容
一开始想用结构体 离散化来做,才发现数据范围1e9,数组开不到,只能用map。
牛客网 Wannafly挑战赛20 A-染色相关推荐
- 牛客网 Wannafly挑战赛8 A.小Y和小B睡觉觉
写了一会不想写了... A-小Y和小B睡觉觉 链接:https://www.nowcoder.com/acm/contest/57/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制 ...
- 牛客网 Wannafly挑战赛27 蓝魔法师
蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...
- 牛客网wannafly挑战赛13-D(贪心)
链接:https://www.nowcoder.com/acm/contest/80/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 牛客网wannafly挑战赛13-E(线段树)
链接:https://www.nowcoder.com/acm/contest/80/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)
前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...
- 牛客网Wannafly挑战赛4 C.割草机(模拟)
题目描述 有一块n*m的地,每块地要么长满杂草(用'W'表示),要么是空地(用'G'表示),现在有一个人站在(1,1),面向(1,m),他可以按如下两种方式移动: 1.向面朝的方向移动一格,耗费1单位 ...
- 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
传送门 :B题:点我 C题: 点我 题目描述 有n个队伍,每个队伍的人数小于等于5,每辆车最多坐5个人,要求一个队伍的人都在一辆车上,求最少的车数 输入描述: 第一行n 第二行n个数,表示每个队伍的人 ...
- [牛客网Wannafly挑战赛24F]wyf的超级多项式
Description 已知 F i = ∑ j = 1 k a j v j i F_i=\sum_{j=1}^{k}a_jv_j^i Fi=∑j=1kajvji 给出 v 1.. k v1. ...
- 牛客网Wannafly挑战赛29 B - 白井黑子 乱搞
Description kuroko 作为常盘台唯一的空间系能力者,在每年例行的能力测试中可绝对不能让 misaka 失望哦,但是由于她的等级只是 level 4「大能力者」,在能力测试中会遇到不少困 ...
最新文章
- HTML5学习笔记二 HTML基础
- IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法
- Java 10.switch语句
- python入门递归之汉诺塔
- .html好 还是.asp好,各位说说在ASP.net里 用静态函数的好 还是实例函数出处HTML好???...
- Chromium Embedded Framework中文文档之(基本使用)
- 在Ubuntu和CentOS上搭建NodeJs的执行环境步骤
- 科研_今天,我们怎么做科研?
- 如何将两段音乐合并成一段?
- 新零售做好客流数据分析才是提升线下商场、购物中心人流量的方向
- Blender 快捷键总结,一些子问题
- 华为光猫虚拟服务器,高兴得要哭了!!!!研究了N天,终于把我的华为 光猫救回来了...
- Win10分辨率不能调怎么办
- Apache启动失败,请检查相关配置。√MySQL5.1已启动。
- STM32基础12--数模转换(DAC)
- spider_study 1
- 引领5G智慧全场景 荣耀V30系列抢跑2020年市场
- YC创始合伙人Jessica Livingston七年经验总结:创业路上如何避开这八只拦路虎
- python实现自动点击桌面按钮_Python实现鼠标隔几秒自动点击电脑某区域
- 再谈桌面虚拟化环境中的默认配置文件与输入法