- pytorch-lightning使用笔记
真炎破天
深度学习基础知识nlppytorch深度学习
LightningDataModuleAPI定义5个方法:prepare_data(howtodownload(),tokenize,etc…)在这个方法中处理需要写入磁盘或者需要单进程完成的任务setup(howtosplit,etc…)一些dataoperations希望在每块GPU上运行。包括但不限于:(1)countnumberofclasses(2)buildvocabulary(3)p
- ASP .NET Core 中对于 JWT 的封装与使用
爱吃番茄炒蛋..
.netcoreasp.netc#
JWT原理:JWT原理配置JWT(1)书写JWT配置节点,节点下创建SecKey,ExpireSeconds两个配置项,分别代表着JWT的密钥和过期时间(我这里配置在了appsettings.json中,过期时间单位为秒,可根据自身情况选择)(1)创建配置类,包含SecKey(密钥)、ExpireSeconds(过期时间)两个属性(例如JWTOptions类,名字等啥的不需要一样),方便我们读取配
- 【uniapp】uni.setClipboardData 方法失效 bug 解决方案
xixixin_
uni-appjava前端
写了一个copy方法,但是怎么也没有弹窗复制成功复制逐步打印发现1正常打印,2没有打印,说明问题出现在setClipboardData方法执行中toCopy(n){//console.log('1',typeofn)//number类型consttemp=String(n)uni.setClipboardData({data:temp,success:()=>{//console.log('2',
- 深入剖析Redis分布式锁:Redlock算法源码解读与实战
猿享天开
java开发语言
《深入剖析Redis分布式锁:Redlock算法源码解读与实战》一、分布式锁的挑战与Redlock的诞生1.1单机Redis锁的局限性//单机Redis锁示例(SETNX+EXPIRE)Jedisjedis=newJedis("localhost",6379);StringlockKey="my_lock";StringlockValue=UUID.randomUUID().toString();
- 力扣349. 两个数组的交集解析-11.2(day05)
前端大白_
leetcode算法javascript前端哈希算法散列表
因为今天是第一次写有关哈希表的题,所以尽管这题是简单,我也从中学到了很多东西。自己第一次看到时候的想法:这道题使用哈希表之前我只会用暴力解法——两个for循环,将相同的数放到一个新数组中,然后返回。使用哈希表后:哈希表中的set刚好可以完美适配这道题,无序且不重复。关于set中的方法(js):1.newSet(),可以直接创建一个空的set表,Set后的括号中带上数组的话就是将数组转换成Set表(
- Java注入bean的方式_详解Spring中bean的几种注入方式
虚·伪
Java注入bean的方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入。依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖。Spring容器中支持的依赖注入方式主要有属性注入、构造函数注入、工厂方法注入。接下来将为大家详细介绍这三种依赖注入的方式以及它们的具体配置方法。1.属性注入属性注入即通过setXXX()方法注入bean的属性值或
- Redis从入门到实践:Java开发者指南
听闻风很好吃
redisredisjava
一、Redis简介1.1什么是Redis?Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对存储系统,支持多种数据结构,提供持久化功能。因其高性能(10万+QPS)和丰富特性,被广泛应用于缓存、队列、会话管理等场景。1.2核心特性支持String/Hash/List/Set/ZSet等数据结构数据持久化(RDB/AOF)主从复制与高可用(Sentinel)分布
- python的numexpr库的set_num_threads()函数
changzi990
python
set_num_threads()Numexpr支持多线程计算,可以通过set_num_threads函数来设置使用的线程数。ne.set_num_threads(4)#设置使用4个线程
- Java中,spark提供的Dataset详解
小巫程序Demo日记
Spark+Hadoop学习Javajavaspark开发语言
小巫程序Demo日记:SparkDataset使用全解Java和scala的Dataset的创建方式有所不同,因为Java的API和类型系统与Scala不同。比如,Scala中的隐式转换和case类在Java中并不适用,需要用JavaBean或Encoders来明确指定类型。基本操作部分,比如show()和printSchema(),这些方法在Java中应该是一样的,因为Spark的DataFra
- Sklearn入门之datasets的基本用法
起个破名想半天了
机器学习sklearn人工智能python
、Sklearn全称:Scipy-toolkitLearn是一个基于scipy实现的的开源机器学习库。它提供了大量的算法和工具,用于数据挖掘和数据分析,包括分类、回归、聚类等多种任务。本文我将带你了解并入门Sklearn下的datasets在机器学习中的基本用法。获取方式pipinstallscikit-learn模块结构在Python中,要想熟练地使用一个库来完成各种任务,那么我们必须得对这个库
- 雷池 WAF:下一代 Web 应用防火墙的革新
web前端+k8s
网络安全
在线安装(推荐)如果服务器可以访问互联网环境,推荐使用该方式复制以下命令执行,即可完成安装bash-c"$(curl-fsSLkhttps://waf-ce.chaitin.cn/release/latest/setup.sh)"如果需要使用华为云加速,可使用CDN=1bash-c"$(curl-fsSLkhttps://waf-ce.chaitin.cn/release/latest/setup
- windeployqt打包程序
CSUC
qt
Qt打包:(1)Qt编译出Release版的Test.exe(1)启动Qt5.15.2(MSVC201932bit)控制台;(2)执行windeployqt.exeD:\自定义路径\Test.exe(3)将资源文件以及所有工程编译出的dll库复制到自定义路径(4)双击运行自定义路径下的Test.exe(有可能还缺少.dll,直接从Qt或网上下载)(5)如有需要,继续使用使用InnoSetup制作安
- python利用gdal读取、写出tif格式的遥感卫星影像,包含超大数据量的读写
唯物主义孙讨逆
pythonpython开发语言图像处理矩阵
gdal库特别强大,可以很方便的读写带有地理参考的影像数据1.使用gdal读取tif图像,读入数组data中:fromosgeoimportgdal,osrdefreadTif():#输入路径地址tifpath=r"D:\data.tif"#gdal打开影像,成为dataset数据集(这一步没有放入内存中)dataset=gdal.Open(tiffile,gdal.GA_ReadOnly)#读取
- clickhouse踩过的坑-----建表建库on cluster命令使用超时(code:159)distributed_ddl_task_timeout (=180) seconds
Smile to everyday
clickhouse
建库建表语句createdatabasetestonclusterclickhouse_cluster;报错信息↘Progress:0.00rows,0.00B(0.00rows/s.,0.00B/s.)Receivedexceptionfromserver(version20.1.4):Code:159.DB::Exception:Receivedfromlocalhost:9000.DB::E
- 深入解析Vue3:从入门到实战(详细版)
布兰妮甜
#Vue前端框架Javascript前端
文章目录前言一、Vue3简介官网地址主要特点二、安装与创建Vue3项目使用VueCLI创建项目使用Vite创建项目三、CompositionAPI详解Setup函数ref与Reactive生命周期钩子计算属性和监听器四、新特性与优化响应式系统更好的TypeScript支持类型定义类型推断新组件全局API重构更好的测试支持五、实战案例结语前言Vue.js是一款用于构建用户界面的渐进式JavaScri
- Supabase MCP 服务器安装与配置指南
甄英贵Lauren
SupabaseMCP服务器安装与配置指南supabase-mcpConnectSupabasetoyourAIassistants项目地址:https://gitcode.com/gh_mirrors/supab/supabase-mcp1.项目基础介绍SupabaseMCP(ModelContextProtocol)服务器是一个开源项目,用于将Supabase数据库与AI助手(如Cursor、
- C++STL(七):容器之set全家桶
问槿
C++STLc++开发语言vscodewindows
1.基本定义//有序settemplate,classAllocator=allocator>classset;//允许重复键的有序settemplate,classAllocator=allocator>classmultiset;//无序settemplate,classKeyEqual=equal_to,classAllocator=allocator>classunordered_set;
- 力扣热题100—滑动窗口(c++)
岩中竹
leetcodec++算法数据结构
3.无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。unordered_setcharSet;//用于保存当前窗口的字符intleft=0;//窗口左指针intmaxLength=0;//最长子串的长度for(intright=0;rightresult;if(s.empty()||p.empty()||s.size()pFreq,windowFreq;for(c
- LeetCode算法题(Go语言实现)_50
LuckyLay
LeetCode算法leetcodegolang
题目现有一个包含所有正整数的集合[1,2,3,4,5,…]。实现SmallestInfiniteSet类:SmallestInfiniteSet()初始化SmallestInfiniteSet对象以包含所有正整数。intpopSmallest()移除并返回该无限集中的最小整数。voidaddBack(intnum)如果正整数num不存在于无限集中,则将一个num添加到该无限集中。一、代码实现(堆与
- libevent的各个基本函数的使用
whoarethenext
算法linux服务器libeventc++后端
libevent也是为后续服务器与客户端搭建做准备,有利于大家能更容易阅读源码event_newevent_freeevent_debug_unassignevent_addevent_delevent_base_onceevent_pendingevent_base_setevent_get_eventsevent_get_callbackevent_get_baseevent_get_base
- Oracle 物理 DG 转 ADG 步骤
Lucifer三思而后行
DBA日常小知识oracle
DataGuard物理备库,正常为mount状态,如果想要进行查询,需要转为ADG,即readonly状态!在开启为readonly之前,需要给备库添加n+1组的standbyredolog!查询主库的redolog:setline222setpagesize1000colmemberfora60selectt2.thread#,t1.group#,t1.member,t2.bytes/1024/
- Spring开发系列教程(18)——集成MyBatis
软件定制开发工作室
Spring系列教程spring
使用Hibernate或JPA操作数据库时,这类ORM干的主要工作就是把ResultSet的每一行变成JavaBean,或者把JavaBean自动转换到INSERT或UPDATE语句的参数中,从而实现ORM。而ORM框架之所以知道如何把行数据映射到JavaBean,是因为我们在JavaBean的属性上给了足够的注解作为元数据,ORM框架获取JavaBean的注解后,就知道如何进行双向映射。那么,O
- 刷题分享_11_25
05020810
算法刷题算法
刷题分享1.(力扣349)这是一道用哈希表解决的经典题目。但在实现哈希表的时候,一般有vec,set,map,三种情况。对于数据量较小的时候,可以选择用vec,它对于数据的访问较于其他两个更快一点。如果此题不限制数据范围,则应该用set来存储,如果使用vec可能会浪费大量空间*这是用set实现的版本,因为set底层是用数结构实现的,所以可以使用unordered_set来存储,正好可以利用set不
- chromedriver关闭chrome更改密码提示框
javachromedriver关闭chrome更改密码提示框(密码泄露提示框)ChromeOptionsoptions=newChromeOptions();Mapprefs=newHashMap();//关闭提示框prefs.put("profile.password_manager_leak_detection",false);options.setExperimentalOption("p
- vue3-什么是expose,是如何使用的,以及defineExpose的用法
VtoC
Vue3vue.jsjavascript前端
在使用单文件组件创建一个子组件时,可能遇到父组件需要调用子组件的方法,或者访问子组件的变量,在使用vue2或仅标签中只需要子组件上写一个ref='xxx'变量,父组件通过this.$refs['xxx']就可以直接访问子组件的方法或变量。实现如下:如子组件有一个方法clear(),vue2或非setup用法时,非的父组件是这么调用的:<button@click="childHandle"
- Dynamics 365 Business Central Master Data Managerment Setup 主数据管理
jmsail
Dynamics365BusinessCentralD365BCERPDynamics365
#Dynamics365BCERP##Navision#引言在BC中除了之前有一个章节提到的用Code同步资料,也可以用内置主数据管理功能来同步资料。MasterDataManagementSetup设置SourceCompany为主要管理主数据的公司SynchronizationTables设置需要同步的Table这里比如同步Item,系统会提示同步相关的RelationshipTable.这里
- vue3 defineExpose 如何在父组件用ref调用子组件的方法
都挺好,刚刚好
vue3javascriptvue.js前端
vue3使用setup语法糖后如何在父组件用ref调用子组件的方法什么是setup语法糖更少的样板内容,更简洁的代码。能够使用纯Typescript声明props和抛出事件。更好的运行时性能(其模板会被编译成与其同一作用域的渲染函数,没有任何的中间代理)。//要使用这个语法,需要将setupattribute添加到代码块上:console.log('helloscriptsetup')//里面的代
- 做定时任务,一定要用这个神库!!
沉浸式趣谈
javascriptnode.js
Hey,我是沉浸式趣谈本文首发于【沉浸式趣谈】,我的个人博客https://yaolifeng.com也同步更新。转载请在文章开头注明出处和版权信息。如果本文对您有所帮助,请点赞、评论、转发,支持一下,谢谢!说实话,作为前端开发者,我们经常需要处理一些定时任务,比如轮询接口、定时刷新数据、自动登出等功能。过去我总是用setTimeout和setInterval,但这些方案在复杂场景下并不够灵活。我
- Vue3+Vite中使用SCSS
会飞的鱼先生
前端vue.jsjavascript
一、安装SCSS在创建好Vue项目后,在项目路径中打开命令行输入以下命令:npmisasssass-loader--save-dev二、使用SCSS安装完成后便可以在项目中使用SCSS,需要在style标签中设置lang属性为scss如:@use'../../assets/style/index.scss'asbase;//引入单独的scss文件.login-wrap{width:100%;hei
- SAP FI 固定资产模块(Asset Accounting,AA)业务诠释
SAP老兵-kill SAP
SAP-FICOSAPFI固定资产
SAPFI固定资产模块(AssetAccounting,AA)介绍SAPFI固定资产模块(AssetAccounting,AA)是企业资源计划(ERP)中财务管理(FI)的核心子模块,专注于管理企业固定资产的全生命周期,涵盖资产购置、折旧、转移、报废等关键流程。该模块与SAP其他模块深度集成,支持多会计准则、自动化折旧计算及实时数据更新,确保企业资产管理的合规性和高效性。一、模块核心功能资产主数据
- 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