- 创建linux端口映射连接小网
Jaliang_
linux服务器运维
方法1:在执行机上配置SSH服务端转发这个做法是在执行机上配置一个常驻SSH隧道,把大网的某个端口长期转发到小网单板的22端口。操作步骤1️⃣在执行机上创建一个systemd服务假设:单板IP:192.168.1.10单板SSH端口:22执行机开放端口:2222(这个是外网访问用的端口)在执行机上编辑一个systemdunit:sudonano/etc/systemd/system/soc-bo
- 智能喷洒机器人目标识别系统:基于NanoDet的目标检测与UI界面实现
YOLO实战营
机器人目标检测uiNanoDet计算机视觉目标跟踪深度学习
在现代农业生产中,自动化喷洒系统是实现精准农业的重要组成部分。智能喷洒机器人通过图像识别和自动控制技术,能够高效识别并精确喷洒农药、肥料等,提高农业生产效率,降低化学品使用量,减少环境污染。目标识别是智能喷洒机器人中至关重要的部分,它涉及到精准的作物和病虫害识别,确保喷洒操作的准确性。在本篇博客中,我们将构建一个基于NanoDet深度学习目标检测模型的智能喷洒机器人目标识别系统。我们将介绍如何使用
- 阻塞队列-DelayQueue延迟队列使用入门及源码详解
你的豆腐在这
java
简介延迟元素的无限制BlockingQueu,其中元素只能在其延迟到期后才能获取。当元素的getDelay(TimeUnit.NANOSECONDS)方法返回小于或等于零的值时,就会发生过期。即使未到期的元素无法使用take或poll删除,它们也被视为普通元素。此队列不允许null元素。方法说明方法抛出异常返回值一直阻塞超时退出插入方法addofferputoffer(time)移除方法remov
- python设置国内源
twilightdream
python
mkdir.pipcd.piptouchpip.confnanopip.conf贴上[global]trusted-host=mirrors.aliyun.comindex-url=http://mirrors.aliyun.com/pypi/simple
- 基于NanoDet的健身姿势纠正系统开发
YOLO实战营
人工智能NanoDet深度学习计算机视觉ui
1.引言在现代健身行业中,正确的运动姿势至关重要,不仅能提升训练效果,还能预防运动损伤。尤其是在进行一些高强度的力量训练时,如深蹲、俯卧撑等,错误的姿势可能导致肌肉不平衡或关节损伤。传统的健身姿势纠正方式依赖教练的人工指导,但随着人工智能技术的发展,使用计算机视觉和深度学习技术来进行姿势纠正,逐渐成为一种高效且可扩展的解决方案。本文将详细介绍如何基于NanoDet(一个轻量化目标检测模型)开发一个
- java并发编程LockSupport之park/unpark
jmysql
javajava
【尚学堂】Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通_哔哩哔哩_bilibili一、简介1.1主要方法Park/UnPark方法是LockSupport当中的方法。其常用方法有如下:park():暂停当前线程。park(Objectblocker):暂停当前线程,并指定负责此线程停放的同步对像。parkNanos(
- Apache http 强制 https
熊猫小账本App
WebLinuxSafehttpapachehttpsssl
1.修改一下文件配置sudonano/etc/apache2/sites-enabled/000-default.confServerNamehongweizhu.comServerAliaswww.hongweizhu.comServerAdminwebmaster@localhostDocumentRoot/var/www/html#强制重定向到HTTPSRewriteEngineOnRewr
- ubuntu x86、arm换源(jetson nano和nanoPC等arm芯片的换源)
tanunat
ubunturosubuntuarm
关键词:ubuntuarm换源NanoPC-T4出现的问题安装ROSmelodic时出现"Thefollowingpackageshaveunmetdependencies:ros-melodic-desktop-full:…"以及出现及缺少依赖报错修复Thefollowingpackageshaveunmetdependencies:ros-melodic-desktop-full:Depend
- NanoDet 深度学习物料自动分类系统
YOLO实战营
深度学习分类人工智能数据挖掘NanoDet
引言随着工业自动化和物料管理的不断发展,物料的自动分类在仓储、物流、生产线等场景中的应用越来越广泛。传统的物料分类方式往往依赖人工操作,效率低下且容易出错,而基于深度学习的自动分类系统能够大大提高工作效率、降低错误率并实现高效管理。在众多深度学习技术中,物体检测算法被广泛应用于自动分类系统。NanoDet作为一款轻量级的目标检测算法,凭借其出色的速度与准确性,成为解决物料自动分类问题的一种理想选择
- jetson orin nano安装GPU版本的pytorch过程
小鲈鱼-
pytorch人工智能python
一、安装jetpack组件和安装CUDA/cuDNN可以参考下面这个博客「解析」JetsonOrinNX安装CUDA/cuDNN_jetsoncuda-CSDN博客二、安装Pytorch和torchaudio可以直接看官方给的步骤https://pytorch.org/audio/main/build.jetson.html
- Centos系统及国产麒麟系统设置自己写的go服务的开机启动项完整教程
二当家的素材网
运维centoslinux运维
1、创建服务文件在/etc/systemd/system/下新建服务配置文件(需sudo权限),例如:sudonano/etc/systemd/system/mygo.service如下图,创建的mygo.service2、创建内容如下:Description=ThegoHTTPandreverseproxyserverAfter=network.targetremote-fs.targetnss
- Ubuntu,Uentos,Debian 腾讯云镜像安装docker;配置国内镜像加速器
风不归Alkaid
环境ubuntu腾讯云docker
一、Ubuntu,Uentos,Debian腾讯云镜像安装docker转载自一位老哥的安装教程,直接点就可以二、配置国内镜像加速器配置Docker加速器:创建或编辑/etc/docker/daemon.json文件:sudonano/etc/docker/daemon.json添加以下内容(以腾讯云加速器为例):{"registry-mirrors":["https://mirror.ccs.te
- 探秘`nanomsg-python`: Python中的高效通信库
探秘nanomsg-python:Python中的高效通信库nanomsg-pythonnanomsgwrapperforpythonwithmultiplebackends(CPythonandctypes)shouldsupport2/3andPypy项目地址:https://gitcode.com/gh_mirrors/na/nanomsg-python在Python的世界里,找到一个既能满
- 利用systemd启动部署在服务器上的web应用
不是吧这都有重名
遇到的问题服务器前端运维
0.背景系统环境:Ubuntu22.04web应用情况:前后端分类,前端采用react,后端采用fastapi1.具体配置1.1前端配置开发态运行(启动命令是npmrundev),创建systemd服务文件sudonano/etc/systemd/system/frontend.service内容如下:[Unit]Description=ReactFrontendDevServerAfter=ne
- 20、鸿蒙学习——OAID、AAID、ODID
青春路上的小蜜蜂
学习harmonyos华为typescriptArkTs
1、OAID开放匿名设备标识符((OpenAnonymousDeviceIdentifier),是一种非永久性设备标识符,基于开放匿名设备标识符,可在保护用户个人数据隐私安全的前提下,向用户提供个性化广告,同时三方检测平台也可向广告主提供转化根因分析。OAID具有以下特性:OAID是设备级标识符,同一台设备上不同的App获取到的OAID值一致OAID的获取受应用的跟踪开关影响:当应用的跟踪开关开启
- Linux(Debian)下部署.NET Core网站终极指南:从零到生产级服务的深度实战!
墨夶
C#学习资料linuxdebian.netcore
**Debian部署.NETCore的“全栈实战”**第一阶段:环境准备与依赖安装1.1系统环境要求#更新系统并安装基础工具sudoaptupdate&&sudoaptupgrade-ysudoaptinstall-ycurlnanounzipgit1.2安装.NETCore运行时代码示例(Debian11/12):#下载并安装MicrosoftGPG密钥wgethttps://packages.
- nano编辑器的详细使用教程
咖啡续命又一天
Linux编辑器
以下是Linux下nano编辑器的详细使用指南,涵盖安装、基础操作、高级功能、快捷键以及常见问题处理。一、安装nano大多数Linux发行版已预装nano。如果没有安装,可以通过以下命令安装:Debian/Ubuntu系:sudoaptupdate&&sudoaptinstallnano-yCentOS/RHEL系:sudoyuminstallnano-y验证安装:nano--version二、启
- ubuntu下使用串口
三、串口权限问题Linux串口是默认普通用户没有读写权限的,每次开机后对串口读写都要附加权限sudochmod666/dev/ttyUSB0但对于需要开机自动运行的程序就很麻烦了,所以可以设置永久加权打开下面的文件远程的话要把gedit换成vi或nano等。这个文件本来是不存在的,只不过编辑器打开不存在的文件会自动创建。70-usb-serial.rules文件名可以自定义,但必须以.rules结
- Web3.0时代的安全悖论:去中心化如何反被中心化攻击?
5GOrDiejfgf
web3安全去中心化
详细内容扩展:技术解析:Solana链上RugPull攻击手法复盘(3亿美元被盗)中心化交易所安全措施对比(CoinbasevsBinance安全预算)合规框架:SEC监管动态:Howey测试最新应用案例税务合规工具:Chainalysis+CoinTracking集成方案投资建议:安全审计公司评级(CertikA级项目列表)硬件钱包对比评测(LedgerNanoXvsTrezorModelT)
- 【jetson】Linux下nvidia Jetson烤机程序(CPU+GPU)
前言烤机程序用于把设备的使用率拉满,进行可靠性测试。这里主要贴一下cpu和gpu的烤机程序。cpu为arm64,gpu是orinnano的模组。烤机的jetson设备为如下,输入54v:reComputerMiniJ3011-IntelligentEdgeAIComputerwithNVIDIA®Jetson™Orin™Nano8GBCPU-burn终端安装测试工具:sudoaptinstalls
- nanoGPT复现——prepare拆解(自己构建词表 VS tiktoken)
2301_80365274
python开发语言
在nanoGPT的data文件夹有两个很相似的文件夹结构:shakespeare和shakespeare-char,这两种都是对shakespeare数据集的处理,但是shakespeare使用的是tiktoken对文字进行编码,另一个则是使用自己构建的词表一、shakespeare-char(自己构建词表)数据获取data_path=os.path.join(os.path.dirname(__
- Leetcode-423. Reconstruct Original Digits from English
K_W
算法javaleetcode算法
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。博客链接:mcf171的博客——————————————————————————————Givenanon-emptystringcontaininganout-of-orderE
- LeetCode423. Reconstruct Original Digits from English
tigerhuli
LeetCode
Givenanon-emptystringcontaininganout-of-orderEnglishrepresentationofdigits0-9,outputthedigitsinascendingorder.Note:InputcontainsonlylowercaseEnglishletters.Inputisguaranteedtobevalidandcanbetransforme
- LeetCode 423. Reconstruct Original Digits from English 解题报告
骆小坑
编程解题leetcode
LeetCode423.ReconstructOriginalDigitsfromEnglish解题报告题目描述Givenanon-emptystringcontaininganout-of-orderEnglishrepresentationofdigits0-9,outputthedigitsinascendingorder.InputcontainsonlylowercaseEnglishl
- Systemd 服务配置完整指南
星梦客
Linux问题记录服务器网络linux
以下是整理后的Systemd服务配置教程,以您提供的frpc.service文件为例:1.创建服务文件在/etc/systemd/system/目录下创建服务配置文件(需root权限):sudonano/etc/systemd/system/frpc.service2.编写服务配置将以下内容粘贴到文件中(根据您的路径修改ExecStart):[Unit]Description=frpc#服务描述A
- ali PaddleNLP docker
大熊程序猿
AI大模型docker容器运维
一、添加文件nano /root/projects/paddlenlp_similarity_server.pyfromflaskimportFlask,request,jsonifyimportpaddlefrompaddlenlpimportTaskflowimportjsonimportuuidapp=Flask(__name__)#初始化文本相似度模型similarity=Taskflow
- ali docker部属paddleocr
大熊程序猿
ASP.NETCoredocker容器运维
dockerpullregistry.baidubce.com/paddlepaddle/paddle:2.6.0nano/root/projects/paddleocr_server.py========================fromflaskimportFlask,requestfromwerkzeug.utilsimportsecure_filenameimportuuidfrom
- 前端react面试题之实现网页多选搜索框
烟雨-yaya
前端react.js前端框架
需求提供100位用户信息。其用户信息含:{id:1,age:42,name:'张小强',address:"北京"},;要求1:需要设计可以多选择来筛选得到指点条件用户表,可以选择=>各阶段年龄端或者不同地区的。选择的条件,可以清空;要求2:选择的条件,需要在页面路由上呈现;方便其他用户copy,可以查询到一样的结果;实例网页实现实现需要提前下载相关依赖哈,nanoidimportReact,{Fr
- 使用 Xinference 命令行工具(xinference launch)部署 Nanonets-OCR-s
没刮胡子
Linux服务器技术人工智能AI软件开发技术实战专栏ocr
使用Xinference命令行工具(xinferencelaunch)部署Nanonets-OCR-s一、核心优势与适用场景通过xinferencelaunch命令可直接在命令行完成模型部署,无需编写Python代码,适合快速验证或生产环境批量部署。二、部署步骤:从命令行启动模型1.确认环境与依赖已安装Xinference:pipinstall"xinference[all]"GPU显存≥9GB(
- kali换源
william️_Aaron
命令Linux服务器运维linuxubuntu
在KaliLinux中切换软件源可以提高软件下载速度,下面为你介绍切换源的方法。一、备份原配置文件首先备份原配置文件,避免操作失误导致问题:sudocp/etc/apt/sources.list/etc/apt/sources.list.bak二、编辑源配置文件使用以下命令编辑源配置文件:sudonano/etc/apt/sources.list三、添加国内镜像源在打开的文件中添加以下镜像源地址,
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1