算法C++

枚举

1.化段为点

前缀和             eg:给一个数列,算x到y个数的和

#include <iostream>
#include <vector>
using namespace std;int main()
{int n;cin>>n;vector<int> a(n);vector<int> sum(n+1,0);for(int i=0;i<n;i++){scanf("%d",&a[i]);sum[i+1]=sum[i]+a[i];}int x,y;cin>>x>>y;cout<<sum[y]-sum[x-1];}

给一段数字,q次访问,每次对[x,y]区间进行加减x,最后再重新给出新的一段数字

#include <iostream>
#include <vector>
using namespace std;int main()
{int n;cin>>n;vector<int> a(n+1,0);vector<int> cha(n+1,0);for(int i=1;i<=n;i++){scanf("%d",&a[i]);cha[i-1]=a[i]-a[i-1]; }int q;cin>>q;for(int i=0;i<q;i++){int x,y,z;cin>>x>>y>>z;cha[x-1]+=z;cha[y]-=z;}for(int i=1;i<=n;i++){a[i]=a[i-1]+cha[i-1];cout<<a[i]<<endl;}
}

n棵树,q次砍树区间为[x,y],求之后树总数量

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;struct sb
{int pos,num;
};bool compare(sb x,sb y)
{if(x.pos == y.pos ){return x.num < y.num ;}return x.pos < y.pos ;
}int main()
{int n,q;cin>>n>>q;vector<sb> a(q*2);for(int i=0;i<q;i++){int x,y;cin>>x>>y;if(x>y){int t=x;x=y;y=t;}a[i].pos=x-1;a[i].num=1;a[i+q].pos=y;a[i+q].num=-1;}sort(a.begin() , a.end() ,compare);int cnt=a[0].pos;int b=0;for(int i=0;i<q*2;i++){b=b+a[i].num;if(b==1&&a[i].num==1&&i>0){cnt+=a[i].pos-a[i-1].pos;}}cnt+=n-a[2*q-1].pos;cout<<cnt+1;} 

 输入n个数,有m区间可以缓存,求需要存多少

#include<iostream>using namespace std;int main()
{int n,m,cnt=0;cin>>n>>m;int v[n],a[n];for(int i=0;i<n;i++){int x;cin>>x;if(v[x]==1){continue;}a[cnt++]=x;v[x]=1;if(cnt>m){v[a[cnt-m-1]]==0;}}cout<<cnt;
}

追逐法/双指针法/尺量法/蚯蚓法:一缩一进

