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

Day 21

目录

  • 1.AB32 【模板】哈夫曼编码
    • 1.1 解析
    • 1.2 代码
  • 2.DP36 abb
    • 2.1解析
    • 2.2 代码

1.AB32 【模板】哈夫曼编码

AB32 【模板】哈夫曼编码
堆、哈希、数组

1.1 解析

在这里插入图片描述

1.2 代码

#include <functional>
#include <iostream>
using namespace std;
#include <queue>
#include <vector>long long n,x,ret;
int main()
{cin>>n;priority_queue<long long,vector<long long>,greater<long long>> heap;//创建一个小根堆for(int i=0;i<n;i++){cin>>x;heap.push(x);}//构建最优二叉树while(heap.size()>1){long long a=heap.top();heap.pop();long long b=heap.top();heap.pop();ret+=a+b;heap.push(a+b);}cout<<ret<<endl;return 0;
}

2.DP36 abb

DP36 abb
动态规划、哈希

2.1解析

在这里插入图片描述

2.2 代码

#include <iostream>
using namespace std;
#include <string>typedef long long LL;
const int N=2e5+10;
LL f[26],g[26],dp[N];
int main()
{int n;string arr;cin>>n>>arr;LL ret=0;for(int i=0;i<n;i++){int x=arr[i]-'a';dp[i]=f[x];ret+=dp[i];f[x]=f[x]+i-g[x];g[x]+=1;}cout<<ret<<endl;return 0;
}
http://www.xdnf.cn/news/932869.html

相关文章:

  • 华为OD机考-机房布局
  • LLMs基础学习(八)强化学习专题(1)
  • 用 Lazarus IDE 写一个邮件客户端软件,能收发邮件,编写邮件
  • Django知识-视图
  • Go语言--语法基础5--基本数据类型--输入输出(1)
  • 【Go语言基础【17】】切片:一种动态数组
  • 如何利用 OpenCV 进行实时图像处理与对象检测
  • LeetCode - 560. 和为 K 的子数组
  • 持续交付的进化:从DevOps到AI驱动的IT新动能
  • 博图 SCL 编程技巧:灵活实现上升沿与下降沿检测案例分享(上)
  • Bootstrap 5学习教程,从入门到精通,Bootstrap 5 图像形状(Image Shapes)语法知识点及案例代码(8)
  • 基于 Transformer robert的情感分类任务实践总结之三——FGM
  • 从代码学习深度强化学习 - 多臂老虎机 PyTorch版
  • 【深度学习|学习笔记】自监督学习(Self-Supervised Learning, SSL)在遥感领域中的典型应用案例及其在小样本学习中的作用,附代码。
  • LeetCode --- 452周赛
  • 高保真组件库:按钮
  • GitHub 趋势日报 (2025年06月07日)
  • Langgraph实战-自省式RAG: Self-RAG
  • 材料力学速通
  • 北京工作周期7,8,9,10
  • 【react实战】如何实现监听窗口大小变化
  • 2025HNCTF - Crypto
  • webstorm 配置Eslint
  • Springboot 基于MessageSource配置国际化
  • C#调用Rust动态链接库DLL的案例
  • ​RBAC(基于角色的访问控制)权限管理详解
  • 学习日记-day24-6.8
  • 鸿蒙API自翻译
  • 70常用控件_QVBoxLayout的使用
  • 指针的使用——字符、字符串、字符串数组(char*)