【多媒体技术与实践】音频信息获取和处理——编程题汇总
1:音频信息数据量计算
已知采样频率(单位KHz)、量化位数、声道数及持续时间(单位分钟),求未压缩时的数据量(单位MB).
例如:
输入: 22.05 16 2 3 (空格分隔)
输出:15.1MB(保留小数点后一位)
#include <stdio.h>int main(){float freq,bit,path,time;scanf("%f %f %f %f",&freq,&bit,&path,&time);//cin>>freq>>bit>>path>>time;float memory=freq*1000*bit*path*time*60/8;memory/=1048576;printf("%.1fMB",memory);return 0;
}
注:此题注意最后需要加【MB】字样,否则无法ac。
2:采用算术编码给输入的字符序列进行编码,输出数值区间
该字符序列中含有a,b,c,d5个字符,输入为各字符的出现概率,及需要编码的字符序列,输出为算术编码区间(保留小数点后10位)。
例如:
输入:
0.2 0.3 0.1 0.15 0.25(空格分隔)
aaabded (待编码字符序列)
输出:
0.0033640000
0.0033775000
#include <iostream>
using namespace std;
#include <stdio.h>
#include <string.h>int main(){double a,b,c,d,e;cin>>a>>b>>c>>d>>e;char wait[100];scanf("%s",wait);double aa,bb,cc,dd,left=0,right=1;int len=strlen(wait);aa=a;bb=a+b;cc=a+b+c;dd=a+b+c+d;for(int i=0;i<len;i++){char t=wait[i];double gap=right-left;double myleft=left;if(t=='a'){right=gap*aa+myleft;}else if(t=='b'){left=gap*aa+myleft;right=gap*bb+myleft;}else if(t=='c'){left=gap*bb+myleft;right=gap*cc+myleft;}else if(t=='d'){left=gap*cc+myleft;right=gap*dd+myleft;}else{left=gap*dd+myleft;}}printf("%.10f\n%.10f",left,right);return 0;
}
3:对采用算术编码的符号序列进行译码,输出原始的符号序列
对于由a,b,c,d,e 5个符号组成的符号序列,输入各符号的出现概率及其算术编码,输出译码后的符号,符号长度是10位。
例如:
输入:
0.2 0.3 0.1 0.15 0.25 (空格分隔)
0.0033713425
输出:
aaabdedcbe
#include <iostream>
using namespace std;
#include <stdio.h>
#include <string.h>
/*
0.2 0.3 0.1 0.15 0.25
0.0033713425
*/int main(){double a,b,c,d,e,result;cin>>a>>b>>c>>d>>e;cin>>result;double aa,bb,cc,dd,left=0,right=1;aa=a;bb=a+b;cc=a+b+c;dd=a+b+c+d;char ret[100];int cnt=0;while(1){double gap=right-left;double node1=left+gap*aa;double node2=left+gap*bb;double node3=left+gap*cc;double node4=left+gap*dd;if(cnt==10){//left==rightbreak;}if(result>=left && result<node1){ret[cnt++]='a';right=node1;}else if(result>=node1 && result<node2){ret[cnt++]='b';left=node1;right=node2;}else if(result>=node2 && result<node3){ret[cnt++]='c';left=node2;right=node3;}else if(result>=node3 && result<node4){ret[cnt++]='d';left=node3;right=node4;}else{ret[cnt++]='e';left=node4;}}for(int i=0;i<cnt;i++){cout<<ret[i];}return 0;
}
相关文章:
【多媒体技术与实践】音频信息获取和处理——编程题汇总
1:音频信息数据量计算 已知采样频率(单位KHz)、量化位数、声道数及持续时间(单位分钟),求未压缩时的数据量(单位MB). 例如: 输入: 22.05 16 2 3 ÿ…...
堆优化迪氏最短单源路径原理及C++实现
时间复杂度 O(ElogE),E是边数。适用与稀疏图。 使用前提 边的权为正。可以非连通,非连通的距离为-1。 原理 优选队列(小根堆)记录两个数据:当前点到源点距离,当前点。先处理距离小的点;如果…...
Leetcode202. 快乐数
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1࿰…...
【MySQL】MySql常见面试题总结
目录 一、什么是sql注入 二、sql语句的执行流程 三、内连接和外连接的区别 四、Union和Union All 有什么区别 五、MySql如何取差集 六、DELETE和TRUNCATE有什么区别 七、count(*)和count(1)的区别 八、MyISAM和InnoDB的区…...
【Java 进阶篇】JDBC PreparedStatement 详解
在Java中,与关系型数据库进行交互是非常常见的任务之一。JDBC(Java Database Connectivity)是Java平台的一个标准API,用于连接和操作各种关系型数据库。其中,PreparedStatement 是 JDBC 中一个重要的接口,用…...
嵌入式Linux应用开发-驱动大全-第一章同步与互斥①
嵌入式Linux应用开发-驱动大全-第一章同步与互斥① 第一章 同步与互斥①1.1 内联汇编1.1.1 C语言实现加法1.1.2 使用汇编函数实现加法1.1.3 内联汇编语法1.1.4 编写内联汇编实现加法1.1.5 earlyclobber的例子 1.2 同步与互斥的失败例子1.2.1 失败例子11.2.2 失败例子21.2.3 失败…...
【计算机网络】 基于UDP的简单通讯(客户端)
文章目录 客户端流程代码实现添加头文件以及库依赖加载库创建套接字发送接收数据关闭套接字、卸载库 测试 客户端 流程 客户端跟服务端差不多,也要先加载库,在加载库之后也要创建套接字,但是客户端一定是没有绑定ip地址的,之后是…...
【云备份项目】:环境搭建(g++、json库、bundle库、httplib库)
文章目录 1. g 升级到 7.3 版本2. 安装 jsoncpp 库3. 下载 bundle 数据压缩库4. 下载 httplib 库从 Win 传输文件到 Linux解压缩 1. g 升级到 7.3 版本 🔗链接跳转 2. 安装 jsoncpp 库 🔗链接跳转 3. 下载 bundle 数据压缩库 安装 git 工具 sudo yum…...
电脑右键新建记事本不见了--设置恢复篇(无需操作注册表)
电脑右键新建记事本不见了–设置恢复篇(无需修改注册表) 电脑不知怎么想右键新建记事本结果竟然不见了,搜寻网上的都是什么修改注册表,粘贴代码修复(感觉太复杂了),这里介绍通过设置内重新对记…...
JavaScript内置对象 - Array数组(四)- 序列生成器
序列生成器是生成一个指定起始值和结束值的序列,并且根据指定间隔长度,生成序列数组。 完成此功能需要使用到Array内置对象的from()对象,以及类数组相关知识,前面几篇有相关案例进行演示。 地址一:JavaScript内置对象…...
GD32F103x IIC通信
1. IIC通信 1.IIC的介绍 IIC总线有两条串行线,其一是时钟线SCK(同步),其二是数据线SDA。只有一条数据线属于半双工。应用中,单片机常常作为主机,外围器件可以挂载多个。(当然主机也可以有多个。…...
什么是FOSS
FOSS 是指 自由和开放源码软件(Free and Open Source Software)。这并不意味着软件是免费的。它意味着软件的源代码是开放的,任何人都可以自由使用、研究和修改代码。这个原则允许人们像一个社区一样为软件的开发和改进做出贡献。...
C++语言GDAL批量裁剪多波段栅格图像:基于像元个数裁剪
本文介绍基于C 语言的GDAL模块,按照给定的像元行数与列数,批量裁剪大量多波段栅格遥感影像文件,并将所得到的裁剪后新的多波段遥感影像文件保存在指定路径中的方法。 在之前的文章中,我们多次介绍了在不同平台,或基于不…...
简单丝的tab切换栏(html/CSS)
#html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>CSS实现左右滑动选项卡效果</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-res…...
LabVIEW开发带式谱感测技术
LabVIEW开发带式谱感测技术 如今,通过无线网络传输的数据量正在迅速增加,并导致频谱稀缺。超过数十亿的无线设备将被连接起来,并需要互联网接入。因此,无线电频谱管理方案的效率不足以授予对所有设备的访问权限。在频谱分配中&am…...
认识柔性数组
在C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员 限制条件是: 结构体中最后一个成员未知大小的数组 1.柔性数组的形式 那么我们怎样写一个柔性数组呢 typedef struct st_type {int i;int a[0];//柔性数组成员 }ty…...
熔断、限流、降级 —— SpringCloud Alibaba Sentinel
Sentinel 简介 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 Sentinel 提供了两个服务组件…...
python经典百题之反向输出数字
题目:输入一个整数,并将其反转后输出。 程序分析 我们需要对输入的整数进行反转,即将整数的数字反向排列。 方法1:使用字符串反转 解题思路 将整数转换为字符串,然后对字符串进行反转。 代码实现 def reverse_integer_usin…...
复习Day08:哈希表part01:242.有效的字母异位词、349. 两个数组的交集、1. 两数之和、160. 相交链表
之前的blog:https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…...
用 Pytest+Allure 生成漂亮的 HTML 图形化测试报告
本篇文章将介绍如何使用开源的测试报告生成框架 Allure 生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍,你将能够: 将 Allure 与 Pytest 测试框架相结合; 如何定制化测试报告内容 执行测试之后,生成 Allure 格式的测…...
MTKClient实战指南:联发科设备深度操作与安全研究
MTKClient实战指南:联发科设备深度操作与安全研究 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient是一款功能强大的开源工具,专门用于联发科(M…...
TimescaleDB Helm Charts 项目停止维护后的应对策略与迁移指南
1. 项目概述与背景如果你正在Kubernetes上寻找一种可靠、可扩展的方式来部署时序数据库,那么TimescaleDB的Helm Charts项目曾经是一个绕不开的选项。这个由Timescale官方维护的仓库,旨在为开发者提供一套标准化的、声明式的部署方案,让你能通…...
GLM API配置管理工具glm-switch:告别手动切换,提升AI开发效率
1. 项目概述:一个为AI开发者设计的GLM API配置管理工具如果你和我一样,日常开发中需要频繁地在多个GLM(通用语言模型)API之间切换——比如在测试ChatGLM、Kimi、Minimax或者调试Claude Code的不同配置时——那你肯定对反复手动修改…...
AsyncRun.vim 项目根目录管理:智能识别和高效利用
AsyncRun.vim 项目根目录管理:智能识别和高效利用 【免费下载链接】asyncrun.vim :rocket: Run Async Shell Commands in Vim 8.0 / NeoVim and Output to the Quickfix Window !! 项目地址: https://gitcode.com/gh_mirrors/as/asyncrun.vim AsyncRun.vim 是…...
Windows系统mfc140.dll文件丢失无法启动程序解决
在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…...
有桥BOOST PFC变换器原理、工作模式和控制模式的优缺点
前言在现代电力电子设备中,功率因数校正(PFC)技术已经成为不可或缺的核心环节。随着全球各国对电网谐波污染的管控日益严格(如 IEC 61000-3-2 标准,对各类用电设备的谐波电流发射施加严格限值;例如对于功率…...
知识图谱与量化LLM协同架构解析与应用
1. 知识图谱与量化LLM协同架构解析在自然语言处理领域,知识图谱(KG)与大型语言模型(LLM)的协同正展现出独特价值。这种架构的核心在于发挥两者的互补优势:KG提供结构化、可验证的语义网络,而LLM…...
搞定气象数据的基础统计与可视化
是不是看着一堆气象原始数据就头大? 不会处理、不会统计、更不会做可视化图表? 其实根本不用懂编程、不用啃复杂专业知识,普通小白也能零基础玩转气象数据,从数据整理、基础统计到出专业好看的成品图,新手也能一键拿…...
设计师连夜删稿的真相:Onion Skin未启用导致版本错位!3分钟紧急修复+历史帧自动锚定脚本
更多请点击: https://intelliparadigm.com 第一章:设计师连夜删稿的真相:Onion Skin未启用导致版本错位!3分钟紧急修复历史帧自动锚定脚本 当动画师在 Toon Boom Harmony 或 Adobe Animate 中反复导出“看似正确”的中间帧&#…...
深入STM32F429 LTDC双图层与DMA2D:打造流畅UI界面的性能优化指南
STM32F429 LTDC与DMA2D深度优化:构建60FPS工业级UI的实战指南 在工业HMI和医疗设备等对显示性能要求严苛的场景中,流畅的UI动画和实时数据可视化往往成为系统瓶颈。STM32F429的LTDC控制器配合DMA2D加速器,通过合理的架构设计可实现媲美专业GP…...
