safe or unsafe

链接

这题要求我们对WPL(带全路径长度)进行计算,而WPL就等于每个子节点相加后形成的加权节点的总和,比如有四组数据出现的频率分别是1 2 3 4

那么加权节点的值分别为1+2=3,3+3=6,6+4=10,总和为19

直接计算WPL=3x(1+2)+2x3+1x4=19

二者相等,依据这个就好处理了

考虑使用map统计频率,用优先队列来进行计算

#include<bits/stdc++.h>
using namespace std;
int main() {
	int n;cin >> n;
	for (int i = 0;i < n;i++) {
		int setWPL;
		int WPL = 0;
		cin >> setWPL;
		string str;
		cin >> str;
		map<char, int>freq;
		for (char ch : str) {
			freq[ch]++;
		}
		priority_queue<int,vector<int>,greater<int>> tree;
		for (const auto& it : freq) {
			tree.push(it.second);
		}
		if (tree.size() == 1) {
			WPL = tree.top();
		}
		while (tree.size()>1) {
			int a, b;
		
			a= tree.top();
			tree.pop();
			b= tree.top();
			tree.pop();
			tree.push(a + b);
			WPL += (a + b);
		}
		
		if (WPL <= setWPL) {
			cout << "yes" << endl;
		}
		else {
			cout << "no" << endl;
		}

	}
}

时间复杂度:O(n)

空间复杂度:O(n时间复杂度:O(n × (m + k log k))

n:测试用例数量

m:每个字符串长度

k:字符串中不同字符数量

空间复杂度:O(m + k)

全部评论

相关推荐

2025-12-06 20:22
浙江科技大学 C++
作为&nbsp;0&nbsp;经验选手,靠保洁实习实现&nbsp;“从&nbsp;0&nbsp;到&nbsp;1”&nbsp;的过来人,分享一套&nbsp;“不拼背景、只拼踏实”&nbsp;的实习上岸攻略,亲测有效,尤其适合想快速落地、门槛低的岗位!👇一、0&nbsp;经验简历:别空着!把&nbsp;“隐形经历”&nbsp;转化成岗位需要的能力0&nbsp;经验不是没亮点,而是你没学会&nbsp;“翻译”&nbsp;经历&nbsp;——&nbsp;哪怕是校园、生活里的小事,只要和岗位要求挂钩,就能写进简历!比如应聘保洁&nbsp;/&nbsp;后勤类岗位,简历可以这么写(直接抄模板):校园经历:“负责班级每周大扫除统筹,分配清洁区域、协调&nbsp;3&nbsp;名同学分工,确保教室地面、门窗无死角清洁,连续&nbsp;1&nbsp;学期获得‘文明班级’称号”(体现:分工协作、细致认真、有责任心)兼职&nbsp;/&nbsp;生活经历:“暑假在小区做过&nbsp;1&nbsp;个月临时清洁兼职,负责楼道公共区域扫地、擦扶手,得到物业阿姨表扬‘做事不敷衍’”(体现:吃苦耐劳、服从安排、执行力强)技能&nbsp;/&nbsp;态度:“持有健康证,能接受早班&nbsp;/&nbsp;倒班,熟练使用吸尘器、抹布等基础清洁工具,做事有条理、不嫌脏累”(直击岗位核心要求)✅&nbsp;关键技巧:用&nbsp;“具体动作&nbsp;+&nbsp;结果&nbsp;/&nbsp;反馈”&nbsp;替代空话,比如不说&nbsp;“我很认真”,而说&nbsp;“清洁后经检查无残留,获得领导认可”。二、找实习渠道:0&nbsp;经验别瞎投!这&nbsp;3&nbsp;类渠道命中率最高(按靠谱度排序)熟人内推&nbsp;/&nbsp;现场直招(成功率&nbsp;80%)这是&nbsp;0&nbsp;经验最稳的方式!比如:找小区物业阿姨、商场保洁员打听,很多岗位优先内部介绍,不用走复杂流程,还能提前了解工作强度;直接去目标区域(写字楼、商场、小区)的物业办公室&nbsp;/&nbsp;招聘亭,带着简历和健康证(保洁&nbsp;/&nbsp;后勤必备),当面说&nbsp;“我想找短期实习,能吃苦、早班晚班都能上”,真诚比线上投递管用&nbsp;10&nbsp;倍!我当时就是小区阿姨推荐的写字楼保洁岗,直接跳过简历筛选,面试聊了&nbsp;5&nbsp;分钟就定了。企业直招渠道(避坑首选)优先选连锁物业、大型商场、学校后勤这些&nbsp;“正规军”,招聘信息直接从官方来,不被中介抽成:微信公众号:搜索&nbsp;“XX&nbsp;物业招聘”“XX&nbsp;商场后勤招聘”,很多短期岗会直接发在公众号上,留言或打电话就能投递;官网&nbsp;/&nbsp;现场海报:写字楼、商场的公告栏会贴招聘信息,写清楚薪资、工期、包不包吃住,直接按上面的联系方式联系。本地招聘平台(高效但要筛坑)58&nbsp;同城、BOSS&nbsp;直聘筛选&nbsp;“实习&nbsp;/&nbsp;短期”“保洁&nbsp;/&nbsp;后勤&nbsp;/&nbsp;行政助理”,重点看&nbsp;2&nbsp;点:必须选&nbsp;“企业认证”&nbsp;账号,避免中介以&nbsp;“岗前培训”“押金”&nbsp;为由骗钱(正规岗位绝不会收费!);投递时备注&nbsp;“0&nbsp;经验但能吃苦”“可立即到岗”“有健康证”(保洁岗必备,没办的先去疾控中心花&nbsp;1&nbsp;天搞定,花&nbsp;50-100&nbsp;元换面试机会超值)。
0经验如何找实习?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务