数论
Mollnn
这个作者很懒,什么都没留下…
展开
-
秦九韶算法——高速的多项式运算解决方案
我们来设想一下,有一个次数为5000的多项式,需要10000次代入值查询,用传统的计算方法,时间复杂度有多高?每一次带入,根据需要2500*5000=1.25*10^7次运算,可以视为O(n^2)设带入次数为M,则复杂度为O(m·n^2)=O(1.25*10^11)有什么办法能降低复杂度,让这个目标在1s内完成呢?秦九韶算法就可以做到。通过数学上对多项式的一个简单变形,或者说,提公原创 2016-08-25 20:26:42 · 1505 阅读 · 0 评论 -
归并排序与逆序对
归并排序是一种运用了二分算法的排序,其基本原理可以理解为拆分对合并。利用归并排序可以便捷地求出逆序对的个数。参考代码如下所示:#include <iostream>#include <cstring>#include <cmath>using namespace std;int n,a[100000],x[100000],ans=0;void msort(int l,int r){原创 2016-09-11 11:50:50 · 497 阅读 · 0 评论 -
逆序对在OI中实际问题里的细节处理
之前写过一篇关于逆序对的描述文章: http://blog.csdn.net/mollnn/article/details/52503183 如果需要了解与逆序对有关的信息,见上文。本文主要交代,在OI中使用逆序对算法需要注意的细节:判断问题是否确实适合使用逆序对(废话)排序要求是升序还是降序排序要求中遇到等号怎样处理因为逆序对ANS通常很大,所以注意是否要开long long?对应的如原创 2016-09-16 14:27:13 · 427 阅读 · 0 评论