- 深入理解汇编语言子程序设计与系统调用
网安spinage
汇编语言开发语言汇编算法
本文将全面解析汇编语言中子程序设计的核心技术以及系统调用的实现方法,涵盖参数传递的多种方式、堆栈管理、API调用等关键知识点,并提供实际案例演示。一、子程序设计:参数传递的艺术1.寄存器传参:高效简洁.386.modelflat,stdcalloptioncasemap:none.dataxdd5;定义变量ydd6sumdd?.code;函数定义:addxy1addxy1procpushebpmo
- 星宸科技SSU9386荣获2024年度AI创新产品奖,彰显AI芯实力
Comake Online
人工智能科技
8月27日,由elexcon2024深圳国际电子展携手电子发烧友网联合发起的“2024年度市场卓越表现奖”颁奖典礼在深圳会展中心(福田)举行。星宸科技自主研发的“AllinOne”AI芯片SSU9386凭借其创新的设计理念、卓越的性能表现以及在智能机器人市场的出色表现,荣获2024年度AI创新产品奖。2024年度市场卓越创新奖共设置五大奖项,旨在通过业界共同推荐,评选出元器件行业内市场表现优秀,具
- ttf2eot
14px
工具下载地址:http://code.google.com/p/ttf2eot/downloads/detail?name=ttf2eot-0.0.2-2.zip&can=2&q=将工具解压放到本地根目录。TTF字体文件与本工具放到同一目录下。如D:\开始->运行->cmd->切换到D盘,输入命令:ttf2eot.exeicon.ttficon.eot来源:http://decisiononese
- Django 批量操作终极指南:update_or_create 与 bulk_create 详解
Yant224
DjangoV2#第2章模型djangoORM批量操作update__createbulk_create
Django批量操作终极指南:update_or_create与bulk_create详解一、update_or_create:智能更新或创建1.核心功能update_or_create方法用于在单个原子操作中:查找匹配指定条件的记录如果存在则更新如果不存在则创建新记录2.方法签名Model.objects.update_or_create(defaults=None,#更新/创建的字段值crea
- RK3568平台(camera篇)opencv处理图像
嵌入式_笔记
瑞芯微opencv人工智能计算机视觉
一.颜色转换cv2.cvtColor()函数功能:将一幅图像从一个色彩空间转换到另一个色彩空间。函数原型:cv2.cvtColor(src,code,dst=None,dstCn=None)参数定义:src:要转换的源文件code,转换的色彩空间,在opencv中有超过150种颜色空间转换方法,但是经常用的只有BGR-灰度图和BGR-HSVBGR和灰度图的转换使用cv2.COLOR_BGR2GRA
- 【Python】pandas.cut()函数的用法
pandas.cut()函数是一个非常有用的工具,用于将数值型数据按照指定的分箱或区间进行分割,从而将连续的数值变量转换为离散的类别变量。这在数据分析和机器学习的特征工程中尤其有用,因为它可以帮助揭示不同区间内的数据分布特征,或者简化模型的输入。基本用法pandas.cut()的基本语法如下:pandas.cut(x,bins,right=True,labels=None,retbins=Fals
- Python day26
赵英英俊
Python训练python开发语言
@浙大疏锦行Pythonday26内容:函数的定义def函数名(参数): 函数逻辑 return返回值局部变量和全局变量y=2#全局变量,可以在任意位置访问,z=3deffun()x=1#局部变量,只能在内部访问z=1#局部变量优先级更高print(x)print(z)参数类型#位置参数deffun(x,y)returnx+y#默认参数deffun(x,y,z=1,w=None)ret
- OpenCV图像梯度边缘轮廓处理
Jiamusi_night
opencv计算机视觉人工智能
一、梯度处理的sobel算子函数函数名:cv2.Sobel(src,ddepth,dx,dy,ksize=3,scale=1,delta=0,borderType=None)功能:用于计算图像梯度(gradient)的函数参数:src:输入图像,它应该是灰度图像。ddepth:输出图像的所需深度(数据类型)。通常,你可以使用-1来表示与输入图像相同的深度,或者使用如cv2.CV_64F等来指定特定
- 果子酱的scalerstalk第六轮新概念朗读持续力训练day102 20210121
S果子酱
练习材料:新概念3l3-(2)任务配置:L0+L1+L4知识笔记:字母组合:nnonefindnonamenosenotenothingnnwinnerfunnydinnersunnyknk不发音kneeknifeknowgng不发音signdesignforeigncampaign短语:remains名词,遗址,遗迹B.C.beforeChrist公元前A.D.annodomini公元happe
- Python中的 filter() | 函数详解
2401_87650616
python开发语言
目录前言一、基本概念基本语法二、使用方式1.使用lambda函数2.使用普通函数3.使用None过滤假值三、filter()与列表推导式对比1.filter()方式2.列表推导式方式3.选择建议四、常见应用场景1.过滤偶数2.过滤空字符串3.过滤None值4.过滤质数五、注意事项与最佳实践1.惰性求值:filter()返回的是迭代器,只在需要时计算,节省内存2.性能考虑:对于大数据集,filter
- arm-linux 汇总
JoeCheung_96
itop4412
1.arm-none-linux-gnueabi-gcc下载http://www.veryarm.com/arm-none-linux-gnueabi-gccarm-none-Linux-gnueabi-gcc是Codesourcery公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、linuxkernel
- CSS元素隐藏方法
51349592
css前端
CSS提供了多种隐藏元素的方法,但它们在视觉表现、可访问性和布局影响上各不相同。方法一:display:none(完全隐藏).hide-element{display:none;}特点:元素完全从渲染树中移除,不占据任何文档流空间(类似不存在)无法触发任何事件(点击、键盘交互等)会触发重排(reflow)和重绘(repaint),频繁切换可能影响性能方法二:visibility:hidden(视觉
- 安装wxpython
melodyczyu
学习python
系统环境:macOS通过终端安装,使用homebrew安装,如果没有homebrew,先安装它,我的是提前安装了的,通过:brewinstallwxpython即可。然后就可以使用了。importwxclassMyFrame(wx.Frame):#自定义窗口类def__init__(self):super().__init__(None,title='第一个wxpython程序',size=(40
- 2021-10-04
潇洒二爷
俄罗斯帝国,重开王室婚礼先河,作家维多利亚嫁给了罗曼诺夫大公RussianImperialhadfirstroyalweddingaftermorethanonecentuary很久很久以前……已经过去1个多世纪了,俄罗斯帝国(RussianImperial)又首开王室婚礼先河,维多利亚·罗曼诺娃·罗曼诺夫(VictoriaRomanovaRomanoff)王妃,以前的名字叫丽贝卡·贝塔里尼(Re
- 【Python】moviepy2
宅男很神经
python开发语言
3.5.4.2创建无缝循环视频(vfx.make_loopable):永不停止的视觉流vfx.make_loopable(clip,crossfade=0.5,t_duration=None)是一个非常巧妙的函数,用于将一个视频剪辑转换成可以无缝循环播放的形式。它通过在视频的结尾和开头之间创建一个平滑的过渡来实现这一点,从而消除循环播放时的突兀感。这在制作背景动画、GIF动图或需要无限重复的视频素
- 代码随想录算法训练营day8(python版)|第四章 字符串part01|● 344.反转字符串● 541. 反转字符串II● 卡码网:54.替换数字
清水泛轻舟
算法
目录344.反转字符串541.反转字符串II题目思路卡码网:54.替换数字题目344.反转字符串建议:本题是字符串基础题目,就是考察reverse函数的实现,同时也明确一下平时刷题什么时候用库函数,什么时候不用库函数题目链接/文章讲解/视频讲解:代码随想录简单粗暴方法描述返回值是否修改原列表reverse()原地反转列表None✅是reversed()返回一个反转后的迭代器反转后的迭代器❌不修改原
- 【Python面试笔记】1.1.9 基础语法 数据类型 None
m0_64866459
python笔记开发语言
在Python中,None是一个特殊的常量,它表示"没有值"或"空值";None在Python中是一个独立的数据类型,属于NoneType类型1.None的特点None是一个单一的对象,因此,在Python中它只有一个实例,所有None都是相同的对象None在逻辑运算中代表“假”,通常用来表示空值、未定义值或没有返回值的函数2.None的常见用途默认值:可以用作函数参数的默认值,表示该参数还没有被
- nnUNet数据加载
山河百草
python开发语言
nnUNetDataset参数列表classnnUNetDataset(object):def__init__(self,folder:str,case_identifiers:List[str]=None,num_images_properties_loading_threshold:int=0,folder_with_segs_from_previous_stage:str=None):fol
- SFrame-based stack unwinding for the kernel
mounter625
Linuxkernellinux服务器网络安全kernel
Thekernel'sperfeventssubsystemcanproducehigh-qualityprofiles,withfullfunction-callchains,ofresourceusagewithinthekernelitself.Developers,however,oftenwouldliketoseeprofilesofthewholesysteminoneintegra
- Transformer危!谷歌MoR架构发布:内存减半推理速度还翻倍
2501_92765346
transformer架构深度学习
超越Transformer,谷歌推出全新底层架构——Mixture-of-Recursions(MoR),注意不是MoE,它能推理速度提高2倍,而KV内存直接减半!而且AllinOne,首次在单一框架中实现,用同一组参数处理不同任务的同时,进行动态分配计算资源。就像给LLM开了个双层增强buff,模型性能和效率全都要。谷歌DeepMind联合KAISTAI、Mila人团队通过统一参数共享、自适应递
- Pandas 处理缺失数据
文章目录Pandas处理缺失数据缺失数据约定的权衡Pandas中的缺失数据None作为哨兵值NaN:缺失的数值数据Pandas中的NaN和NonePandas可空数据类型对缺失值的操作检测空值删除空值填充空值总结Pandas处理缺失数据许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的。尤其是,许多有趣的数据集都会存在一定程度的数据缺失。更复杂的是,不同的数据来源可能
- 小华单片机 HC32L系列的GPIO简单配置函数
西柚肉嘟嘟
HC32Lc语言开发语言
1.将此函数放在自己的GPIO配置函数中并添加gpio.c头文件/***@brief初始化GPIO配置*@param[in]gpio_port:GPIO端口号(如GpioPortB)*@param[in]mode:模式(GPIO_MODE_INPUT/GPIO_MODE_OUTPUT)*@param[in]pull_up_down:上下拉配置(GPIO_PUPD_NONE/GPIO_PUPD_UP
- 7月24日总结
克莱因蓝lhy
前端
BUU树洞用xss安全平台上的js代码获取网站的cookie和URL抓包修改cookie后即可回显flag信息收集网络安全入门—信息收集(完整版)_安全信息搜集-CSDN博客子域名收集1.oneforallOneForAll工具:安装指南、使用方法及常见问题解决(超全)-CSDN博客pythononeforall.py--targetxxxxxxrun(xxxx是查询的域名)2.搜索引擎高级语法s
- Qt按钮风格设置
楚Y6同学
QT复盘总结笔记qt开发语言
在Qt中,可以使用样式表(QSS)来定制按钮的外观和交互效果。下面介绍几种常见的按钮风格设置方法。基础按钮样式QPushButton{background-color:#4CAF50;/*背景色*/border:none;/*无边框*/color:white;/*文字颜色*/padding:8px16px;/*内边距*/text-align:center;/*文字居中*/text-decorati
- 5种禁止用户复制的实用方案
技术小馆
javaAI编程
想获取更多高质量的Java技术文章?欢迎访问Java技术小馆官网,持续更新优质内容,助力技术成长技术小馆官网在数字化时代,内容保护成为许多网站和应用的重要需求。无论是保护原创文章、防止代码泄露,还是维护商业机密,禁止用户复制功能都扮演着关键角色。然而,仅仅依靠CSS的user-select:none属性往往无法应对所有场景,用户仍然可以通过多种方式绕过这些基础限制。1.CSS样式控制方案1.1us
- 一天两道力扣(3)
薰衣草2333
leetcodeleetcode算法
解法一:classSolution(object):definvertTree(self,root):ifnotroot:returnNoneroot.left,root.right=root.right,root.leftself.invertTree(root.right)self.invertTree(root.left)returnroot解析:递归解法二:classSolution(ob
- 【云笔记搭建】Visual Code + Github仓库 + Git
GPNU_Log
githubgitvscode云端
0.前言文章目录0.前言1.需要的工具2.工具准备2.1VisualCode2.2Github仓库1.自行注册账号2.点击右上方新建仓库3.填写仓库信息4.获取仓库token2.3git的安装与使用3.笔记的使用及VisualCode插件的推荐3.1新建笔记文件夹3.2插件的推荐3.2.1.PicGo3.2.2markdownlint3.2.3MarkdownAllinone4.一些小技巧4.1改
- python怎么把函数返回值_python函数怎么返回值
python函数使用return语句返回“返回值”,可以将其赋给其它变量作其它的用处。所有函数都有返回值,如果没有return语句,会隐式地调用returnNone作为返回值。python函数使用return语句返回"返回值",可以将其赋给其它变量作其它的用处。所有函数都有返回值,如果没有return语句,会隐式地调用returnNone作为返回值。一个函数可以存在多条return语句,但只有一条
- 在UniApp中防止页面上下拖动的方法
阿凤21
uni-app前端
1、pages.json中在某个页面设置禁用弹性滚动的页面{"path":"pages/yourPage/yourPage","style":{"app-plus":{"bounce":"none"}}}2、pages.json中在所有页面设置禁用弹性滚动的页面{"globalStyle":{"app-plus":{"bounce":"none"}}}3、使用css实现/*禁用页面滚动*/page
- python pywebview + vue3 做桌面端
妃衣
python开发语言
pythonpywebview+vue3做桌面端Api.py#传给前端的api对象,定义了一个可以通过js调用退出当前应用的函数classApi:def__init__(self)->None:self._window=None#java运行的线程self.process=Nonedefset_process(self,_process):self.process=_processdefset_w
- 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