完数:一个数的所有因子(除本身外)之和等于这个数,称这个数为完数intmain()//{//inti,j,sum;//for(i=1;i<=1000;i++)//寻找1000之内的完数//{//sum=0;//因子之和的初始化//for(j=1;j
【Java数据结构】二叉树相关算法
回响N
算法数据结构java开发语言链表
第一题:获取二叉树中结点个数得到二叉树结点个数,如果结点为空则返回0,然后再用递归计算左树结点个数+根结点(1个)+右树结点个数。publicintnodeSize(Noderoot){if(root==null)return0;returnnodeSize1(root.left)+nodeSize1(root.right)+1;}第二题:获取叶子结点的个数得到叶子结点个数和结点总数的做法相同,也
C++ unordered_map
我要满血复活
c++开发语言
1.unordered系列关联式容器在C++98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行很少的比较次数就能够将元素找到,因此在C++11中,STL又提供了4个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本类似,只是其底层结构不同,该系列容
华为OD机试E卷 --热点网站统计--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024华为odjavajavascriptpythonc++c语言
文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页URLtopN。请设计一个算法,可以高效动态统计TopN的页面。输入描述每一行都是一个URL或一个数字•如果是URL,代表一段时间内的网页访问•如果是一个数字N,代表本次需要输出的TopN个URL输入约束:总访问网
C语言的那点事第三篇:数据类型脱口秀
暮雨哀尘
c语言开发语言青少年编程蓝桥杯算法编辑器
咱们就来一场“编程界的脱口秀”,边抖包袱边写代码,让枯燥的语法也“活”起来。一、数据类型(一)基本数据类型1.整型整型就是那些规规矩矩、不带小数的数字,像1、2、3这种。在代码里,我们可以这样定义一个整型变量:intnum=10;这就相当于在数字王国里,我们抓了一个叫“num”的小兵,给它穿上了整型的制服,还让它站到10这个位置上。2.浮点型浮点型就有点“放荡不羁”,它带着小数点,像3.14这种。
Rust实现内网穿透工具:从原理到实现
余识-
Rust从入门到精通rust开发语言
目录1.前言2.内网穿透原理3.丐版实现3.1share3.2server3.3client3.4测试4.项目优化4.1工作空间4.2代码合并4.3无锁优化4.4数据分离4.5错误处理4.6测试代码4.7参数解析本篇原文为:Rust实现内网穿透工具:从原理到实现更多C++进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网1.前言rust是一门非常适合写命令行工具的语言,本文将结合
C语言进阶复习
Zhe_lianxi
c语言算法开发语言
今天复习了指针相关概念,前几天有个gets警告的问题,今天来解决一下。对此写一个GetStr函数,参数1:需要获取字符串的字符数组参数2:此字符数组的大小对此,这个编译警告的问题就解决了。#includevoidGetStr(char*Str,intlen);//函数声明intmain(void){charstr[128]={0};GetStr(str,sizeof(str));printf("%
音视频开发——FFmpeg 实现MP4转FLV文件 C语言实现
Trump. yang
音视频开发音视频ffmpegc语言
文章目录转换步骤关键代码完整代码转换步骤初始化FFmpeg库打开输入文件找到输入文件的流信息打开输出文件并设置输出格式创建输出文件的流初始化解码器和编码器读取输入文件的帧并写入输出文件释放资源关键代码1初始化FFmpeg库:av_register_all();打开输入文件:if((ret=avformat_open_input(&input_format_ctx,input_filename,NU
华为OD机试2024年E卷-喊7的次数重排[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
梅花C
华为OD题库华为od
题目描述喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊"过"。假定玩这个游戏的N个人都没有失误地在正确的时机喊了"过",当喊到数字K时,可以统计每个人喊"过"的次数。现给定一个长度为N的数组,存储了打乱顺序的每个人喊"过"的次数
C/C++中的strcmp函数的源代码
凌龍墨
C语言c语言中strcm的源代码strcmp函数
附上源代码,不懂得地方可以提问共同提高`#includeintmy_strcmp(constchar*string1,constchar*string2){intret=0;while(!(ret=*(unsignedchar*)string1-*(unsignedchar*)sting2)&&*string2){//从两个字符串的首字母开始比较,相等则进入循环,继续后面字符的比较++string
用c语言写出变色的心形图案
凌龍墨
C语言c语言心形图案变色心形图案
直接上代码啦!#include#include#include#defineI20#defineR340intmain(){inti,j,e;inta;longtime;for(i=1,a=I;i0;j--)printf("");for(e=1;e0;j--)printf("");for(e=1;e0;j--)printf("");for(e=1;e<=2*(sqrt(R*R-i*i)-(R-2*
实战千问2大模型第五天——VLLM 运行 Qwen2-VL-7B(多模态)
学术菜鸟小晨
千问多模型qwen2vl
一、简介VLLM是一种高效的深度学习推理库,通过PagedAttention算法有效管理大语言模型的注意力内存,其特点包括24倍的吞吐提升和3.5倍的TGI性能,无需修改模型结构,专门设计用于加速大规模语言模型(LLM)的推理过程。它通过优化显存管理、支持大模型的批处理推理以及减少不必要的内存占用,来提高多GPU环境下的推理速度和效率。VLLM的核心特点包括:显存高效性:VLLM能够动态管理显存,
蓝桥杯备赛 Day10.4移动路线
丘大梨
蓝桥杯职场和发展
信息学奥赛一本通(C++版)在线评测系统【题目描述】X桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个
C++auto和decltype的用法
programming expert
算法数据结构
在C++中,auto和decltype是两个非常有用的关键字,它们帮助程序员更方便地处理类型推导和类型声明。以下是它们的具体用法:autoauto关键字用于自动类型推导,即让编译器根据初始化表达式来推断变量的类型。这在处理复杂类型或模板编程时特别有用,因为它可以简化代码并减少类型错误。用法示例:#include#includeintmain(){//自动推导整数类型autox=42;//x的类
【经典算法】LeetCode 66. 加一(Java/C/Python3实现含注释说明,简单)
天天学长爱编程
LeetCode算法leetcode
题目描述给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。思路及实现方式一:反转数组后逐位相加思路首先,将数组反
【LGR-196-Div.4】洛谷入门赛 #26 题A - H 详细题解--优化思路简洁代码(C++,Python语言描述)
多思考少编码
洛谷入门赛题解算法c++python开发语言
前言:觉得这个比赛很有意思的,都是暴力题,涉及一些细节,难度比较适合刚学编程语言的,可以很好的锻炼基础还有手速,最后两题也是比较有意思,之后也准备更新atc的比赛题解和洛谷的一些高质量比赛题解(算法网瘾就是想参加各种比赛)如果觉得有帮助,或者觉得我写的好,可以点个赞或关注,也可以看看我的一些其他文章,我之后也会更新一些基础算法详细解释比赛链接:【LGR-196-Div.4】洛谷入门赛#26-洛谷|
简单线性插值去马赛克算法的Python实现
大DA_辉
ISP图像处理_pythonpython计算机视觉人工智能
在图像处理领域中,去马赛克(Demosaicing)是一项关键技术,用于从单色彩滤波阵列(CFA)图像恢复全彩图像。本文将介绍一种简单的线性插值去马赛克算法,并将其从MATLAB代码转换为Python代码。最终结果将展示如何从Bayer格式的图像数据恢复出RGB全彩图像。什么是马赛克图像?马赛克图像是一种通过在传感器上覆盖彩色滤光片阵列(CFA)生成的单通道图像。最常见的CFA模式是Bayer模式
GAN在图像增强中的应用实战指南
码字仙子
本文还有配套的精品资源,点击获取简介:图像增强技术通过算法改善图像质量,GAN作为一种生成对抗网络,在此领域具有重要应用。通过生成器和判别器的对抗性训练,GAN可以生成逼真图像、修复低质量图像、扩增数据集并进行风格迁移。本项目将介绍如何使用Python及其相关库实现GAN图像增强,包括模型的构建、训练和评估。通过项目案例学习,你可以掌握GAN在图像增强中的实际应用,提高图像处理和深度学习的技能。1
【Python机器学习】无监督学习——K-均值聚类算法
zhangbin_237
Python机器学习机器学习算法pythonkmeansk-means均值算法
聚类是一种无监督的学习,它将相似的对象归到同一簇中,它有点像全自动分类。聚类方法几乎可以应用于所有的对象,簇内的对象越相似,聚类的效果越好。K-均值聚类算法就是一种典型的聚类算法,之所以称之为K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成。簇识别给出聚类结果的含义,假定有一些数据,现在将相似数据归到一起,簇识别会告诉我们这些簇到底都是些什么。聚类与分类的最大不同在
黑客常备十大编程语言,每一个都不容易学,但每一个又很有用
一秋的编程笔记
Python编程计算机科技数据库sql爬虫python自动化编程语言
文章目录1、C语言2、Python3、SQL4、Javascript5、PHP6、C++编程7、JAVA8、Ruby9、Perl10、BashPython学习资源分享1、Python所有方向的学习路线2、学习软件3、精品书籍4、入门学习视频5、实战案例6、清华编程大佬出品《漫画看学Python》7、Python副业兼职与全职路线一定要注意,您选择的编程将在很大程度上取决于您要定位的系统类型和计划使
【c++】【算法】【动态规划】最长公共子序列
钟离墨笺
算法算法c++动态规划
【c++】【算法】【动态规划】最长公共子序列//递归方式//最长公共子序//直接递归求最长公共子序长度intFindValue(conststring&X,conststring&Y,inti,intj){if(i==0||j==0)return0;if(X[i]==Y[j])returnFindValue(X,Y,i-1,j-1)+1;elsereturnstd::max(FindValue(X
二叉树算法 JAVA
爱掉发的小龙
java开发语言前端后端python
二叉树是一种常用的数据结构,它由一系列的节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。在Java中,我们可以通过定义一个二叉树的节点类来实现二叉树算法。一个典型的二叉树节点类如下所示:classNode{intval;Nodeleft;Noderight;publicNode(intval){this.val=val;this.left=null;this.right=null;
《鸿蒙Next应用商店:人工智能开启智能推荐与运营新时代》
人工智能深度学习
在科技飞速发展的当下,鸿蒙Next系统的出现为操作系统领域带来了新的变革与机遇,而人工智能技术的融入更是让其应用商店的智能化推荐和运营迈向了一个全新的高度。用户画像精准构建在鸿蒙Next系统中,应用商店可以借助系统强大的权限管理和数据收集能力,全方位收集用户的多维度数据。通过对用户在应用商店内的浏览历史、下载记录、搜索关键词,以及在其他鸿蒙应用中的使用行为等多源数据进行汇总和分析,利用人工智能算法
机器学习特征重要性之feature_importances_属性与permutation_importance方法
一叶_障目
机器学习python数据挖掘
一、feature_importances_属性在机器学习中,分类和回归算法的feature_importances_属性用于衡量每个特征对模型预测的重要性。这个属性通常在基于树的算法中使用,通过feature_importances_属性,您可以了解哪些特征对模型的预测最为重要,从而可以进行特征选择或特征工程,以提高模型的性能和解释性。1、决策树1.1.sklearn.tree.Decision
C语言 qsort 详解
Communist19
c语言开发语言
qsort1.定义:qsort,基于快速排序(QuickSort)算法的一个库函数,可以将一串整型类型、浮点类型、字符串类型、结构体类型等的数据进行排序。比冒泡排序,选择法排序好用,且速度更快。2.语法:具体语法如下:qsort(arr,sizeof(arr)/sizeof(arr[0]),sizeof(int),cmp)形参1:arr:需排序数组的首个元素的地址(切记不能用arr[0],arr[
遗传算法
神罗天征666
c++整理算法
遗传算法(GA)一、什么是遗传算法?遗传算法(GeneticAlgorithm,GA)是一类模仿生物进化过程的搜索启发式算法。它们是由约翰·霍兰德(JohnHolland)在20世纪70年代初提出的。遗传算法通过自然遗传机制(如选择、交叉、变异等)的模拟,对问题的潜在解进行进化,以期找到或逼近最优解。基本原理是类比达尔文进化论—“物竞天择,适者生存”其实很好理解,学过生物的都知道达尔文进化论的大概
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