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

网站屏蔽收录企业培训系统app

网站屏蔽收录,企业培训系统app,惠州seo建站,网站搭建设计合同离散化 在C中,离散化通常指的是将连续的数值或数据转化为离散的形式。这在数值分析、信号处理、图像处理和机器学习等领域都非常常见。以下是一些离散化的基本概念和方法: 1.区间划分: 将连续变量的值域分成多个区间,每个区间对…

离散化

在C++中,离散化通常指的是将连续的数值或数据转化为离散的形式。这在数值分析、信号处理、图像处理和机器学习等领域都非常常见。以下是一些离散化的基本概念和方法:

1.区间划分:

将连续变量的值域分成多个区间,每个区间对应一个离散的值。例如,将浮点数分成若干个区间,可以用区间的中点、边界或其他代表值来替代该区间内的所有值。

2.量化:

在信号处理中,量化是将连续信号转换为离散信号的过程。可以使用固定点数表示或浮点数表示。

3.

插值与样本选择:在离散化过程中,可以通过插值技术生成离散样本,或选择数据集中的特定样本点。
在这里插入图片描述
前缀和算法
二分查找

我们来看一道题可以帮助我们更好的理解这个算法

在这里插入图片描述
Acwing804.区间和
我们举个例子:
在这里插入图片描述
我们现在根据题来看,题中是进行了3次读操作3次写操作。
在这里插入图片描述

代码如下:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;const int N = 300010;
int n, m;        // n 表示插入操作的数量,m 表示查询操作的数量
int a[N];        // 用于存储每个离散化后位置的值
int s[N];        // 前缀和数组
vector<int> alls; // 用于存储所有需要离散化的坐标
vector<pair<int, int>> add, query; // 分别存储插入操作和查询操作// 二分查找,找到 x 在 alls 中对应的位置(离散化)
int find(int x)
{int l = 0, r = alls.size() - 1;while (l < r){int mid = l + r >> 1;if (alls[mid] >= x)  // 如果中间值大于等于 x,右边界缩小r = mid;else                 // 否则左边界增大l = mid + 1;}return r + 1;  // 返回离散化后的索引(从 1 开始)
}int main()
{// 读取插入操作和查询操作cin >> n >> m;for (int i = 1; i <= n; i++){int x, c;cin >> x >> c;alls.push_back(x);          // 收集需要离散化的 x 坐标add.push_back({x, c});      // 保存插入操作}  for (int i = 1; i <= m; i++){int l, r;cin >> l >> r;alls.push_back(l);          // 收集查询范围的左端点alls.push_back(r);          // 收集查询范围的右端点query.push_back({l, r});    // 保存查询操作}// 去重并排序,完成离散化准备sort(alls.begin(), alls.end());                          // 将所有的坐标排序alls.erase(unique(alls.begin(), alls.end()), alls.end()); // 去重/*unique 函数用于 移除相邻的重复元素,它并不真正删除元素,而是将重复的元素移动到容器的末尾部分,函数返回一个迭代器,该迭代器指向新容器末尾的下一个位置(即去重后第一个“无效”元素的位置)。前提条件:为了让 unique 正确工作,输入的容器必须是有序的,即相等的元素必须相邻。因此,在调用 unique 之前,通常要先对容器进行排序(sort)。alls.begin() 是 alls 数组的起始位置。alls.end() 是 alls 数组的末尾位置(不包括最后一个元素)。unique(alls.begin(), alls.end()) 将相邻的重复元素移动到容器末尾,并返回一个新的迭代器 new_end,该迭代器指向去重后有效数据的末尾。*/// 处理插入操作for (auto item : add){int x = find(item.first); // 找到 x 在离散化后的索引a[x] += item.second;      // 在离散化后的位置上加上对应的值}// 计算前缀和for (int i = 1; i <= alls.size(); i++){s[i] = s[i - 1] + a[i];  // 通过累加前缀和数组得到区间的和}// 处理查询操作for (auto item : query){int l = find(item.first);  // 找到 l 在离散化后的索引int r = find(item.second); // 找到 r 在离散化后的索引cout << s[r] - s[l - 1] << endl; // 输出区间 [l, r] 的和,并换行}return 0;
}

离散化代码源码

http://www.hkea.cn/news/560816/

相关文章:

  • 佛山做外贸网站代理商百度收录技术
  • 公司网站建设需要什么今日热搜第一名
  • 烟台建设企业网站网站快速收录入口
  • 怎么做繁体字网站网络营销公司注册找哪家
  • 做ppt介绍网站吗网站搜索引擎优化工具
  • 深圳网站建设有没有市场百度搜索推广的五大优势
  • 网站建设好的图片百度互联网营销
  • 柳州网站制作公司seo优化什么意思
  • 网站建设做的好的公司淘宝关键词优化怎么弄
  • 手机网站用模版方象科技的企业愿景
  • 沈阳网站建设技术公司排名公司市场营销策划方案
  • 赣州网站建设怎样石家庄最新消息
  • 公司注册地址和经营地址不一致可以吗长春seo招聘
  • 好的做问卷调查的网站好推广有奖励的app平台
  • 有专业设计网站吗百度指数与百度搜索量
  • 网站的整体结构百度云网盘资源搜索引擎入口
  • 咸阳网站建设哪家专业杭州优化公司在线留言
  • 地板网站建设门户网站
  • 新增备案网站负责人人工智能培训心得体会
  • 帮境外赌场做网站是否有风险百度企业号
  • 网站换了服务器百度seo排名优化公司哪家好
  • 海南网站建设制作网络营销效果评估
  • 飞阳建设网站上海广告公司
  • 营销网站导航栏常见网站搜索排名靠前
  • 深圳市政府网站官网百度地图疫情实时动态
  • 上海建设工程咨询网 首页深圳优化排名公司
  • 杭州哪个网站建设最好做网站的网络公司
  • 制作一个网站步骤东莞网络营销销售
  • 专业的营销网站建设公司百度联盟注册
  • 机械类网站用什么做背景指数运算法则