Acwing枚举、模拟与排序(一)
连号区间数
原题链接:https://www.acwing.com/problem/content/1212/
初始最小值和最大值的依据是题目给出的数据范围。只要在数据范围之外就可以。
连号的时候,相邻元素元素之间,差值为1。那么区间右边界和左边界,的值的差,就应该等于下标索引的差值。
#include"bits/stdc++.h"using namespace std;
int P[10010];
int N;int main() {cin >> N;for (int i = 0; i < N; i++)cin >> P[i];int res = 0;for (int i = 0; i < N; i++) {int minn = 10010;int maxx = 0;for (int j = i; j < N; j++) {minn = min(minn, P[j]);maxx = max(maxx, P[j]);if (maxx - minn == j - i)res++;}}cout << res;return 0;
}
递增三元组
原题链接:https://www.acwing.com/problem/content/1238/
如果选择暴力,那么复杂度是三次方。
数据范围是1e5,这时间复杂度是不被允许的。(暴力杯或许可以)
时间复杂度应控制到 n log n n\log n nlogn,意味着最多只能枚举一个数组。
枚举A或C是等价的,都是在两边。
以A为例,枚举A的时候,在考虑B和C的时候,B和C都不是完全独立的,B和C之间有相互限制。统计数量的时候不能用简单的乘法相乘。
如果选择枚举B,那么A和C之间是相互独立的。 A的判断条件就是小于B,C的判断条件就是大于B。
当前B的取值的合法三元组的数量,就是合法的A的数量乘合法的C的数量。
那么现在的问题就是求合法的A和合法的C的数量。
前缀和
需要两个数组:
cnt[i]:表示在A中i这个值出现多少次S[i]:表示在A中[0,i]出现多少次
求A中多少个数小于Bi,就是求S[Bi-1]的值。
求C中多少个数大于Bi,就是求S[N-Bi]的值,N为数据范围的最大值。
前缀和的时间复杂度为n。
#include"bits/stdc++.h"using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int a[N], b[N], c[N];
int as[N], cs[N];
int cnt[N], s[N];
int n;int main() {scanf("%d", &n);for (int i = 0; i < n; i++)scanf("%d", a + i), a[i]++;for (int i = 0; i < n; i++)scanf("%d", b + i), b[i]++;for (int i = 0; i < n; i++)scanf("%d", c + i), c[i]++;for (int i = 0; i < n; i++) cnt[a[i]]++;for (int i = 1; i < N; i++)s[i] = s[i - 1] + cnt[i];for (int i = 0; i < n; i++)as[i] = s[b[i] - 1];memset(cnt, 0, sizeof cnt);memset(s, 0, sizeof s);for (int i = 0; i < n; i++) cnt[c[i]]++;for (int i = 1; i < N; i++)s[i] = s[i - 1] + cnt[i];for (int i = 0; i < n; i++)cs[i] = s[N - 1] - s[b[i]];LL res = 0;for (int i = 0; i < n; i++) res += (LL) as[i] * cs[i];cout << res << endl;return 0;
}
特别数的和
原题链接:https://www.acwing.com/problem/content/1247/
一道简单模拟,for循环的范围参考题目给的数据范围。
#include"bits/stdc++.h"using namespace std;int n, res;int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {int x = i;while (x) {int t = x % 10;x /= 10;if (t == 2 || t == 0 || t == 1 || t == 9) {res += i;break;}}}cout << res << endl;return 0;
}
错误票据
原题链接:https://www.acwing.com/problem/content/1206/
排序
#include"bits/stdc++.h"using namespace std;
int n;
int a[100010];int main() {int cnt;cin >> cnt;string line;getline(cin, line);while (cnt--) {getline(cin, line);stringstream ssin(line);while (ssin >> a[n++]);}sort(a, a + n);int res1, res2;for (int i = 1; i < n; i++) {if (a[i] == a[i - 1])res2 = a[i];else if (a[i] >= a[i - 1] + 2)res1 = a[i] - 1;}printf("%d %d", res1, res2);return 0;
}
忽略行数读入
#include"bits/stdc++.h"using namespace std;
int n;
int a[100010];int main() {int cnt;cin >> cnt;int maxx=0,minn=1e5;while(cin>>n){a[n]++;maxx=max(maxx,n);minn=min(minn,n);}int res1,res2;for(int i=minn;i<=maxx;i++){if(a[i]==0)res1=i;else if(a[i]==2)res2=i;}printf("%d %d",res1,res2);return 0;
}
归并排序
原题链接:https://www.acwing.com/problem/content/789/
#include"bits/stdc++.h"using namespace std;
int n;
int q[100010], tmp[100010];void merge_sort(int q[], int l, int r) {if (l >= r)return;int mid = l + r >> 1;merge_sort(q, 1, mid), merge_sort(q, mid + 1, r);int k = 0, i = l, j = mid + 1;while (i <= mid && j <= r) {if (q[i] <= q[j])tmp[k++] = q[i++];else tmp[k++] = q[j++];}while (i <= mid)tmp[k++] = q[i++];while (j <= r)tmp[k++][q++];for (i = l, j = 0; i <= r; i++, j++)q[i] = tmp[i];
}int main() {scanf("%d", &n);for (int i = 0; i < n; i++)scanf("%d", q + i);merge_sort(q, 0, n - 1);for (int i = 0; i < n; i++)printf("%d ", q[i]);return 0;
}
移动距离
原题链接:https://www.acwing.com/problem/content/description/1221/
- 曼哈顿距离: ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ |x_1-x_2|+|y_1-y_2| ∣x1−x2∣+∣y1−y2∣
- 欧几里得距离: ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{(x_1-x_2)^2+(y_1-y_2)^2} (x1−x2)2+(y1−y2)2
这道题求的是曼哈顿距离。
行号:n/w
列号:n%w
下标从零开始,如果行号是奇数,那么应将列号翻转。
找到了一种新的判断奇偶的方式:x&1
相关文章:
Acwing枚举、模拟与排序(一)
连号区间数 原题链接:https://www.acwing.com/problem/content/1212/ 初始最小值和最大值的依据是题目给出的数据范围。只要在数据范围之外就可以。 连号的时候,相邻元素元素之间,差值为1。那么区间右边界和左边界,的值的差&#…...
MySQL的主从同步原理
MySQL的主从同步(也称为复制)是一种数据同步技术,用于将一个MySQL服务器(主服务器)上的数据和变更实时复制到另一个或多个MySQL服务器(从服务器)。这项技术支持数据备份、读写分离、故障恢复等多…...
naive-ui-admin 表格去掉工具栏toolbar
使用naive-ui-admin的时候,有时候不需要显示工具栏,工具栏太占地方了。 1.在src/components/Table/src/props.ts 里面添加属性 showToolbar 默认显示,在不需要的地方传false。也可以默认不显示 ,这个根据需求来。 2.在src/compo…...
C++之结构体
结构体 //一、结构体的概念、定义和使用 // 概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 #include<iostream> using namespace std; #include<string> //1.创建学生数据类型:学生包括(姓名&am…...
分布式ID选型对比(1)
常见的几种ID生成方式对比: 种类 全局唯一 高性能 高可用 趋势递增 中心服务 缺点 UUID 是 高(本地生成,(无网络开销) 低(无序,不适用) 否 否 无序、字符串 数据库自增 单表唯一 中 中(宕机就会使业务服务中断) 是 否 安全性差,能猜出来规律 对于分库分表场景无法唯一 数据库自…...
T-SQL 高阶语法之存储过程
一:存储过程概念 预先存储好的sql程序,通过名称和参数进行执行,供应程序去调用,也可以有返回结果,存储过程可以包含sql语句 可以包含流程控制、逻辑语句等。 二:存储过程的优点 执行速度更快 允许模块化…...
解决鸿蒙模拟器卡顿的问题
缘起 最近在学习鸿蒙的时候,发现模拟器非常卡,不要说体验到鸿蒙的丝滑,甚至到严重影响使用的程度。 根据我开发Android的经验和在论坛翻了一圈,最终总结出了以下几个方案。 创建模拟器 1、在DevEco Virtual Device Configurat…...
【LeetCode每日一题】【BFS模版与例题】863.二叉树中所有距离为 K 的结点
BFS的基本概念 BFS 是广度优先搜索(Breadth-First Search)的缩写,是一种图遍历算法。它从给定的起始节点开始,逐层遍历图中的节点,直到遍历到目标节点或者遍历完所有可达节点。 BFS 算法的核心思想是先访问当前节点的…...
设计模式-结构模式-装饰模式
装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 //首先,定义一个组件接口: public in…...
MySQL:一行记录如何
1、表空间文件结构 表空间由段「segment」、区「extent」、页「page」、行「row」组成,InnoDB存储引擎的逻辑存储结构大致如下图: 行 数据库表中的记录都是按「行」进行存放的,每行记录根据不同的行格式,有不同的存储结构。 页…...
‘grafana.ini‘ is read only ‘defaults.ini‘ is read only
docker安装grafana 关闭匿名登录情况下的免密登录遇到问题 grafana.ini is read only defaults.ini is read only 参考回答(Grafana.ini giving me the creeps - #2 by bartweemaels - Configuration - Grafana Labs Community Forums) 正确启动脚本 …...
博途PLC 面向对象系列之“输送带控制功能块“(SCL代码)
这篇是面向对象系列之"输送带功能块"的封装,面向对象是系列文章,相关链接如下: 1、面向对象系列之找"对象" https://rxxw-control.blog.csdn.net/article/details/136150027https://rxxw-control.blog.csdn.net/article/details/1361500272、面向对象…...
2024-02学习笔记
1.当我们向Set集合中添加一个已经存在的元素时 当我们向Set集合中添加一个已经存在的元素时,Set集合会如何处理呢?实际上,Set集合不会将重复的元素添加到集合中。当我们向Set集合中添加一个元素时,Set集合会首先判断该元素是否已…...
最新消息:英特尔宣布成立全新独立运营的FPGA公司——Altera
今天,英特尔宣布成立全新独立运营的FPGA公司——Altera(2015年6月Intel以 167 亿美元的价格,收购FPGA厂商Altera)。首席执行官Sandra Rivera和首席运营官Shannon Poulin分享展示其在超过550亿美元的市场中保持领先性的战略规划&am…...
RC正弦波振荡电路
RC正弦波振荡电路 RC正弦波振荡电路又称文氏电桥振荡电路,可以设计频率为f1/2πRC的正弦波发生器。 RC正弦波振荡电路设计:50Hz,振幅为3.47V 电路分析: 1.起振条件取决于R1, R4,R2与1N4148并联电阻(下面简称Rf&#…...
【Git学习笔记】提交PR
step1 克隆一个仓库 git clone .....step2 创建一个分支 (Creating a branch) # 创建并切换到本地新分支,分支的命名尽量简洁,并与解决的问题相关 git checkout -b delete-unused-linkstep3 做出修改 (Make changes) step4 提交修改 # 保存本地修…...
线程池的相关参数
在Java中线程池是一种池化技术,用于管理和复用线程,提高线程的利用率和性能。下面是一些常见的线程池的参数及其解释: 一:线程池的七大参数 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTim…...
图书推荐||Word文稿之美
让你的文档从平凡到出众! 本书内容 《Word文稿之美》是一本全面介绍Word排版技巧和应用的实用指南。从初步认识数字排版到高效利用模板、图文配置和表格与图表的排版技巧,再到快速修正错误和保护文件,全面系统地讲解数字排版的技术和能力&…...
前端导出word文件的多种方式、前端导出excel文件
文章目录 纯前借助word模板端导出word文件 (推荐)使用模板导出 前端通过模板字符串导出word文件前端导出 excel文件,node-xlsx导出文件,行列合并 纯前借助word模板端导出word文件 (推荐) 先看效果…...
Linux和Windows操作系统在腾讯云幻兽帕鲁服务器上的内存占用情况如何?
Linux和Windows操作系统在腾讯云幻兽帕鲁服务器上的内存占用情况如何? 对于Linux操作系统,有用户分享了个人最佳实践来解决内存问题,包括使用Linux脚本让服务器每天重启一次,以及建议在不需要时尽量减少虚拟内存的使用。此外&…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
