- 机器学习必备数学与编程指南:从入门到精通
a小胡哦
机器学习基础机器学习人工智能
一、机器学习核心数学基础1.线性代数(神经网络的基础)必须掌握:矩阵运算(乘法、转置、逆)向量空间与线性变换特征值分解与奇异值分解(SVD)为什么重要:神经网络本质就是矩阵运算学习技巧:用NumPy实际操作矩阵运算2.概率与统计(模型评估的关键)核心概念:条件概率与贝叶斯定理概率分布(正态、泊松、伯努利)假设检验与p值应用场景:朴素贝叶斯、A/B测试3.微积分(优化算法的基础)重点掌握:导数与偏导
- Python数据可视化:用代码绘制数据背后的故事
AAEllisonPang
Python信息可视化python开发语言
引言:当数据会说话在数据爆炸的时代,可视化是解锁数据价值的金钥匙。Python凭借其丰富的可视化生态库,已成为数据科学家的首选工具。本文将带您从基础到高级,探索如何用Python将冰冷数字转化为引人入胜的视觉叙事。一、基础篇:二维可视化的艺术表达1.1Matplotlib:可视化领域的瑞士军刀importmatplotlib.pyplotaspltimportnumpyasnpx=np.linsp
- 使用 PyTorch 和 Pandas 进行 Kaggle 房价预测
Clang's Blog
AIpytorchpandas人工智能
文章目录1、环境设置2、数据下载3、数据预处理4、模型构建5、训练和验证6、训练模型并生成预测结果7、完整代码在本篇博文中,我们将探索如何使用PyTorch和Pandas库,构建一个用于Kaggle房价预测的模型。我们将详细讨论数据加载、预处理、模型构建、训练、验证及最终预测的全过程。1、环境设置我们首先需要导入所需的库,包括用于数据处理的pandas和numpy,以及用于深度学习的torch。i
- python进行常见的数学计算(方差,一元二次方程,求导,积分等等)
ccut 第一混
python
代码如下:importnumpyasnpimportmathimportcmathimportscipy#平均数defaverage(lst):sum_lst=0forninlst:sum_lst=sum_lst+nreturnsum_lst/len(lst)#方差defvariance(lst):average_lst=average(lst)sum_variance=0forninlst:su
- 解决:FFmpeg推流时报错:Broken Pipe
-米兰的小铁匠
ffmpegpython
最初利用如下代码进行FFmpeg推流:importsubprocessimportcv2importnumpyasnpimporttimeclassRTMPStreamer:def__init__(self,rtmp_url,width,height,fps=30):self.rtmp_url=rtmp_urlself.width=widthself.height=heightself.fps=f
- 轻松入门 NumPy(二):数组的升维降维操作
Sunhen_Qiletian
numpy
目录引言一.数组的维度、形状和轴1.1数组的维度(Dimensions)1.2数组的形状(Shape)1.3数组的轴(Axes)二.数组的升维(DimensionalityExpansion)2.1升维的操作方法2.2升维的实际应用三.数组的降维(DimensionalityReduction)3.1降维的操作方法1.使用reshape()降维2.flatten()方法3.2降维的实际应用四.总结
- pandas.to_sql mysql_pandas to_sql
weixin_39929595
pandas.to_sqlmysql
实例:importpymysqlimportpandasaspdimportnumpyasnpfromsqlalchemyimportcreate_enginedf=pd.DataFrame([[1,"Bob",0],[2,"Kim",1]],columns=["id","name","sex"])dfidnamesex01Bob012Kim1fromsqlalchemyimportcreate_
- Cpython
先编译在运行fromdistutils.coreimportsetup,ExtensionfromCython.Buildimportcythonizeimportnumpysetup(ext_modules=cythonize(Extension('dot_cython',sources=['dot_cython.pyx'],language='c',include_dirs=[numpy.ge
- Python代码库OpenCV之11 切割碑文
iCloudEnd
本文代码来自https://blog.csdn.net/u010095372/article/details/79420641源代码适用于python2,我做个简单修改测试图片测试图片代码#-*-coding:utf-8-*-importosimportnumpyasnpimportcv2.cv2ascvfrommatplotlibimportpyplotaspltimportheapqimpor
- day 34 打卡
weixin_39908253
AI学习笔记python机器学习
day21常见的降维算法#先运行之前预处理好的代码importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsimportwarningswarnings.filterwarnings('ignore')#设置中文字体plt.rcParams['font.sans-serif']=['SimHei']pl
- svm支持向量机实例--线性非线性实例代码可运行
fromsklearnimportsvmimportnumpyasnpimportsklearn#因为Python中的sklearn库也集成了SVM算法,所以在Python中一样可以使用支持向量机做分类#取数据集path=r'D:\svm\iris.data'#Iris.data的数据格式如下:共5列,前4列为样本特征,第5列为类别,分别有三种类别Iris-setosa,Iris-versicol
- 论文复现 Rank consistent ordinal regression for neural networks withapplication to age estimation
DeniuHe
Pytorch算法
importtorchimporttorch.nn.functionalasFfromtorchimportnnfromtorch.autogradimportVariableimportpandasaspdimportnumpyasnpfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccurac
- Pytorch实现目标检测
importosimportrandomimportpandasaspdimportnumpyasnpimportcv2fromsklearn.model_selectionimporttrain_test_splitimporttorchfromtorch.utils.dataimportDataset,DataLoaderimporttorch.nnasnnimporttorch.nn.fun
- Python中如何打开查看.npz文件
SEVEN是7
python开发语言
.npz文件是NumPy的压缩存档格式,可以包含多个数组(一个.npz文件包含几个数组)一、导入包importnumpyasnp二、数据加载poem=np.load('tang.npz',allow_pickle=True)使用NumPy的load()函数加载.npz文件:file_path:指定要加载的文件路径allow_pickle=True:允许加载包含Python对象(pickle)的数据
- Python 数据科学与可视化工具箱 (一) - 数组创建:array(), arange(), zeros(), ones(), linspace()
文章目录1.为什么需要NumPy数组创建函数?2.核心数组创建函数详解2.1`np.array()`:从现有数据创建数组2.2`np.arange()`:创建等差序列2.3`np.zeros()`:创建全零数组2.4`np.ones()`:创建全一数组2.5`np.linspace()`:创建等间隔序列3.其他常用数组创建函数(简要提及)总结练习题练习题答案创作不易,请各位看官顺手点点关注,不胜感
- PyZDDE:Python控制Zemax光学设计软件的实践指南
鄧寜
本文还有配套的精品资源,点击获取简介:Zemax软件广泛应用于光学设计领域,提供DDE接口实现与外部程序交互。PyZDDE是一个Python库,允许用户通过DDE通信协议控制Zemax,以自动化执行设计、优化和分析任务。本压缩包包含Python脚本实例,展示如何利用PyZDDE进行文件操作、模型构建、优化与分析、数据提取以及自动化流程,旨在提升光学工程师的工作效率。结合NumPy、SciPy和ma
- Python ffmpeg视频处理
程序媛一枚~
视频处理PythonOpenCVffmpegpython音视频
2.源码#coding=utf-8importffmpegimportgetpassimportsubprocessimportmatplotlib.pyplotaspltimportcv2importnumpyasnpimportos#ffmpeg相关的音视频操作指令函数#程序列表:'''comband_av音频视频合并comband_aa音频合并pick_v视频静音acceler
- 层次分析法代码笔记
骑驴看星星a
numpypython开发语言笔记
层次分析法一、核心在层次分析法中,通过算术平均法、几何平均法、特征值法计算指标权重,再通过一致性检验确保判断矩阵逻辑合理,为多准则决策提供量化依据。二、代码(一)一致性检验(判断矩阵合理性)importnumpyasnp#1.定义判断矩阵A=np.array([[1,2,3,5],[1/2,1,1/2,2],[1/3,2,1,1/2],[1/5,1/2,1/2,1]])#2.获取矩阵阶数(指标数量
- 排名前十的编程语言及其详细对比
NurDroid
开发语言
根据2025年4月的最新TIOBE排行榜以及其他综合榜单,当前排名前十的编程语言及其详细对比如下:1.Python•排名:第1位•核心特点:简洁语法、动态类型、丰富的生态库(如NumPy、TensorFlow)。•应用领域:AI/机器学习、数据分析、自动化脚本、Web开发(Django/Flask框架)。•性能:解释型语言,执行速度较慢,但开发效率极高,适合快速原型设计。•趋势:持续领跑AI领域,
- 如何解决pip安装报错ModuleNotFoundError: No module named ‘numpy’问题
万粉变现经纪人
全栈Bug解决方案专栏pipnumpypycharmpythonpandasscrapybeautifulsoup
【Python系列Bug修复PyCharm控制台pipinstall报错】如何解决pip安装报错ModuleNotFoundError:Nomodulenamed‘numpy’问题摘要在使用PyCharm开发Python项目时,常常需要通过pipinstall安装各类第三方包。然而,当安装完毕后,控制台仍然提示ModuleNotFoundError:Nomodulenamed‘numpy’,这让许
- 深度学习-数据操作
数据操作首先,我们来介绍n维数组,也称为张量(tensor)。GPU很好地支持加速计算,而NumPy仅支持CPU计算;并且张量类支持自动微分。这些功能使得张量类更适合深度学习。张量表示一个由数值组成的数组,这个数组可能有多个维度。具有一个轴的张量对应数学上的向量(vector);具有两个轴的张量对应数学上的矩阵(matrix);具有两个轴以上的张量没有特殊的数学名称。上图分别是1维到5维的张量的表
- python学习DAY22打卡
星仔编程
python学习打卡学习
作业:自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码kaggle泰坦尼克号人员生还预测importwarningswarnings.filterwarnings("ignore")#忽略警告信息#数据处理清洗包importpandasaspdimportnumpyasnpimportrandomasrnd#可视化包importseabornassnsimportmatp
- 推荐系统如何开发
一行代码通万物
python人工智能推荐系统
推荐系统实现了基于协同过滤的推荐功能支持两种推荐模式:基于用户的协同过滤(寻找相似用户喜欢的物品)基于物品的协同过滤(寻找相似物品)主要功能:数据加载(支持自定义数据或内置的MovieLens数据集)模型训练模型评估(计算RMSE和MAE指标)为指定用户生成推荐列表使用前需要安装依赖库:pipinstallsurprisepandasnumpy可以通过修改sim_options参数来调整相似度计算
- pandas库 DataFrame的常见操作
目录一.Pandas库的核心特点与应用场景1.表格数据处理2.与NumPy的区别3.数据转换二.Pandas与OpenPyXl的对比三.DataFrame与Series数据类型四.DataFrame常用操作排序:df.sort_values(by='列名',ascending=False)按指定列降序排序,整行数据同步调整,当参数值为ture时则为升序排序或默认升序排序数据替换:df['列名'].
- OpenCV快速入门【OpenCV环境安装与基本操作】
欧阳小猜
人工智能opencv人工智能计算机视觉
文章目录前言一、OpenCV简介与环境搭建1.OpenCV介绍2.OpenCV环境安装与验证二、图像的基本表示:NumPy数组1.图像在计算机的储存方式2.图像的访问(显示)和修改像素值3.图像的基本属性(高度、宽度、通道数)三、图像的读取与存储1.读取图像(cv2.imread)2.保存图像(cv2.imwrite)四、图像的基本操作1.图像切片2.图片的缩放3.图像的绘制3.1绘制直线3.2绘
- 机器学习-SVM支持向量机
支持向量机是一类监督学习算法,实现二分类,其决策边界是对学习样本求解的最大边距超平面。课程代码:importnumpyasnpmy_seed=2017np.random.seed(my_seed)importrandomrandom.seed(my_seed)importmatplotlibimportmatplotlib.pyplotaspltmatplotlib.rcParams['font.
- C++实战:数据标准化高效实现
DBSCAN基本DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)是一种基于密度的聚类算法,适用于发现任意形状的簇并识别噪声点。核心参数包括:eps:邻域半径,决定样本的邻域范围。min_samples:核心点所需的最小邻域样本数。Python实现步骤安装依赖库pipinstallnumpymatplotlibscikit-l
- Scikitlearn:Python机器学习库
AI天才研究院
AI人工智能与大数据AI大模型企业级应用开发实战AI实战计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
-Scikit-learn:Python机器学习库1.背景介绍1.1什么是Scikit-learnScikit-learn是一个基于Python语言的开源机器学习库。它建立在NumPy、SciPy和matplotlib等优秀的科学计算库之上,为用户提供了一系列高效的数据挖掘和数据分析工具,涵盖了分类、回归、聚类、降维、模型选择和预处理等机器学习的各个方面。Scikit-learn的目标是提供一个高
- 【OpenCV-Python】——图像处理基础&读写及显示图像&读写及播放视频&灰度图/彩色图/图像通道操作、运算
柯宝最帅
OpenCV学习pythonopencv图像处理
目录前言:1、读并显示图像、写图像2、读并播放视频、写视频3、操作灰度图和彩色图、图像通道操作、运算总结:前言:在Python中,OpenCV使用NumPy数组存储图像,Numpy是使用Python进行数组计算的软件包,提供强大的N维数组对象,支持复杂的广播功能(数组运算),集成了C/C++和Fortran代码工具,支持线性代数、傅里叶变换和随机数等特性,还可作为通用数据的高效多维容器,如在Ope
- 基于 NumPy 的高效数值计算技术解析与实践指引
二向箔reverse
numpy
在数据处理与科学计算领域,高效是核心诉求。NumPy作为Python生态高效数值计算的基石,以高性能多维数组对象及配套函数,成为数据从业者的必备工具。其数组支持算术、比较、逻辑等丰富运算,通过向量化操作直接处理每个元素,无需循环,大幅提升代码效率与简洁度。算术运算NumPy数组可以直接进行加减乘除等算术运算,运算规则是对应元素之间进行操作。a=np.array([1,2,3,4,5])b=np.a
- 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