力扣原题classSolution{public:intmaxProfit(vector&prices){vector>dp(prices.size(),vector(2));//每一行各有两个状态,一个是持有股票,一个是不持有股票dp[0][0]=-prices[0];dp[0][1]=0;for(inti=1;i
Leetcode32 最长有效括号深度解析
八股文领域大手子
数据库mysqljavasqlredis
问题描述找出字符串s中最长的有效括号子串的长度。核心思路动态规划:定义dp[i]为以字符s[i]结尾的最长有效括号子串长度。分情况讨论:根据当前字符是否为)以及前面的字符情况,推导状态转移方程。状态转移方程详解Case1:当前字符)与前一个字符(直接匹配场景:形如...()的结构。转移方程:if(s.charAt(i-1)=='('){dp[i]=dp[i-2]+2;//前i-2个字符的有效长度+
代码随想录 Day 44 | 【第九章 动态规划part 07】198.打家劫舍、213.打家劫舍II、337.打家劫舍III
Accept17
动态规划算法
一、198.打家劫舍198.打家劫舍视频讲解:动态规划,偷不偷这个房间呢?|LeetCode:198.打家劫舍_哔哩哔哩_bilibili代码随想录1.解题思路(1)dp数组的含义:考虑下标i(包含下标i及之前的房间)所能偷的最大的金币为dp[i]。求dp[len(nums)-1],仅仅是考虑范围,而不是一定偷或不偷。(2)递推公式:两种状态偷/不偷,偷第i个房间(dp[i-2]+dp[i]),不
强化学习:时间差分(TD)(SARSA算法和Q-Learning算法)(看不懂算我输专栏)——手把手教你入门强化学习(六)
wxchyy
强化学习算法
目录前言前期回顾一、SARSA算法二、Q-Learning算法三、总结总结前言 前两期我们介绍了动态规划算法,还有蒙特卡洛算法,不过它们对于状态价值函数的估值都有其缺陷性,像动态规划,需要从最下面向上进行递推,而蒙特克洛则需要一个Episode(回合)结束才能对其进行估值,有没有更直接的方法,智能体能边做动作,边估值一次,不断学习策略?答案是有的。这就是本期需要介绍的算法,时间差分法(TimeDi
华为OD机试 - 光伏场地建设规划 - 动态规划(Python/JS/C/C++ 2024 B卷 100分)
哪 吒
华为od动态规划python
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区
华为OD机试 - 核酸检测人员安排 - 动态规划(Python/JS/C/C++ 2024 B卷 200分)
哪 吒
华为od动态规划python
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检
论单调队列优化DP
VU-zFaith870
c++动态规划推荐算法
前情提要,参考资料:单调队列优化DP(超详细!!!)-endl\n-博客园【动态规划】选择数字(单调队列优化dp)_哔哩哔哩_bilibili背景:最近作者快被DP逼疯了,写篇博客做记录。以下是对各DP的原理阐释:单调队列通过队列元素的吸入与弹出,形成单调性的结构,使算法能够进行线性处理,大大优化了时间复杂度。接下来讲解单调队列在区间DP、背包DP、树形DP还有数位DP中的应用:1.单调队列优化区
数组中最长递增子序列问题的深入研究
cloudman08
算法
目录摘要一、引言二、问题定义三、问题分析3.1暴力枚举法的困境3.2动态规划的应用3.3二分查找优化四、算法设计4.1动态规划算法4.2二分查找优化算法4.3代码实现(Python)4.4代码解释五、复杂度分析5.1动态规划算法复杂度5.2二分查找优化算法复杂度六、实际应用6.1数据分析6.2生物信息学6.3信号处理七、结论摘要在数组处理的算法领域,寻找最长递增子序列是一个经典且具有广泛应用的问题
贪心算法简介(greed)
神里流~霜灭
贪心算法精讲贪心算法c++c语言数据结构顺序表链表动态规划
前言:贪心算法(GreedyAlgorithm)是一种在每个决策阶段都选择当前最优解的算法策略,通过局部最优的累积来寻求全局最优解。其本质是"短视"策略,不回溯已做选择。什么是贪心、如何来理解贪心(个人对贪心的理解)前言对贪心是一种概念的回答。接下来就了解一下自己对贪心的理解,如果学习算法的化建议优先学习动态规划,动态规划相对于其他算法来说很简单。但是,贪心算法跟动态规划不同,非常难,贪心讲究策略
数学建模之数学模型-3:动态规划
^ω^宇博
数学模型数学建模动态规划算法
文章目录动态规划基本概念阶段状态决策策略状态转移方程指标函数最优指标函数动态规划的求解前向算法后向算法二者比较应用案例一种中文分词的动态规划模型摘要引言动态规划的分词模型问题的数学描述消除状态的后效性选择优化条件算法描述和计算实例算法的效率分析和评价结束语参考文献动态规划基本概念一个多阶段决策过程最优化问题的动态规划模型包括以下666个要素:以下是对动态规划中阶段、状态、决策、策略、状态转移方程、
【动态规划1】
m0_46150269
动态规划算法
力扣509.斐波那契数链接:link思路这是一道经典的动态规划DP题,做动态有5步:1.确定dp[i]含义,表示第i个数的斐波那契数值是dp[i]2.dp数组初始化3.确定递推公式4.确定遍历顺序,从递推公式可以知道dp[i]是依赖dp[i-1]和dp[i-2],那么遍历的顺序一定是从前到后遍历的5.举例推导,草稿完成classSolution{publicintfib(intn){if(n<=1
笔试刷题专题(一)
英雄不问出处~
动态规划贪心字符串栈用字符串模拟栈
文章目录最小花费爬楼梯(动态规划)题解代码数组中两个字符串的最小距离(贪心(dp))题解代码点击消除题解代码最小花费爬楼梯(动态规划)题目链接题解1.状态表示:以i位置为结尾的最小花费2.状态转移方程:dp[i]=min(dp[i-1]+cost[i-1,dp[i-2]+cost[i-2])可以从i-1位置和i-2到达i位置注意dp[i]表示的是i位置之前的最小花费,还要加上该点的位置才是到达这个
【动态规划】任务分配问题
精神小猿
动态规划
题目来自贵大OJ题目描述:给定n个零件需要的加工时间,分配到两台机床上加工,使得两台机床完成加工的时间尽可能同步。设计一个穷举搜索算法求解该问题。例如,有3个零件,加工时间分别为2、5和3,那么把加工时间为2、3的两个零件分配到一台机床上加工,把加工时间为5的零件分配到另一台机床上加工,两台机床能同时完工。输入描述:每组数据的第一行是一个整数n(1#includeusingnamespacestd
代码随想录 Day 42 | 【第九章 动态规划 part 05】完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)
Accept17
动态规划算法
一、完全背包完全背包视频讲解:带你学透完全背包问题!和01背包有什么差别?遍历顺序上有什么讲究?_哔哩哔哩_bilibilihttps://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85.ht
面试基础---面试刷题推荐 动态规划算法:背包问题与最长公共子序列
WeiLai1112
leetcode刷题算法面试动态规划java分布式
动态规划算法:背包问题与最长公共子序列引言:动态规划的核心思想动态规划(DynamicProgramming,DP)是一种解决复杂问题的算法思想,通过将问题分解为子问题,并保存子问题的解,避免重复计算,从而提高效率。本文将详细讲解动态规划在背包问题和最长公共子序列中的应用,并提供易于记忆的代码模板。一、背包问题1.1问题描述给定n个物品,每个物品有一个重量w[i]和一个价值v[i]。现在有一个容量
【LeetCode Python实现】300. 最长递增子序列(中等)动态规划
不太灵光的程序员
LeetCodePython实现leetcodePython机试华为
文章目录题目描述示例1:示例2:示例3:提示:参考代码题目描述给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,
笔记:代码随想录算法训练营第35天: 01背包问题 二维、 01背包问题 一维 、LeetCode416. 分割等和子集
jingjingjing1111
算法leetcode数据结构动态规划笔记
学习资料:代码随想录这一块儿学得挺痛苦注:文中含大模型生成内容动态规划:01背包理论基础卡码网第46题思路:五部曲定义:dp[i][j]为第i个物品背包容量为j,能装下的最大价值递推公式:dp[i][j]的值等于dp[i-1][j]的值和dp[i-1][j-weight[i]]+value相比的最大值,后者为看放下当前物品+减去当前物品的容量能放下什么价值,当然,要是放不下当前物品,就算了,保持原
代码随想录训练营算法第三十四天|动态规划|62.不同路径、63. 不同路径 II、343. 整数拆分、96.不同的二叉搜索树。
weixin_64181248
算法
62.不同路径62.不同路径-力扣(LeetCode)代码随想录还是不太熟悉怎么递推,用dp[i][j]代表走到第i行j列有多少路线,而i行j列可以通过[i-1][j]和[i][j-1]分别走一步得到。classSolution{public:intuniquePaths(intm,intn){vector>dp(m+1,vector(n+1,0));for(inti=1;i>&obstacleG
动态规划详解(方格拿金币最大)【C语言】-第一篇
fuill
算法详解算法c语言动态规划
我们先来看看题目吧有一个NxN的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。输入格式第一行输入一个正整数n。以下n行描述该方格。金币数保证是不超过1000的正整数。输出格式最多能拿金币数量。样例输入3133222312样例输出11数据规模和约定nintt[1000][1000];i
每天一道算法题【蓝桥杯】【最小路径和】
桦0
题解算法蓝桥杯c++leetcode
思路使用dp表解决问题使用DP表的思路分析在解决最小路径和问题时,动态规划(DP)是一种非常有效的方法。以下是使用DP表的详细思路分析:问题描述给定一个mxn的网格grid,其中每个单元格包含一个非负整数,表示从该单元格出发的路径成本。你需要找到从左上角(0,0)到右下角(m-1,n-1)的路径,使得路径上的成本总和最小。你每次只能向右或向下移动。DP表的定义定义一个二维数组dp,其中dp[i][
DP 问题 -- LQR中的DP问题
BineHello
自动驾驶算法人工智能强化学习
深入地介绍线性二次调节问题(LinearQuadraticRegulator,LQR),并详细说明它作为动态规划(DP)的一个经典应用问题的求解过程。一、LQR问题定义(最优控制视角)LQR问题是一种特殊的最优控制问题,系统动力学为线性、代价函数为二次型的优化问题:离散时间线性系统:xt+1=Axt+Butx_{t+1}=Ax_t+Bu_txt+1=Axt+Butxt∈Rnx_t\in\mathb
动态规划双剑合璧:C++与Python征服洛谷三大经典DP问题
三流搬砖艺术家
动态规划c++python
动态规划核心思想状态定义→转移方程→边界处理→时空优化本文精选洛谷动态规划题单中三大经典问题,通过C++与Python双语言对比实现,彻底掌握DP精髓!题目一:P1048采药(01背包模板)题目描述在限定时间T内采集草药,每株草药有采集时间time[i]和价值value[i],求最大总价值。解题思路状态定义:dp[j]表示时间j能获得的最大价值转移方程:dp[j]=max(dp[j],dp[j-t
web报表工具FineReport常见的数据集报错错误代码和解释
老A不折腾
web报表finereport代码可视化工具
在使用finereport制作报表,若预览发生错误,很多朋友便手忙脚乱不知所措了,其实没什么,只要看懂报错代码和含义,可以很快的排除错误,这里我就分享一下finereport的数据集报错错误代码和解释,如果有说的不准确的地方,也请各位小伙伴纠正一下。
NS-war-remote=错误代码\:1117 压缩部署不支持远程设计
NS_LayerReport_MultiDs=错误代码
Java的WeakReference与WeakHashMap
bylijinnan
java弱引用
首先看看 WeakReference
wiki 上 Weak reference 的一个例子:
public class ReferenceTest {
public static void main(String[] args) throws InterruptedException {
WeakReference r = new Wea
Linux——(hostname)主机名与ip的映射
eksliang
linuxhostname
一、 什么是主机名
无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的;
主机名是用于什么的呢?
答:在一个局域网中,每台机器都有一个主
oracle 常用技巧
18289753290
oracle常用技巧 ①复制表结构和数据 create table temp_clientloginUser as select distinct userid from tbusrtloginlog ②仅复制数据 如果表结构一样 insert into mytable select * &nb
使用c3p0数据库连接池时出现com.mchange.v2.resourcepool.TimeoutException
酷的飞上天空
exception
有一个线上环境使用的是c3p0数据库,为外部提供接口服务。最近访问压力增大后台tomcat的日志里面频繁出现
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResou
IT系统分析师如何学习大数据
蓝儿唯美
大数据
我是一名从事大数据项目的IT系统分析师。在深入这个项目前需要了解些什么呢?学习大数据的最佳方法就是先从了解信息系统是如何工作着手,尤其是数据库和基础设施。同样在开始前还需要了解大数据工具,如Cloudera、Hadoop、Spark、Hive、Pig、Flume、Sqoop与Mesos。系 统分析师需要明白如何组织、管理和保护数据。在市面上有几十款数据管理产品可以用于管理数据。你的大数据数据库可能
spring学习——简介
a-john
spring
Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发,从简单性,可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。其主要特征是依赖注入、AOP、持久化、事务、SpringMVC以及Acegi Security
为了降低Java开发的复杂性,
自定义颜色的xml文件
aijuans
xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#FFFFFF</color> <color name="black">#000000</color> &
运营到底是做什么的?
aoyouzi
运营到底是做什么的?
文章来源:夏叔叔(微信号:woshixiashushu),欢迎大家关注!很久没有动笔写点东西,近些日子,由于爱狗团产品上线,不断面试,经常会被问道一个问题。问:爱狗团的运营主要做什么?答:带着用户一起嗨。为什么是带着用户玩起来呢?究竟什么是运营?运营到底是做什么的?那么,我们先来回答一个更简单的问题——互联网公司对运营考核什么?以爱狗团为例,绝大部分的移动互联网公司,对运营部门的考核分为三块——用
js面向对象类和对象
百合不是茶
js面向对象函数创建类和对象
接触js已经有几个月了,但是对js的面向对象的一些概念根本就是模糊的,js是一种面向对象的语言 但又不像java一样有class,js不是严格的面向对象语言 ,js在java web开发的地位和java不相上下 ,其中web的数据的反馈现在主流的使用json,json的语法和js的类和属性的创建相似
下面介绍一些js的类和对象的创建的技术
一:类和对
web.xml之资源管理对象配置 resource-env-ref
bijian1013
javaweb.xmlservlet
resource-env-ref元素来指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联
<resource-env-ref>
<resource-env-ref-name>资源名</resource-env-ref-name>
<resource-env-ref-type>查找资源时返回的资源类
Create a composite component with a custom namespace
sunjing
https://weblogs.java.net/blog/mriem/archive/2013/11/22/jsf-tip-45-create-composite-component-custom-namespace
When you developed a composite component the namespace you would be seeing would
【MongoDB学习笔记十二】Mongo副本集服务器角色之Arbiter
bit1129
mongodb
一、复本集为什么要加入Arbiter这个角色 回答这个问题,要从复本集的存活条件和Aribter服务器的特性两方面来说。 什么是Artiber? An arbiter does
not have a copy of data set and
cannot become a primary. Replica sets may have arbiters to add a
Javascript开发笔记
白糖_
JavaScript
获取iframe内的元素
通常我们使用window.frames["frameId"].document.getElementById("divId").innerHTML这样的形式来获取iframe内的元素,这种写法在IE、safari、chrome下都是通过的,唯独在fireforx下不通过。其实jquery的contents方法提供了对if
Web浏览器Chrome打开一段时间后,运行alert无效
bozch
Webchormealert无效
今天在开发的时候,突然间发现alert在chrome浏览器就没法弹出了,很是怪异。
试了试其他浏览器,发现都是没有问题的。
开始想以为是chorme浏览器有啥机制导致的,就开始尝试各种代码让alert出来。尝试结果是仍然没有显示出来。
这样开发的结果,如果客户在使用的时候没有提示,那会带来致命的体验。哎,没啥办法了 就关闭浏览器重启。
结果就好了,这也太怪异了。难道是cho
编程之美-高效地安排会议 图着色问题 贪心算法
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class GraphColoringProblem {
/**编程之美 高效地安排会议 图着色问题 贪心算法
* 假设要用很多个教室对一组
机器学习相关概念和开发工具
chenbowen00
算法matlab机器学习
基本概念:
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
开发工具
M
[宇宙经济学]关于在太空建立永久定居点的可能性
comsci
经济
大家都知道,地球上的房地产都比较昂贵,而且土地证经常会因为新的政府的意志而变幻文本格式........
所以,在地球议会尚不具有在太空行使法律和权力的力量之前,我们外太阳系统的友好联盟可以考虑在地月系的某些引力平衡点上面,修建规模较大的定居点
oracle 11g database control 证书错误
daizj
oracle证书错误oracle 11G 安装
oracle 11g database control 证书错误
win7 安装完oracle11后打开 Database control 后,会打开em管理页面,提示证书错误,点“继续浏览此网站”,还是会继续停留在证书错误页面
解决办法:
是 KB2661254 这个更新补丁引起的,它限制了 RSA 密钥位长度少于 1024 位的证书的使用。具体可以看微软官方公告:
Java I/O之用FilenameFilter实现根据文件扩展名删除文件
游其是你
FilenameFilter
在Java中,你可以通过实现FilenameFilter类并重写accept(File dir, String name) 方法实现文件过滤功能。
在这个例子中,我们向你展示在“c:\\folder”路径下列出所有“.txt”格式的文件并删除。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
C语言数组的简单以及一维数组的简单排序算法示例,二维数组简单示例
dcj3sjt126com
carray
# include <stdio.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
//a 是数组的名字 5是表示数组元素的个数,并且这五个元素分别用a[0], a[1]...a[4]
int i;
for (i=0; i<5; ++i)
printf("%d\n",
PRIMARY, INDEX, UNIQUE 这3种是一类 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引
dcj3sjt126com
primary
PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号 INT会员姓名
java集合辅助类 Collections、Arrays
shuizhaosi888
CollectionsArraysHashCode
Arrays、Collections
1 )数组集合之间转换
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
a)Arrays.asL
Spring Security(10)——退出登录logout
234390216
logoutSpring Security退出登录logout-urlLogoutFilter
要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_secu
透过源码学前端 之 Backbone 三 Model
逐行分析JS源代码
backbone源码分析js学习
Backbone 分析第三部分 Model
概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里,
但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件,
如每次修改添加里都会触发 change,这在据模型变动来修改视图时很常用,并且与collection建立了关联。
SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter
乒乓狂魔
springMVC
这一篇文章主要介绍下HttpMessageConverter整个注册过程包含自定义的HttpMessageConverter,然后对一些HttpMessageConverter进行具体介绍。
HttpMessageConverter接口介绍:
public interface HttpMessageConverter<T> {
/**
* Indicate
分布式基础知识和算法理论
bluky999
算法zookeeper分布式一致性哈希paxos
分布式基础知识和算法理论
BY
[email protected]
本文永久链接:http://nodex.iteye.com/blog/2103218
在大数据的背景下,不管是做存储,做搜索,做数据分析,或者做产品或服务本身,面向互联网和移动互联网用户,已经不可避免地要面对分布式环境。笔者在此收录一些分布式相关的基础知识和算法理论介绍,在完善自我知识体系的同
Android Studio的.gitignore以及gitignore无效的解决
bell0901
androidgitignore
github上.gitignore模板合集,里面有各种.gitignore : https://github.com/github/gitignore
自己用的Android Studio下项目的.gitignore文件,对github上的android.gitignore添加了
# OSX files //mac os下 .DS_Store
成为高级程序员的10个步骤
tomcat_oracle
编程
What
软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。
Why
得到更多的报酬!因为你的薪水会随着你水平的提高而增加
提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进
历经更大的挑战。随着你的成长,各种影响力也会提高。
mongdb在linux下的安装
xtuhcy
mongodblinux
一、查询linux版本号:
lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noa