多项式时间

85 计算多项式的值

99封情书 提交于 2020-03-08 02:52:55
85 计算多项式的值 作者: Turbo时间限制: 1S章节: 循环 问题描述 : 计算并输出当x<0.97时下列多项式的值,直到最后一项的绝对值小于threshold(该项不包括在多项式的结果中)为止。 image.png 输入说明 : 可输入多组测试数据,每组一行,每组包括两个实数,第一个为x(0.2≤x <0.97),第二个为threshold(≥0.000001),中间以空格分隔。 输出说明 : 对于每组测试数据,输出一行,为计算出的结果,保留6位小数。输出的结果前后均无空格。两组运算结果之间为空行。 输入范例 : 0.2 0.000001 0.21 0.000001 输出范例 : 1.095445 1.100000 # include <stdio.h> # include <math.h> int main ( ) { double x , sum = 1.0 , threshold , temp ; int i = 2 ; while ( scanf ( "%lf %lf" , & x , & threshold ) != EOF ) { if ( threshold > 1 ) printf ( "0.000000\n" ) ; * * //注意大于1的特殊情况** else { temp = 0.5 * x ; while ( fabs ( temp ) >=

P问题与NP问题的关系

烂漫一生 提交于 2020-02-18 06:07:26
P问题与NP问题的关系 定理5 . P ⊆ N P P \subseteq NP P ⊆ N P . 即,所有的P问题都是NP问题。当一个问题是P问题时,我们可以在多项式时间内求出问题的解。若要验证一个解(记为t1)是否正确时,只需使用多项式时间求解出这个问题的解(记为t2),然后将t1和t2做比较即可验证答案是否正确。即,可以利用多项式时间验证答案正确与否。因此,P问题也是NP问题。可以看到,三元可满足性问题(3-SAT)、独立集问题、集合覆盖问题都是NP问题。 【讨论:P=NP?】 对于这个问题,还没有人利用一种有效的方法证明。目前计算机界普遍相信P≠NP。所以P问题是NP问题的真子集。 ,.♥,. ,.♥,. ,.♥,. ♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥♥,. ,.♥,. ,.♥,. ,.♥,. ♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥,. ,.♥ 广告时间: 本宝宝开通了一个公众号,记录日常的深度学习和强化学习笔记。希望大家可以共同进步,嘻嘻嘻!求关注,爱你呦! 来源: CSDN 作者: 浪在冰城 链接: https://blog.csdn.net/Valieli/article/details/104360589

算分-NP COMPLETENESS

雨燕双飞 提交于 2020-02-12 14:46:03
Easy and Hard Problems:   NP完全理论是为了在可处理的问题和不可处理的问题之间画一条线,目前最重要的问题是是否这两者是本质不同的,而这个问题目前还没有被解决。典型的结果是一些陈述,比如“如果问题B有一个多项式时间的算法,那么C也会有一个多项式时间的算法”,或者逆否表述为“如果C没有多项式时间的算法,那么B也没有”。第二个表述是说,对于一些问题C以及一个新的问题B,我们先去找是否有这种关系,如果有的话我们可能不想去做问题B,先来看看C。为了描述这些东西,需要不少形式主义的记号,我们在这里尽可能地少涉及。   先来看什么是问题?一个抽象的做决定问题是从问题实例集合I到{0,1}的映射,其中0代表错误,1代表正确。为了更严谨,我们把问题实例写成I到{0,1}*,也就是0/1组成的字符串,一个具体的做决定问题是从比特串到{0,1}的映射,我们把那些没有意义的问题映射到0。举个例子来说,对于最短路径问题,一个问题事实例是一个图以及两个顶点,做决定的问题是是否存在这两个顶点之间长度至多为k的一条路径。要注意的是,做决定问题不会比相应的最优算法要复杂,也就是说其复杂度小于等于最优算法,因此为了去证明相应的最优化算法是hard的,如果我们可以证明做决定问题是hard的,那么就可以达成我们的目标。(相当于充分性)   接着来看什么是多项式时间

关于二阶非齐次常系数线性微分方程特解的解法

