- Ubuntu 在/etc/profile中配置环境变量后,开启新终端窗口环境变量失效问题解决(非root用户)
深度视觉机器
Ubuntu20环境变量失效问题到此解决。
最近在使用ubuntu系统的过程中用非root用户登录,发现在安装完jdk并添加相关环境变量,java-version可以正常显示,但当我开启一个新的终端的时候,这个命令就失效了,网上查了一下原因,是需要修改当前登录用户的.bashrc文件中添加环境变量才可永久生效,下面来说明几种解决方案。1、临时解决方案(非root用户)临时解决方案就是重新加载/etc/profile文件,执行以下命令:$so
- Linux 运行执行文件并将日志输出保存到文本文件中
luoqice
linux
在Linux系统中运行可执行文件并将日志输出保存到文本文件中,可以使用以下几种方法:方法一:使用重定向符号>或>>覆盖写入(>):./your_executable>logfile.txt这会将可执行文件的输出(包括stdout和stderr)覆盖写入到logfile.txt文件中。追加写入(>>):./your_executable>>logfile.txt这会将可执行文件的输出追加到logfi
- 部署一个简单的python服务器
机智的frank
服务器部署
返回字符串的网页#引入需要的模块fromwsgiref.simple_serverimportmake_server#定义web接口函数defapplication(env,response):"""定义一个web接口函数,可以接收浏览器客户端发送的url地址,调用执行函数通过url地址调用执行函数:paramenv:环境,表示浏览器发送的请求环境:paramresponse:响应,表示服务器给浏
- /etc/rc.d/rc.local 与 /etc/profile .bash_profile .bashrc 文件执行顺序
huanggang028
操作系统
登陆shell与交互式非登陆shell的区别登录shell所谓登录shell,指的是当用户登录系统时所取的那个shell。登录shell属于交互式shell。登录shell将查找4个不同的启动文件来处理其中的命令。bashshell处理文件的顺序如下:/etc/profile/etc/profile.d等待配置文件$HOME/.bash_profile$HOME/.bash_login$HOME/
- linux配置虚拟内存
韩明君
linux运维服务器
说明:当前文档均需要用root执行1、配置虚拟内存ddif=/dev/zeroof=/root/swapfile8gbs=1Mcount=8192chmod0600/root/swapfile8gmkswap/root/swapfile8gswapon/root/swapfile8g#查看free-h2、设置虚拟内存使用比例sysctlvm.swappiness=1003、开机自动加载#开启启动自
- 深入理解 Android 混淆规则
nukix
androidandroid
在Android开发中,混淆(Obfuscation)是一种保护代码安全的重要手段,通常通过ProGuard或R8工具来实现。本文将详细介绍Android混淆规则的基本原理、配置方法以及最佳实践,帮助开发者更好地保护应用代码。博主博客https://blog.uso6.comhttps://blog.csdn.net/dxk539687357什么是混淆?混淆是一种通过对代码进行重命名、删除无用代码
- Android Studio gradle配置
nukix
androidandroid
settings.gradle配置指定路径module博主博客https://blog.uso6.comhttps://blog.csdn.net/dxk539687357一、正常情况,导入本项目的模块只需要使用include':app',':library'即可。二、但是当需要导入其他项目的模块,可以使用相对路径指定include':app',':library'project(':thirdl
- Android 接收 App 安装卸载更新
nukix
androidjavaandroid
本篇文章主要介绍如何监听APP的安装、卸载和更新的广播。博主博客https://blog.uso6.comhttps://blog.csdn.net/dxk539687357Android8.0以前静态注册在AndroidManifest.xml中加入静态注册即可。Android8.0及以后需要动态注册InstallReceiverinstallReceiver=newInstallReceive
- Android中获取so文件来源于哪个库
火龙映天
Android相关android
Androidapp中可能有很多的.so文件,有时我们不确定这些.so文件都是来源于哪些库的,可以通过在build.gradle中添加代码来统计。具体方法如下:1.在com.android.application模块的build.gradle文件最后添加如下代码://获取所有的.so文件的打包路径tasks.whenTaskAdded{task->if(task.name=='mergeDebug
- 音频采集(VUE3+JAVA)
a26637896
音视频javajavascript
vue部分代码xx.vueimportRecorderfrom'./Recorder.js';exportdefault{data(){return{mediaStream:null,recorder:null,isRecording:false,audioChunks:[],vadInterval:null//新增:用于存储声音活动检测的间隔ID};},asyncmounted(){this.m
- ubuntu上/etc/profile.d/目录的作用
阳洞洞
ubuntulinux运维
在Linux系统(如Ubuntu、CentOS等)中,/etc/profile.d/目录有着重要的作用,主要用于存放系统级的环境变量和shell脚本配置,详细介绍如下:目录一、工作机制二、具体用途1.设置环境变量2.定义别名3.加载特定模块或初始化程序三、优点一、工作机制在用户登录时,系统会先读取/etc/profile文件,而/etc/profile脚本里包含了对/etc/profile.d/目
- Android Java创建ViewModel新api
debug_cat
Android应用层开发androidjavaleetcode
背景项目使用Java,创建ViewModel发现之前旧api不管用了。不要问为什么项目还要用Java,别问。老项目不让升级。ViewModel创建新方式新方式是因为依赖新版本库,其实用旧版本库就回到旧方式了。依赖:deflifecycle_version="2.5.0"//ViewModelimplementation"androidx.lifecycle:lifecycle-viewmodel:
- agent和android怎么结合:健康助手,旅游助手,学习助手
ZhangJiQun&MXP
教学2021论文2024大模型以及算力android旅游学习人工智能语言模型自然语言处理prompt
agent和android怎么结合:健康助手,旅游助手,学习助手创新点智能交互创新:提出全新的agent-Android交互模式,如基于手势、语音、眼动等多模态融合的交互方式。例如让agent能够同时理解用户的语音指令和手势动作,在Android设备上提供更加自然和高效的交互体验,比如在观看视频时,用户可以通过语音和手势结合的方式让agent调整视频播放进度、音量等。个性化服务创新:利用agent
- linux getdir函数,linux C++ 获取文件绝对路径的实例代码
微Refreshsuffer
linuxgetdir函数
linuxC++获取文件绝对路径的实例代码提供ftp服务时需要获取文件绝对路径,这里记录一下。#include#include#includeintmain(){constchar*file_name="filename";charabs_path_buff[PATH_MAX];//获取文件路径,填充到abs_path_buff//realpath函数返回:null表示获取失败;否则返回指向abs
- STM32启动过程浅析(MAP文件、STM32启动过程、启动模式、Reset_Handler函数、__initial_sp堆栈的起始地址、堆栈)
孤芳剑影
STM32stm32嵌入式硬件单片机
参考http://t.csdnimg.cn/9Y6n4一、MAP文件浅析MAP文件(MemoryMapFile)是编译器生成的连接地图文件,提供了有关程序在内存中的布局信息。MAP文件包含了代码、数据、堆栈等在内存中的地址分配情况,以及每个模块的大小等信息。在MDK(KeilMicrocontrollerDevelopmentKit)编译过程中,MAP文件对于分析程序存储占用情况非常有用。以下是M
- Android15音频进阶之焦点仲裁矩阵(一百零七)
Android系统攻城狮
AndroidAudio工程师进阶系列音视频矩阵python
简介:CSDN博客专家、《Android系统多媒体进阶实战》一书作者新书发布:《Android系统多媒体进阶实战》优质专栏:Audio工程师进阶系列【原创干货持续更新中……】优质专栏:多媒体系统工程师系列【原创干货持续更新中……】优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课
- c/c++获取当前路径及创建多级路径(windows与linux通用-跨系统)
繁星璀璨G
C/C++程序windowslinux
获取当前路径因为要使能windows与linux通用,所以windows下必须把“\”替换为“/”,此处使用正则表达式替换#include#ifdef_WIN32#include#else#include#include#endifstringgetCurrentPath(){charbuf[1024]="";stringpath=string();#ifdef_WIN32getcwd(buf,s
- 符号学习初学代码——从开普勒第三定律到万有引力定律
Merci美滋滋
学习python机器学习
备注PINN——physicsinformedneuralnetworkSR——symbolicregression代码详细分析见评论区链接一、SR_testimportnumpyasnpT=np.array([0.241,0.615,1,1.881,11.862]).reshape(-1,1)R=np.array([0.381,0.723,1,1.524,5.023]).reshape(-1,1
- 最新5万字长文:Docker 100道面试题及参考答案
大模型大数据攻城狮
dockereureka容器面试题求职运维
目录1.什么是Docker?2.解释一下Docker的架构。3.什么是Docker镜像?4.什么是Docker容器?5.什么是DockerRegistry?6.Docker容器有哪些状态?7.解释Docker中的分层存储机制。8.什么是Dockerfile?9.如何构建Docker镜像?10.什么是DockerRegistry?11.如何在Linux上安装Docker?12.如何在Windows上
- Docker面试题
御风行云天
面试题大全docker容器运维面试
Docker面试题1Docker基础概念1.1介绍Docker和其核心技术。1.2比较虚拟机和Docker容器的不同点。1.3解释Docker容器和镜像的区别。2Docker安装和配置2.1讲述Docker在不同操作系统上的安装流程。2.2描述Docker配置文件和环境变量的作用。2.3如何升级和维护Docker环境?3Docker镜像管理3.1如何从Dockerfile构建镜像?3.2解释Doc
- Java学习的知识笔记
世间万物皆对象
Javajava学习开发语言
不会改变原始对象的方法reverse函数,作用:排序使用小技巧判断string是否相等可以使用equals来进行判断。判断string是否是空字符串可以用isBlank()进行判断对于超大的整数加减使用对应的函数进行操作,比如加,使用add函数参考bignum.java因为math类的构造方法是private修饰,所以无法建立实例使用String.charAt(index)方法,返回在index位
- golang哈希算法性能对比md5,crc32,sha1,murmur3
raoxiaoya
golanggolang哈希算法
packagemainimport("crypto/md5""crypto/sha1""hash/crc32""github.com/spaolacci/murmur3")varstr="helloworld"funcmd5Hash()[16]byte{returnmd5.Sum([]byte(str))}funcsha1Hash()[20]byte{returnsha1.Sum([]byte(s
- 债券到期收益率计算
周纠纠
金融科技-计算机相关python深度学习
债券到期收益率YTM计算公式Python实现计算公式Python实现importscipy.optimizeassoimportnumpyasnp'''计算债券到期收益率的函数PV:表示债券全价;C:票面年利息;k:年付息频率;y:到期收益率;M:债券面值;T:债券期限(年)'''defYTM(PV,C,k,M,T
- 揭秘Linux:从服务器到智能家居,一个操作系统如何改变世界
寒水馨
Linux问题解决方案服务器linux智能家居
揭秘Linux:从服务器到智能家居,一个操作系统如何改变世界文章目录揭秘Linux:从服务器到智能家居,一个操作系统如何改变世界引言:Linux,不仅仅是一个操作系统Linux在企业级应用中的霸主地位云计算与虚拟化:Linux的天下大数据与人工智能:Linux的助推器Web服务器:Apache和Nginx的最佳搭档Linux在移动和嵌入式设备中的崛起Android:Linux的最成功衍生品物联网(
- python爬虫多线程原理
代码逐梦人
爬虫技能晋升路线python爬虫开发语言
多线程爬虫原理与优势在Python爬虫中,多线程是一种提升爬取效率的有效技术。在传统的单线程爬虫里,每次只能处理一个请求,只有等当前请求完成(包括发送请求、等待响应、解析数据)之后,才能开始下一个请求。而多线程爬虫可以让多个请求同时进行,在等待某个请求响应的时间里,CPU可以去处理其他请求,充分利用了CPU时间,大大提高了爬取效率。多线程爬虫的实现步骤1.引入必要的库importrequestsi
- Playwright——爬取潘茄小说
花花 Show Python
pythonPlaywright网络爬虫
fromplaywright.sync_apiimportsync_playwright#导入Playwright同步API,用于浏览器自动化#使用上下文管理器启动Playwright,并确保资源正确释放withsync_playwright()asp:#创建一个Chromium浏览器实例,默认以无头模式运行(没有图形界面)browser=p.chromium.launch()#在当前浏览器上下文
- 小结:引入外部路由,汇总,特殊区域总结
flying robot
HCIA/HCIP笔记
在华为路由器(主要指企业级路由器,例如NE、AR系列)上,涉及外部路由引入、路由汇总以及特殊区域(如Stub、TotallyStub、NSSA等)的配置与应用,主要包括以下几个方面:1.引入外部路由外部路由主要指非OSPF、非IS-IS等协议的路由,例如BGP、静态路由、直连路由等,需要通过特定方法引入内部路由协议,如OSPF或IS-IS。1.1在OSPF中引入外部路由可以通过import-rou
- iQOO neo 5精简内置组件
weixin_38627000
安卓智能手机安卓
无他!系统自带了太多组件,都用不到,连打开都不曾打开过。下午整理一篇精简组件的列表,各自按照各自的需要进行精简哦。别盲目跟风,要不然手机使用会出问题。精简步骤使用任意刷机工具,开启手机的开发权限,然后adb连接删除组件列表如下:pmuninstall--user0com.android.VideoPlayervivoi视频pmuninstall--user0com.vivo.browservivo
- java实现数据上传到接口,Java 导入数据到Excel并提供文件下载接口
梨漾
java实现数据上传到接口
依赖net.sourceforge.jexcelapijxl2.6.12复制代码我们需要用到jxl包的类,而jxl.jar正是操作excel表格的工具类库,除了jxl以外,poi包也是一个操作excel的类库。而对比两个包,jxl更适用与数据量大的情况,而poi在数据量不高(大约5000以内)时,效率较高,但占用内存大,更容易内存溢出。测试数据privateintid;privateStringn
- C++Primer学习(4.6成员访问运算符)
黑果果的思考
零基础学习C++c++
4.6成员访问运算符点运算符和箭头运算符都可用于访问成员,其中,点运算符获取类对象的一个成员;箭头运算符与点运算符有关,表达式ptr->mem等价于(*ptr).mem:stringsl="astring",*p=&s1;auton=s1.size();//运行string对象s1的size成员n=(*p).size();//运行p所指对象的size成员n=p->size();//等价于(*p).
- 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