当前位置: 首页 > news >正文

笔试强训(十七)

文章目录

  • 活动安排
    • 题解
    • 代码
  • 哈夫曼编码
    • 题解
    • 代码
  • 奇数位丢弃
    • 题解
    • 代码

在这里插入图片描述

活动安排

题目链接
在这里插入图片描述

题解

1. 区间贪心 + 排序
2. 如果有重叠部分,每次选择右端点较小的,可以尽可能多的选择区间个数,如果没有重叠部分,选择下一个区间的右端点为基准,重复刚刚的操作

在这里插入图片描述

代码

#include <iostream>
#include<algorithm>
using namespace std;const int N = 2e5 + 10;
typedef pair<int,int> PII;
PII a[N];int main()
{int n;cin >> n;for(int i = 0;i < n;i++) cin >> a[i].first >> a[i].second;sort(a,a+n);int ret = 0,r = a[0].second;for(int i = 1;i < n;i++){// 有重叠if(a[i].first < r){r = min(r,a[i].second);}else // 没有重叠{ret++;r = a[i].second;}}// 未记录第一个区间所以加1cout << ret + 1 << '\n';return 0;
}

哈夫曼编码

题目链接
在这里插入图片描述

题解

1. 哈夫曼编码,利用字符出现的频次构建一个二叉树,每次选择频次最小的两个数构建二叉树,根据最优二叉树编码
2. 把题目中数出现的频次放入一个小根堆中,每次取两个数相加放入堆中,然后此时也计算最短长度,直到堆中仅剩一个元素时,得到最短长度

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码

#include <iostream>
#include<queue>
using namespace std;const int N = 2e5 + 10;
int a[N];int main()
{// 小根堆priority_queue<long long,vector<long long>,greater<long long>> pq;int n;cin >> n;for(int i = 0;i < n;i++){cin >> a[i];pq.push(a[i]);}long long count = 0;while(pq.size() != 1){long long a = pq.top();pq.pop();long long b = pq.top();pq.pop();count += a;count += b;pq.push(a + b);}cout << count << '\n';return 0;
}

奇数位丢弃

题目链接
在这里插入图片描述

题解

1. 找规律
2. 可以看出每次删除的第一个数是2^n - 1,
求2 ^ x - 1 <= n中x的最大值就是最后剩下的数

在这里插入图片描述

代码

#include <iostream>
#include<math.h>
using namespace std;int main()
{int n;while(cin >> n){int x = 0;long long ret = 1;while(ret <= n + 1){ret += pow(2,x);x++; }cout << pow(2,x-1) - 1 << '\n';}return 0;
}#include <iostream>
using namespace std;int main()
{int n;while(cin >> n){int ret = 1;while(ret - 1 <= n) ret *= 2;cout << ret / 2 - 1 << '\n';}return 0;
}

文章转载自:
http://arco.pzdurr.cn
http://bvi.pzdurr.cn
http://aztec.pzdurr.cn
http://bespangled.pzdurr.cn
http://butene.pzdurr.cn
http://antimony.pzdurr.cn
http://aluminium.pzdurr.cn
http://aethereally.pzdurr.cn
http://actinicity.pzdurr.cn
http://augmentor.pzdurr.cn
http://belock.pzdurr.cn
http://affectivity.pzdurr.cn
http://cantatrice.pzdurr.cn
http://altiplano.pzdurr.cn
http://anglic.pzdurr.cn
http://capacitron.pzdurr.cn
http://australopithecine.pzdurr.cn
http://belfried.pzdurr.cn
http://boeotia.pzdurr.cn
http://cauld.pzdurr.cn
http://abhorrence.pzdurr.cn
http://bravo.pzdurr.cn
http://chicane.pzdurr.cn
http://astable.pzdurr.cn
http://bechamel.pzdurr.cn
http://chondral.pzdurr.cn
http://aphonia.pzdurr.cn
http://antiradical.pzdurr.cn
http://allozyme.pzdurr.cn
http://antagonism.pzdurr.cn
http://www.dtcms.com/a/188413.html

相关文章:

  • JMeter同步定时器 模拟多用户并发访问场景
  • Google Earth Engine(GEE) 代码详解:批量计算_年 NDVI 并导出(附 Landsat 8 数据处理全流程)
  • Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解
  • Python爬虫实战:研究JavaScript 环境补全逆向解密
  • 大模型MCP_MCP从流式SSE到流式HTTP_1.8.0支持流式HTTP交互_介绍_从应用到最优--人工智能工作笔记0245
  • 黑马Java跟学.最新AI+若依框架项目开发(一)
  • 手搓传染病模型(SEIARW)
  • AcroForm 格式化文本(域)字段
  • HttpSession 的运行原理
  • 2025-05-13 学习记录--Python-循环:while循环 + for循环 + 循环控制
  • Flannel vxlan模式的优缺点
  • 线性投影层---将输入特征从一个空间映射到另一个空间
  • 数据库数据清洗、预处理与质量监控、 数据质量的核心概念
  • AFFS2 的 `yaffs_ext_tags` 数据结构详解
  • LlamaIndex 第八篇 MilvusVectorStore
  • 学习黑客Windows 注册表编辑器详解
  • 无人机俯视风光摄影Lr调色预设,手机滤镜PS+Lightroom预设下载!
  • 漏桶算法的实际应用案例:数据库批量写入流量控制
  • 【SpringBoot】集成kafka之生产者、消费者、幂等性处理和消息积压
  • (顺序表、单链表、双链表)==>一篇解决!(Java版)
  • 网安学途—流量分析 attack.pcap
  • 豌豆 760 收录泛滥现象深度解析与应对策略
  • 常见排序算法及复杂度分析
  • 中国区adsense接收pin码,身份验证和地址验证指南
  • Linux:进程控制2
  • django扩展练习记录
  • 【工作记录】Kong Gateway入门篇之简介
  • 用AI制作黑神话悟空质感教程,3D西游记裸眼效果,西游人物跳出书本
  • 大数据——解决Matplotlib 字体不足问题(Linux\mac\windows)
  • 考研复习全年规划