烂漫一生 提交于 2020-02-11 03:25:36
目录 关于 二阶非齐次常系数线性微分方程 特解 的解法 一、定义 二、引理若干 2.1.1 算子多项式性质 2.1.2 算子多项式の公式 三、一些性质 3.1 逆算子移位原理 3.2 关于三角函数 3.3 含多项式的情况 四、 公式(8)~(16)证明 五、 一些例子 六、引用 关于 二阶非齐次常系数线性微分方程 特解 的解法 考研期间遇到的一个很强大的解题技巧,但是步骤依然要用待定系数法写,不然没有过程分(口口相传,待考证),不过熟练掌握此方法可以极大的节约答题时间,遂本人讲看到的几份对自己收获大的资料进行总结整理,本着分享学习精神,写出以下文章。如有谬误,望大家不吝赐教。 若并不关心原理证明之类的,则可以直接看性质,或看例题(虽然我这么懒大概率不会往上敲例题)。 希望能给各位带来帮助,难理解之处我会添加注释 // 一、定义 二阶非齐次常系数线性微分方程的一般形式如下: \[ \frac{d^2y}{dx^2}+p\frac{dy}{dx}+qy=f(x),(p、q为常数) \] 引入微分算子: \[ \frac{d}{dx}=D,\frac{d^2}{dx^2}=D^2,\cdots,\frac{d^n}{dx^n}=D^n \] 于是有: \[ \frac{dy}{dx}=Dy,\frac{d^2y}{dx^2}=D^2y,\cdots,\frac{d^ny}{dx^n}=D

NP问题

吃可爱长大的小学妹 提交于 2020-01-28 14:12:49
希望通过这篇文章可以不仅让计算机相关专业的人可以看懂和区分什么是P类问题什么是NP类问题,更希望达到的效果是非专业人士比如学文科的朋友也可以有一定程度的理解。 有一则程序员界的笑话,就是有一哥们去google面试的时候被问到一个问题是:在什么情况下P=NP,然后他的回答是”当N=1的时候”。这是我第一次听说P=NP问题,大概是在临近毕业为找工作而准备的时候。 这几天科技类新闻的头条都被阿尔法狗大战李世石刷爆了,虽然我也不是AI专家,但是也想从普通人的角度来写点东西来聊聊这个有意思的事情,在搜集资料的时候又一次看到了NP问题,于是想开个小差,先说说这个NP问题。 P类问题最简单的定义是这样的: P问题:一个问题可以在多项式(O(n^k))的时间复杂度内解决。 NP问题:一个问题的解可以在多项式的时间内被验证。 NP-hard问题:任意np问题都可以在多项式时间内归约为该问题,但该问题本身不一定是NP问题。归约的意思是为了解决问题A,先将问题A归约为另一个问题B,解决问题B同时也间接解决了问题A。 NPC问题:既是NP问题,也是NP-hard问题。 这样的定义虽然简单,但是对于第一次接触P、NP的人来说,就像前一阵问你什么是“引力波”而你回答:引力波是时空的涟漪。从答案中几乎没有得到任何有意义的理解。所以接来来的内容希望不仅计算机相关专业的人可以看懂

P类问题、NP类问题与NPC类问题

