- 万字详解:MCP(Model Context Protocol)原理与代码实战指南
AI天才研究院
AI大模型企业级应用开发实战AI人工智能与大数据计算人工智能aimcp
文章目录万字详解:MCP(ModelContextProtocol)原理与代码实战指南目录1.MCP概述与设计哲学1.1设计目标1.2技术架构1.3技术实现与协议流程1.4典型交互流程2.技术架构与核心组件2.1架构分层2.2核心组件2.3消息格式3.协议细节与通信机制3.1协议层规范3.2传输层实现3.3StreamableHTTP升级4.安全机制与性能优化4.1安全机制4.2性能优化5.典型应
- Node.js入手笔记材料
badman250
后端开发
Node.js入手笔记材料简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeJavaScript运行是建立的一个平台,是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。1安装Node.js安装包及源码下载地址为:https://nodejs.org/en/down
- 使用Node.js连接MySQL:简单而强大
程序编码实践周师傅
node.jsmysql数据库编程
Node.js是一种流行的服务器端运行环境,它以其高效的异步事件驱动模型而闻名。结合MySQL数据库,你可以构建强大的Web应用程序和服务端应用程序。本文将为你介绍如何使用Node.js连接MySQL,并提供相应的源代码示例。步骤1:安装必要的软件包在开始之前,你需要确保已经安装了以下两个软件包:Node.js:你可以从Node.js官方网站(https://nodejs.org)下载并安装适合你
- 【数据结构课设】稀疏矩阵的三元组存储和转置 C语言
Littlewith
随便教点C语言矩阵数据结构c语言
注:着急想要源代码的请自取哦,项目地址在https://github.com/littlewith/Matrix-transpose个人主页:https://littlewith.top博客:https://littlewith.github.io程序设计:1.1课程设计课题:利用稀疏矩阵的三元组表示法求其转置矩阵,并输出转置后的矩阵和其三元组的表示。(限一人完成)1.2课程设计程序需求分析:(1
- java基础----HashMap,ConCurrentHashMap,HashTable的区别
pgydbh
引用了http://www.importnew.com/24822.html知识点①hash集合中,不能存在key相同键值对。后面插入的会替换前面的。put(1,100);put(1,200)。get(1)=200。②hashmap不是线程安全的。③hashtable是线程安全的。用的是整个数组加锁。④conCurrentHaskMap是线程安全的。用的是分段加锁,不同的段可以同时插入。所以速度比
- css3地球转动模型(动态数据)
参考资源:https://www.jq22.com/jquery-info24302{{!item.permission?'暂无权限':''}}{{item.name}}exportdefault{data(){return{list:[{id:"81e5f51d6ab845fca406bdc8b0c50e34",homeUrl:"/workbenches",name:'交易管理后台',img:'
- Flask后端框架的路由系统详解
AI大模型应用实战
flaskpython后端ai
Flask后端框架的路由系统详解关键词:Flask、路由系统、URL映射、视图函数、装饰器、动态路由、RESTfulAPI摘要:本文深入探讨Flask框架的路由系统,从基础概念到高级应用全面解析。文章首先介绍路由的基本原理,然后详细讲解Flask的路由实现机制,包括静态路由、动态路由、HTTP方法处理等核心功能。通过Python代码示例和Mermaid流程图,展示路由系统的内部工作原理。最后,结合
- 网络基本知识-http
Askeladd
前言从今天开始陆续把我的库存试着发出来阿简(Askeladd的)不发表任何主观个人对该技术的感想,只客观的学习分享,大家一起学习,一起进步~框架图框架图.png1.概念(1)在五层协议、TCP/IP协议(四层协议)中,位于最高的应用层(2)HyperTextTransferProtocol(全称)超文本传输协议(3)http采用请求/响应的工作方式(即server端不断监听TCP端口80,等待客户
- Axios Token 设置示例
以下是一个完整的AxiosToken设置示例,涵盖全局配置、请求拦截器和单次请求设置三种方式:1.基础配置(推荐方案)javascript复制代码importaxiosfrom'axios';//创建Axios实例constapiClient=axios.create({baseURL:'https://api.yourdomain.com',timeout:10000,});//请求拦截器(自动
- Node.js 倒计时图片服务部署与 Nginx 反向代理实战总结
易易前端
nodenode.jsnginx运维
Node.js倒计时图片服务部署与Nginx反向代理实战总结场景描述我们希望实现一个倒计时图片接口,供邮件等外部平台引用,如:https://your-domain.com/countdown/countdown.png?end=2025-09-30T00:00:00通过访问该链接生成实时倒计时PNG图,用于促销活动倒计时展示。技术栈与组件Node.js+Expresscanvas模块绘制PNGN
- Microsoft Office 2024专业版最新版安装包下载+安装教程
仰望天空—永强
数学建模硬件工程软件工程前端框架开发语言
[软件名称]:Office2024[软件大小]:5.15GB[系统要求]:支持Win7及更高版本[下载通道]:夸克网盘[下载链接]:https://pan.quark.cn/s/0e5b34b08c79注意⚠️:建议用手机保存到网盘后,再用电脑下载,电脑保存会丢失文件❗更多免费软件,影视,歌曲,游戏点这里https://docs.qq.com/sheet/DRkdWVFFCWm9UeGJP
- 关于使用FFmpeg进行视频拼接
关于使用FFmpeg进行视频拼接方案使用concatdemuxer使用concat协议更多支持其他方案使用concat滤镜失败其他工具MP4BoxMKVMergeMEncoder额外知识管道h264_mp4toannexb&aac_adtstoasc参考资料修改历史方案http://trac.ffmpeg.org/wiki/Concatenate使用concatdemuxerFFmpeg读取不同格
- Linux 使用 docker 安装 File Browser 文件浏览器
liupeng_blog
dockerdockerlinux运维
文章目录个人知识库FileBrowser简介环境要求一.新建文件目录1.1.新建docker-compose.yml1.2.编写docker-compose.yml二.文件赋权限三、新建filebrowser.json四.启动容器4.1.启动并下载镜像4.2.停止并删除容器五.访问Filebrowser六.FileBrowser设置七.DockerHub官网更多知识平台个人知识库云网站:http:
- 更新 remmina 为新版 VirtualBox 自动重连接正常
嗯是神经蛙
更新remmina方法:#echo'debhttp://ftp.debian.org/debianstretch-backportsmain'|sudotee--append/etc/apt/sources.list.d/stretch-backports.list>>/dev/nullecho'debhttps://mirrors.tuna.tsinghua.edu.cn/debianstret
- 【每周一晒】1126-1202(李梦)
李梦ing
【每周一晒】1126-1202(李梦)过去的一周,合作了,面基了,获奖了,开课了,旅游了,取得成就了……快来晒一下吧~(该内容将作为成长基金评选参考哦)提交表单:http://t.cn/EZ3AbFO————————————1.鼓励了一位小伙伴从新手版升级为终身版,突破自己,之前一直给别人推荐但是从来没有主动发自己的二维码2.完成新手版催作业的项目,完成700+的作业回馈,远远超出预期3.完成催作
- 磁盘分析软件(C盘爆满精确清理必备)---SpaceSniffer
潜心专研的小张同学
杂谈其他
1.第一步上图2.第二步分享软件链接:https://pan.baidu.com/s/1GhLmzNtG398ah_26lVV1aQ提取码:sfqf3.第三步简单使用教程3.1打开软件,选择要分析的盘(我这里选的C盘):3.2静待分析完成3.3根据分析的结果,删除对应文件目录的文件
- HTTPie: 开发者友好的http客户端工具
fire-flyer
http网络协议restful开发工具
一、HTTPie简介HTTPie是一个以开发者体验为核心的命令行HTTP客户端工具,目标是替代curl等传统工具,简洁优雅地发送HTTP请求并读取响应,尤其适用于调试、测试和日常开发中的RESTfulAPI操作。项目主页:HTTPie–APItestingclientthatflowswithyouGitHub:https://github.com/httpie/httpie二、核心特性功能类别H
- esp32 idf 使用http访问json直接拼接content_length = -1
包罗万码
httpjson网络协议esp32espidf
CMakeLists.txt添加网络请求库REQUIRESesp_http_client效果图D(14235)HTTP_CLIENT:content_length=-1需要直接拼接content_length才能打印#include#include#include"esp_log.h"#include"esp_system.h"#include"esp_event.h"#include"esp_n
- 《花雕学AI》04:尝鲜功能丰富且容易上手的AI绘画工具——Leonardo AI
驴友花雕
偶然机缘,我接触到了另外一个AI绘画平台:Leonardo.AI00.jpg它是一个新的AI图像平台,其输出质量可与目前最火的Midjourney相媲美,当然差距还是有的。其链接是https://leonardo.ai/,界面如下图。01.jpg我填写了电邮地址,申请试用的资格,后来,就没有下文了,呵呵......02.jpg然后,使用谷歌账号,居然马上通过了,取得了试用的资格。03.jpg04.
- Crash Course:10分钟心理学速成-【第23集】人格测量
ado_l
链接:https://open.163.com/newview/movie/courseintro?newurl=%2Fspecial%2Fopencourse%2Fcrashcoursepsychology.html重点1、人格特质(Trait)理论根据稳定持久的行为模式和有意识的动机来定义不同类型的人格。奥尔波特:通过“基本特质”的概念来描述人格。特质就是特征行为和有意识的动机,但他并没有对人
- url scheme 实现跳转到小程序页面
stand_forever
小程序
获取小程序scheme码,适用于短信、邮件、外部网页等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序码参考文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html/***获取urlscheme接口*/publicfu
- DPDK Sample Applications User Guides(42)Eventdev管道示例应用程序
超帅浩浩
SampleApplicationsUserGuidesDPDKeventdevpipeline
官方文档查看地址:http://doc.dpdk.org/guides/sample_app_ug/eventdev_pipeline.htmlPDF下载地址:https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-sample-applications-user-guide.h
- 微服务之间有哪些调用方式?
娄艺潇
微服务架构云原生
随着微服务架构的广泛应用,服务之间的通信方式成为了系统设计中的重要一环。微服务的核心理念是将系统拆分为多个独立的服务,每个服务负责特定的业务功能。为了实现这些服务之间的协作,通信方式的选择至关重要。微服务之间的通信方式主要分为两大类:同步通信:服务之间直接调用,通常需要立即返回结果。异步通信:服务之间通过消息队列等中间件进行通信,调用方无需等待结果。一、同步通信:实时交互,强依赖场景1.HTTP/
- ASP.NET Core MVC Redis 缓存应用
郑小晨
.NETRedisASP.NETCore缓存
环境:ASP.NETCoreMVC,Redis-Win-x64-3.2.100本文介绍在ASP.NETCoreMVC中怎么用Redis缓存数据。1、启动Redis服务器,就是让我们的Redis跑起来,具体参照https://blog.csdn.net/u012835032/article/details/115438693。2、要在ASP.NETCoreMVC中用Redis需要做什么?参考http
- 2021-02-13 152. 乘积最大子数组
止戈学习笔记
题目地址https://leetcode-cn.com/problems/maximum-product-subarray/题目描述给你一个整数数组nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例1:输入:[2,3,-2,4]输出:6解释:子数组[2,3]有最大乘积6。示例2:输入:[-2,0,-1]输出:0解释:结果不能为2,因为[-2
- 动力节点Spring学习笔记-王鹤(一)IOC控制反转
架构师指路
Spring框架学习笔记(一)IOC控制反转官方下载地址动力节点spring资料视频观看地址https://www.bilibili.com/video/BV1nz4y1d7uy一、IOC控制反转1.1概述控制反转(IoC,InversionofControl),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移
- Linux测速脚本
ljwheyxy
Linux服务器测速脚本:第一步:wgethttps://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py第二步:chmoda+rxspeedtest.py第三步:sudomvspeedtest.py/usr/local/bin/speedtest第四步:sudochownroot:root/usr/local/bi
- python进行geeMap环境安装
箭梭_
python
近期需要利用geemap搭建一个界面,试了一下相应环境的配置,踏了挺多坑,下面我给大家具体介绍一下geemap的环境搭建:(1)geemap是基于googleearthengine的接口进行开发的,在安装geemap之前,需要先进行earthengie包的安装,参考链接如下:https://zhuanlan.zhihu.com/p/29186942#comment-549701602?notifi
- conda安装geemap
Prophet.Z
geemapGEEcondapython深度学习
打个卡,开始学习使用geemap网址:http://geemap.org/installation/conda安装geemap:打开Anacondaprompt终端,输入:condainstallgeemap-cconda-forge吴秋生老师建议创建一个新的conda环境来安装geemap。安装以下命令设置condaenv并按照geemap和pygis,其中包括geemap的所有可选的安装包。c
- ANSYS 2025 R1软件下载及安装教程|附安装文件
仰望天空—永强
嵌入式硬件硬件工程智能硬件硬件架构数学建模
软件名称:ANSYS2.软件版本:2025R13.软件大小:52.2GB4.安装环境:win10/win11(64位)下载通道:夸克网盘链接:https://pan.quark.cn/s/ce34e3269bd4更多免费软件,游戏等点这里软件介绍ANSYS是一款由ANSYS,Inc.开发的工程仿真软件,广泛应用于结构、流体、电磁、热分析和多物理场耦合等领域。它支持有限元分析(FEA)、计算流体力学
- 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