#include<iostream>
#include <algorithm>
using namespace std;int main()
{int n,s;cin>>n>>s;int a[n];for(int i=0;i<n;i++){scanf("%d",&a[i]);}int len=n+1,r=0;int sum=0;for(int l=0;l<n;l++){while(r<n&&sum<s){sum+=a[r];r++;}if(sum>=s){len=min(r-l,len);}else{break;}sum-=a[l];}if(len>n){printf("0");}else{printf("%d",len);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

047-WEB攻防-PHP应用文件上传函数缺陷条件竞争二次渲染黑白名单JS绕过

047-WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过 #知识点&#xff1a; 1、PHP-原生态-文件上传-检测后缀&黑白名单 2、PHP-原生态-文件上传-检测信息&类型内容 3、PHP-原生态-文件上传-函数缺陷&逻辑缺陷 4、PH…

Window系统部署Z-blog并结合内网穿透实现远程访问本地博客站点

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Spring Task的应用

介绍 Spring Task是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 定位&#xff1a; 定时任务框架 作用&#xff1a; 定时自动执行某段Java代码 应用场景&#xff1a; 引用卡每月还款提醒、银行贷款每月还款提醒、火车票售票系统处理未支…

有序链表的合并

已知线性表 LA 和 LB 中的数据元素按值非递减有序排列&#xff0c;现要求将 LA 和 LB 归并为一个新的线性表 LC&#xff0c; 且 LC 中的数据元素仍然按值非递减有序排列。例如&#xff0c;设LA(3,5,8,11) ,LB(2,6,8,9,11,15,20) 则LC(2,3,6,6,8,8,9,11,11,15,20) 输入格式 有…

文件的写出操作

1. 文件不存在&#xff0c;创建文件后写出方法: <1>打开文件&#xff1a;open()方法是文件不存在时创建文件 file open("D:/test.txt","w",encoding"UTF-8")<2>写出文件: file.write("please open your book") #内容写到内…

文献速递:深度学习--应用深度学习到DaTscan SPECT图像以改善帕金森病运动结果预测

文献速递&#xff1a;深度学习–应用深度学习到DaTscan SPECT图像以改善帕金森病运动结果预测 Title 题目 Improved motor outcome prediction in Parkinson’s disease applying deep learning to DaTscan SPECT images 应用深度学习到DaTscan SPECT图像以改善帕金森病运动…

unity学习(42)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——服务器收包2

1.解决上一次留下的问题&#xff1a; log和reg的时候也有session&#xff0c;输出看一下这两个session是同一个不&#xff1a; 实测结果reg log accOnline中的session都是同一个对象&#xff0c;但是getAccid时候的session就是另一个了。 测试结果&#xff0c;说明在LogicHan…

SpringCloud--Sentinel基本概念介绍

一、Sentinel 简介 Spring Cloud Sentinel 是阿里巴巴开源的面向分布式服务、多语言异构化服务架构的流量治理组件。主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 …

C#三元运算符(ternary operator)

在C#中&#xff0c;三元运算符&#xff08;ternary operator&#xff09;是一种简洁的条件表达式&#xff0c;它允许根据条件的结果选择性地返回两个表达式中的一个值。 三元运算符的语法如下&#xff1a; condition ? expression1 : expression2其中&#xff0c;condition …

Linux信号【保存-处理】

目录 前言&#xff1a; 1、再次认识信号 1.1、概念 1.2、感性理解 1.3、在内核中的表示 1.4、sigset_t 信号集 2、信号集操作函数 2.1、增删改查 2.2、sigprocmask 2.3、sigpending 3.信号的处理机制 3.1处理情况 3.2合适时机 4用户态与内核态 4.1、概念 4.2、…

【Java程序设计】【C00322】基于Springboot的高校竞赛管理系统(有论文)

基于Springboot的高校竞赛管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校竞赛管理系统&#xff0c;本系统有管理员、老师、专家以及用户四种角色&#xff1b; 管理员&#xff1a;首页、个人中心、管…

幻兽帕鲁(1.5.0)可视化管理工具(0.5.7 docker版)安装教程

文章目录 局域网帕鲁服务器部署教程帕鲁服务可视化工具安装配置服务器地址&#xff08;可跳过&#xff09;使用工具管理面板 1.5.0服务端RCON错误1.5.0服务端无法启动RCON端口 解决方法第一步&#xff1a;PalWorldSettings.ini配置第二步&#xff1a;修改PalServer.sh配置 局域…

【java】java引入google验证

1. maven引入 <dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.0</version></dependency>2. google 工具类 import org.apache.commons.codec.binary.Base32 import org.apache…

Neo4j 数据冷备

1、数据备份 进入图谱程序所在目录bin/下&#xff0c;执行&#xff1a; neo4j-admin dump --databasegraph.db --topath/***.dump注&#xff1a;path为备份dump文件创建路径&#xff0c;需注意文件的读写权限 2、数据恢复 将文件传输到需恢复的图谱机器上&#xff0c;执行&…

【Elasticsearch索引】Recovery恢复索引

文章目录 索引恢复恢复列表获取恢复信息响应详细信息正在进行的恢复响应解析高级设置 本地分片恢复事务日志 索引恢复 索引恢复提供了对正在进行的索引分片恢复的洞察。恢复状态可以针对特定的索引报告&#xff0c;也可以在集群范围内报告。 恢复列表 recovery命令是索引分片…

C++类模板详解

目录 1.模板的概念 2.类模板 1.类模板基本语法 2.类模板与函数模板区别 3.类模板中成员函数创建时机 4.类模板对象做函数参数 typeid&#xff08;&#xff09;.name() 5.类模板与继承 6.类模板成员函数类外实现 7.类模板分文件编写 #pragma once 8.类模板与友元 1.…

企业有了ERP,为什么还要上BI?

在我们以往和企业的沟通过程中&#xff0c;我们发现还是有相当多的一部分企业对于商业智能 BI 了解不多&#xff0c;或者对商业智能 BI 的理解仅停留在花花绿绿的可视化页面上&#xff0c;要么就是提出以下类似问题&#xff1a; 财务部门&#xff1a;BI 的财务分析指标也就是三…

【算法分析与设计】最大二叉树

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最…

linux rm -rf 报错badly placed ()‘s

在文件名或路径中包含了不当的字符而导致的 1.使用转义字符 可以在特殊字符前面加上反斜杠&#xff08;\&#xff09;进行转义&#xff0c;以避免它们被解释为特殊字符。删除包含括号的文件 rm -rf 文件\(1\).zip2.使用引号或单引号 可以将文件名或路径用引号或单引号括起来&a…

【C#】SixLabors.ImageSharp和System.Drawing两者知多少

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握。…