谁说胖子不能爱 提交于 2020-01-28 02:16:26
(转载自作者 “ Matrix67原创 ” 的文章,链接为: http://www.matrix67.com/blog/archives/105 ) 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接下来你可以看到,把NP问题当成是 NPC问题是一个多大的错误。 还是先用几句话简单说明一下时间复杂度。时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。也就是说,对于高速处理数据的计算机来说,处理某一个特定数据的效率不能衡量一个程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变慢了数万倍。不管数据有多大,程序处理花的时间始终是那么多的,我们就说这个程序很好,具有O(1)的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是O(n),比如找n个数中的最大值;而像冒泡排序、插入排序等

NP完全性理论与近似算法

本小妞迷上赌 提交于 2020-01-23 07:19:46
一、图灵机 根据有限状态控制器的当前状态及每个读写头读到的带符号,图灵机的一个计算步可实现下面3个操作之一或全部。 (1)改变有限状态控制器中的状态。 (2)清除当前读写头下的方格中原有带符号并写上新的带符号。 (3)独立地将任何一个或所有读写头,向左移动一个方格(L)或向右移动一个方格(R)或停在当前单元不动(S)。 k带图灵机可形式化地描述为一个7元组(Q,T,I,δ,b,q0,qf),其中: (1) Q是有限个状态的集合。 (2)T是有限个带符号的集合。 (3)I是输入符号的集合 。 (4)b是唯一的空白符,b∈T-I。 (5)q0是初始状态。 (6)qf是终止(或接受)状态。 (7)δ是移动函数。 它是从Q×Tk的某一子集映射到Q×(T×{L,R,S})k的函数。 图灵机M的时间复杂性T(n)是它处理所有长度为n的输入所需的最大计算步数。如果对某个长度为n的输入,图灵机不停机,T(n)对这个n值无定义。 图灵机的空间复杂性S(n)是它处理所有长度为n的输入时,在k条带上所使用过的方格数的总和。如果某个读写头无限地向右移动而不停机,S(n)也无定义。 确定型图灵机 有限状态集Q,状态q0:初始状态;qy:接受状态;状态qn:不接受状态。 字符集合{0, 1, b} ;其中b是空格符。 转换功能: 输入x = 101000b 执行顺序: q0输入1 (q0,r)右移磁头到0

P类问题,NP,NPC,HPHard,coNP,NPI问题 的简单认识

北城余情 提交于 2020-01-12 20:16:28
参考《算法设计技巧与分析》--沙特 问题可以分为判定类问题和最优化问题,判定类问题可以转化为最优化问题,所以下面讨论的是判定类的问题。 P类问题是可以在多项式时间 采用确定性算法给出解 NP类问题是可以在多项式时间验证解的正确性的问题 NPhard 问题是:所有NP类问题可规约为该问题,则该问题为NPhard 问题 NPComplete问题要求同上,但要求该问题属于NP问题 NPco问题是补属于NP问题的问题 NPI问题是NP类问题中不包含于P类问题和NPC问题 的问题 (P属于NPI) 来源: https://www.cnblogs.com/lqerio/p/12163601.html

P/NP问题

拟墨画扇 提交于 2020-01-12 09:36:39
1 什么是 P 问题? 这里的P代表Polynomial。P问题就是可以有一个确定型图灵机在多项式时间内解决的问题。即目前那些存在O(n), O(n k ), O(nlogn)等多项式时间复杂度解法的问题。比如排序问题、最小生成树、单源最短路径。直观的讲,我们将 P 问题视为可以较快解决的问题。 2 什么是 NP 问题? 那些可以在非确定型图灵机上在多项式时间内解决的问题。(在确定型图灵机(我们在使用的计算机吗?)上可以在多项式时间内验证解是否正确,但不能在多项式时间内找出最优解的问题)。非确定型图灵机:可以理解为无限个确定型图灵机的集合。应该是说的一种强大的目前还不存在的,也与目前的计算机无法比较的一种计算机吧。也许它具备跳跃思维、能联想能学习能推理…… NP是目前为止还未找到多项式解法的问题。对于这些问题,我们目前也不知道是否存在多项式的解法。所以叫非确定多项式问题。 NP 代表“ N on-deterministic(非确定性) P olynomial(多项式)”而 不是 代表“ N on- P olynomial(非多项式)。 典型的NP问题是旅行商问题(TSP)。 P 与 NP 问题的关系? NP问题如果找到了多项式解法就是P问题了。NP问题是目前为止我们还未找到多项式解法的问题。我们也不能证明它一定存在或不存在多项式解法。调查显示有的人持肯定态度

Matlab学习笔记(三)——数值计算

拥有回忆 提交于 2020-01-11 22:35:35
3.1 矩阵特征值和奇异值 3.1.1 行列式、逆和秩 det(A) 求方阵A的行列式 rank(A) 求A的秩 inv(A) 求A的逆矩阵 pinv(A) 求A的伪逆 3.1.2 特征值和特征向量的求取 E=eig(A):用于求A的全部特征值,构成向量E [V,D]=eig(A):用于求A的全部特征值,构成对角矩阵D,并求A的特征向量构成V的列向量 3.2 概率和统计 3.2.1 基本分析函数 sum函数:用于求矩阵列矩阵元素或向量的和 B=sum(A):若A为向量,则返回所有元素的和;如A为矩阵,则返回其他各列所有元素和 B=sum(A,dim):返回A中第dim维的所有元素和 cumsum函数:用于求矩阵或向量的累积和 B=cumsum(A):若输入参数A为一个向量,则返回该向量所有元素累积和,若A为矩阵,则返回该矩阵各列元素的累计和,即返回一个行向量 B=cumsum(A,dim) A为矩阵,若dim=1,则表示在列方向上求累计和;若dim=2,则表示在行方向上求累计和 cumsum是累计和,结果中含有每一步的运算结果,sum给出的则是最终求和的结果 prod函数:用于求矩阵元素的积 B=prod(A):若A为向量,则返回所有所元素的积;若A为矩阵,则返回各列所有元素积 B=prod(A,dim):返回A中第dim维所有元素的积 sort函数