2018年7月20号暑假训练日记

  今天早上看了一下昨天出现的那个拉格朗日插值的题目,大佬的代码让人头大,不知道具体用什么点插值,于是放弃了那个题目,从网上看了一些插值的题目,有一些特别表面的题目,这样的插值题目倒是跟我们平时数值分析题目相同了。下午的时候安逸凡又给我拿来一个拉格朗日插值的题目,这个题目用的就比较巧妙,构造了一个函数,证明了这个函数是一个k+3次严格的多项式,于是插值逼近后求了更高次的值,很有趣的一类题目。

  然后看了一下LGV那个定理,这类题目曾经在徐州站出过,没做出来,昨天又出了,2016多校也出了,看起来很火,所以必须补一补,就找了很多看了一下。其实就是个结论,K个点在有向无环图中移动到另外K个点。每个点移动路径不能相交。移动种数为。每个起点移动到每个终点的全部移动种数组成一个K*K行列式。行列式的值就是所求。然后顺便学习了一下行列式的c++写法,其实就是利用性质把它化作一个上三角型,然后对角线元素相乘,中间用了辗转相除法保证不会出现分数引起误差。明天早上整理出来这个代码。

  下午看了一下多校的题目,除了一个暴力,一个筛素数之外,比较有意思的结论就是拼接字符串的题目,以前毫无头绪,现在发现就是一个离散的思想,如果可以拼接,那么长度为m的拼接串的个数为矩阵的m次方。就相当于在图上走了n步,这里是右乘,因为初始矩阵和过程矩阵不一样。之后看了一下CDQ分治,思想是知道了,可是就是看不懂代码,我觉得我应该先从简单点的分治入手,分治和CDQ的主要区别是独立,也就是关系的处理。

猜你喜欢

转载自blog.csdn.net/m0_37772713/article/details/81137945