- Linux系统下装R包又慢又容易报错?
NameError_sfj
鸡毛蒜皮linuxr语言
短话短说:Linux安装默认从源码安装,因此在终端中使用Rconsole装包时会从源码重新编译,这个过程十分耗时,且很容易出错。解决方案有二:1)使用Rstudio/Rstudio-server,因为Rstudio支持预编译安装,直接下载安装编译好的R包,省时省力;2)使用包管理工具,如conda,通过condainstall直接安装R包的预编译版本短话长说版本:打开Linux终端、键入R进入Rc
- PHP编译安装oci8扩展
爬山虎还上班
phpoci8
文档:https://www.php.net/manual/zh/ref.pdo-oci.php如果Oracle数据库与PHP在同一台机器上,则数据库软件已经包含了必要的库。当PHP在另一台机器上时,请使用免费的»OracleInstantClient库点击“OracleInstantClient”进入官网相关地址,根据服务器情况选择对应版本,此处我选择的OracleLinux7(OracleIn
- 使用 certbot 在centos7 搭建ssl证书自动并且续约
TwoSs110
sslhttps
第一步,确定服务器适合安装的certbot版本sudoyuminstallpython27如果上述方法不起作用,你可以尝试编译安装。首先,你需要安装编译Python所需的依赖包。sudoyuminstallgccmakeopenssl-develsqlite-develreadline-develzlib-develbzip2-devel接下来,下载Python2.7.5的源代码,并进行编译安装。
- GoogleTest学习实践
郭涤生
c/c++c++单元测试功能测试
第1步:环境安装与配置对于Linux系统#安装编译依赖sudoapt-getinstallbuild-essentialcmakelibgtest-dev#编译安装cd/usr/src/gtestsudocmakeCMakeLists.txtsudomakesudocp*.a/usr/libCMake集成示例cmake_minimum_required(VERSION3.14)project(My
- linux 下 nginx 安装部署,反向代理tomcat等应用服务
TenniCC
nginxnginx反向代理nginx负载均衡nginxlinuxlinux+nginxlinux下安装部署nginx
一、准备nginx1.16.1二、编译安装安装nginx编译安装的依赖软件包[root@pve-97nginx]#yuminstall-ygccgcc-c++pcrepcre-develzlibzlib-developensslopenssl-devel上传nginx安装包至相应目录,这里我们指定/cjy/nginx[root@pve-97~]#ll/ng/nginx/total1012-rw-r
- Nginx编译安装
寰宇001
下载、解压Nginxcd/usr/local/srcwgethttp://nginx.org/download/nginx-1.8.0.tar.gztar-zxvfnginx-1.8.0.tar.gz2.编译安装Nginxcd/usr/local/src/nginx-1.8.1配置编译参数./configure\–prefix=/usr/local/nginx\–with-http_realip_
- nginx相关安装配置
不想做猿的猿
Linux相关linuxnginx
安装:#yuminstallgccgcc-c++makeautomakeautoconflibtoolpcrepcre-develzlibzlib-developensslopenssl-devel3、下载Nginx#cd/usr/local/src/#wgethttp://nginx.org/download/nginx-1.13.0.tar.gz4、编译安装Nginx#cd/usr/local
- msys2+mingw编译ffmpeg
星火撩猿
音视频集msys2ffmpeg
MinGW安装ffmpeg下载ffmpeg源码源码下载编译安装ffmpeg./configure--prefix=/usr/local/ffmpeg(生成makefile文件)make-j4(多进程并行编译节省编译时间)makeinstall(安装到指定目录)
- golang从入门到做牛马:第二篇-go语言安装及开发环境配置
王盼达
golang从入门到做牛马golang开发语言后端
1.安装go语言在Ubuntu上安装Go语言(Golang)通常有几种方法,以下是一些常见的安装步骤:方法一:使用包管理器安装更新包列表:sudoaptupdate安装Go:sudoaptinstallgolang-go验证安装:goversion方法二:从源代码编译安装安装依赖:sudoaptinstall-ygitmercurial下载Go源代码:gitclonehttps://go.goog
- centos7编译安装php7.4
T暴风雪
PHPLinuxlinux服务器centos
1.安装依赖包yuminstalllibxml2libxml2-developensslopenssl-develbzip2bzip2-devellibcurllibcurl-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-develgmpgmp-devellibmcryptlibmcrypt-develreadlinerea
- FreeSWITCH 简单图形化界面40 - 使用mod_curl模块进行http请求
贾宝玉的玉宝贾
IPPBXfreeswitchvoipsiphttppython
FreeSWITCH简单图形化界面40-使用mod_curl模块进行http请求0、界面预览00、简介1、编译安装1.1编辑模块配置文件2、使用2.1拨号规则GET请求POST请求JSON数据2.2Lua脚本GET请求POST请求JSON数据3、示例3.1示例1:提交CDR到第三方接口3.2示例2:提交外呼状态到第三方接口0、界面预览http://myfs.f3322.net:8020/用户名:a
- 使用源代码编译R包的过程
QH_ShareHub
R编译R包安装
R包的安装方式可以归纳为源代码安装和二进制文件安装两类:源代码安装是指从包的源代码进行编译安装。包括:①通过CRAN安装源代码版本的包(如果没有二进制版本,或者指定了安装源代码)。②从GitHub、Bioconductor等平台获取源码并安装。③本地源码包的安装。二进制文件安装是指直接安装编译好的包,无需编译。这种方式通常更快,特别是在Windows和macOS上。包括:①通过CRAN直接下载并安
- 安装httpd
m0_74536424
Linux学习笔记apachelinux网络
安装httpd1.源码编译安装//下载依赖包[root@openEulter-1~]#dnf-yinstallgccgcc-c++makeapr-*pcre-develredhat-rpm-config...安装过程省略...Complete!//下载软件包[root@openEulter-1~]#wgethttps://archive.apache.org/dist/httpd/httpd-2.
- Ubuntu22.04下源码编译安装pythonocc-7.8
丰色木夕
pythonpythonoccoccocct
Ubuntu22.04下源码编译安装pythonocc-7.8本文介绍Ubuntu下手动编译安装pythonocc,及安装过程遇到的各种坑基本依赖安装sudoapt-getupdatesudoapt-getinstall-ywgetlibglu1-mesa-devlibgl1-mesa-devlibxmu-devlibxi-devbuild-essentialcmakelibfreetype6-d
- ubuntu源码编译安装python3
骑台风走
ubuntulinux运维
#下载sudowgethttps://registry.npmmirror.com/-/binary/python/3.9.10/Python-3.9.10.tgz#解压sudotar-zxvfPython-3.9.10.tgz#进入cdPython-3.9.10.tgz##更新源+安装依赖sudoaptupdatesudoaptupgradesudoaptinstallbuild-essenti
- Ubuntu手动编译源码安装Python
落鸿挽涟漪
ubuntupythonlinux
【Python安装】之【Ubuntu系统】手动【编译源码】安装详细教程0.下载源码压缩包在python官网找到所需版本的python安装包,下载到Ubuntu系统中https://www.python.org/downloads/本文以python3.8.2为例演示编译过程1手动编译安装1.1解压压缩包tar-zxvfPython-3.8.2.tgz可以看到在当前目录下生成Python-3.8.
- python编译安装vosk语音识别包
hzjxinyue
python
不知道为什么,谁把vosk从pip源上删了。没办法只能自己编译安装了。下载源代码gitclonehttps://github.com/alphacep/vosk-api.git进入python文件夹cdvosk-api/python编译安装python3setup.pyinstall
- 从零开始搭建Zabbix监控系统:安装配置全攻略,轻松掌握企业级监控利器
磐基Stack专业服务团队
Zabbixzabbixadb
#作者:stackofumbrella文章目录前提安装及配置开始安装设置mysql编码开始安装查询是否启动成功编译安装zabbix前提selinux关闭#vim/etc/selinux/configSELINUX=disabled#setenforce0关闭防火墙#systemctlstopfirewalldyum安装mysql检查系统是否安装其他版本的MYSQL#yumlistinstalled
- CMake安装与使用
不努力谁会可怜你?
机器视觉conda
一、背景最近要将一个使用PySide6写GUI的程序部署到英伟达JetsonNano上。原本以为装个conda就能很快装好环境,结果发现arm的生态有点太糟糕了,啥都要自己编译安装,尤其是这个Pyside6。主要参考博客。当时编译没成功,直接下载编译后的文件安装。二、目标编译conda没有的包三、编译工具简介Gcc与Clang区别Gcc:编译器——当你的程序只有一个源文件时,直接就可以用gcc命令
- 在 Linux 系统上编译安装高版本 Python
perfect12312645
python
在Linux系统上进行软件安装时,我们经常会面临各种挑战,其中一个典型的情况就是官网不再提供所需软件的二进制包,这时我们就不得不进行编译安装。本文将为你详细展示如何在CentOS7.6系统上完成高版本Python的编译安装,并涵盖了一系列前置依赖的安装、高版本OpenSSL的编译安装以及相关的环境配置过程,帮助你克服可能遇到的困难。一、实验环境说明本次实验使用的系统是CentOS7.6,你可以通过
- rpm、yum、编译安装
zai.zai
linuxnginxcentos运维
1、软件包系统不同的Linux发行版用的是不同的软件包系统,并且原则上,适用于发行版的软件包与其他版本是不兼容的。多数Linux发行版采用不外乎两种软件包技术阵营软件包系统发行版本(部分)Debian类Debian、Ubuntu、Xandros、LinspireRedHat类Fedora、CentOS、RedHatEnterpriseLinux2、软件包工作方式软件包:软件包是包含应用程序及器元数
- centos-stream9/7如何安装kubenetes1.28版本?如何添加集群节点与token过期如何重新生成?
终端行者
Kubernetescentoskubernetes
Kubernetes集群部署零、版本信息操作系统:CentosStream9、Centos7通过k8s版本:1.26.11.28.2本文档未使用docker,使用containerd从版本1.24开始已经去掉默认对docker的支持,需要使用go编译安装cri-dockerd,通信变得复杂,新版本不推荐使用docker运行时一、Kubernetes集群部署方式方式1.minikubeMinikub
- QGroundControl@Jetson Orin Nano for L4T36.4.0/JP6.1
lida2003
LinuxDIYDrones开源QGC
[email protected]/JP6.11.源由2.准备2.1扩大虚拟内存2.2升级cmake版本2.3QT编译安装3.QGC编译安装4.问题汇总问题1:QNativeInterface::QX11Application接口问题问题2:RTP视频播放问题1.源由最近还是越来越有QGC最新版本在JetsonOrinNanoforL4T36.4.0
- 无需环境,直接用 Docker 来启动你的 Python 项目
洪峰科技
python
大家好我是洪峰想象这样一种场景,你写好了代码,准备部署在新的服务器上,这台服务器只有Python2和Python3.6,没有你代码适配好的Python3.12,那怎么办?1、编译安装Python,我不推荐这种方法,安装过程中,各种缺失的依赖绝对让你抓狂,如果你就是要用这种方法,可以参考这篇避坑-编译安装Python时遇到无法构建SSL。2、docker或dockercompose,我强烈推荐这种方
- 准确-NGINX 1.26.2配置正向代理并编译安装的完整过程
P7进阶路
面试学习路线阿里巴巴nginx运维
NGINX1.26.2配置正向代理并编译安装的完整过程,使用了ngx_http_proxy_connect_module模块。1.环境准备1.1安装依赖确保系统安装了以下必要的依赖:sudoyuminstall-ygccgcc-c++makepcre-develzlib-developenssl-devel1.2下载NGINX源码从NGINX官方下载指定版本(1.26.2)的源码:wgethttp
- HAProxy 1.8.13 编译安装
清笙漓江南
LinuxMircSystemctlhaproxy编译安装haproxysocket
HAProxy编译安装首先上官网获取haproxy的tar包解压至当前目录haproxy的配置文件中要使用到haproxy用户所以我们先创建该用户useradd-r-s/sbin/nologinhaproxytarxfhaproxy-1.8.13.tar.gzcdhaproxy-1.8.13/vimREADME文档其中我们可以查看到关于怎么样安装我们使用其中的一项,包括了pcre和ssl以及zli
- haproxy编译安装
qiqi妈
服务器网络linux
1.下载安装包2.将安装包上传至本地目录3.解压tarxvfhaproxy-1.5.19.tar.gz4.创建haproxy安装目录mkdir/usr/local/haproxy5.编译并安装haproxycd/home/haproxy-1.5.19/makeARCH=x86_64TARGET=linux2628USE_PCRE=1USE_OPENSSL=1USE_ZLIB=1USE_SYSTEM
- 【网站架构部署与优化】源码编译安装LAMP
Karoku066
架构linux运维服务器bashssh
文章目录LAMP架构概述各组件的主要作用构建LAMP平台的安装顺序编译安装Apachehttpd服务指南1.准备工作1.1关闭防火墙并传输软件包1.2安装环境依赖包2.配置软件模块2.1解压软件包2.2移动apr组件包2.3配置httpd3.编译及安装4.优化配置4.1配置文件路径4.2添加httpd系统服务方法一:使用init.d方法二:使用systemd5.修改httpd服务配置文件5.1编辑
- 一文了解riscv软件系列之linux内核编译运行
Linux加油站
linux服务器运维
一、交叉编译工具链的安装【推荐阅读文章】代码大佬的【Linux内核开发笔记】分享,前人栽树后人乘凉!一篇长文叙述Linux内核虚拟地址空间的基本概括一文了解Linux内核的Oops需要多久才能看完linux内核源码?详细讲解磁盘及文件系统管理(图例解析)交叉编译工具链可以通过源码进行编译安装:1.下载工具链源码:该仓库包含多个submodules,因此需要添加--recursive选项来下载所有子
- centos 7 mysql 5.6安装_liunx 下 或centos7 下安装 MySQL-5.6
灰先森
centos7mysql5.6安装
安装方式有两种第一种使用yum安装,第二种编译安装第一种使用yum安装========================================================================================>1.新开的服务器,需要检测系统是否自带安装mysql#yumlistinstalled|grepmysql2.如果发现有系统自带mysql,则先删除#y
- 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