小编Rah*_*bey的帖子

两个数字划分的模数

我们知道

(A + B) % P = (A % P + B % P) % P
(A * B) % P = (A % P * B % P) % P
Run Code Online (Sandbox Code Playgroud)

哪里P是素数.

我需要计算(A / B) % P哪里A,B可能非常大并且可能溢出.

这种模运算公式是否适用于(A / B) % P(A - B) % P.

如果没有,请解释正确答案是什么.

也许这是真的(A / B) % P = ((A % P) / (B % P)) % P吗?

我正在尝试计算(N*(N ^ 2 + 5)/ 6)%P,其中N可以大到10 …

algorithm math

30
推荐指数
2
解决办法
2万
查看次数

复发关系

如何计算最大复杂度的非常大的n(比如10 ^ 14)的tribonacci数.Tribonacci号码被定义为F(n)=F(n-1)+F(n-2)+F(n-3)F0=1, F1=2, F2=4.

或复发定义为 F(n)=aF(n-1)+bF(n-2)+cF(n-3)F0=1, F1=2, F2=4.

我想计算log(n)中的第n个项,就像第n个Fibonacci数一样.

如何生成基本矩阵以使用矩阵求幂来计算第n项?

以前我试图使用DP实现它,但因为我们不能采用这么大的数组它不能正常工作.类似地,递归在这里不起作用,因为堆栈溢出的数量非常大,为10 ^ 14.

algorithm recursion dynamic

8
推荐指数
2
解决办法
1622
查看次数

spoj ARRAYSUB:O(n)复杂性方法

我试图在spoj http://spoj.pl/problems/ARRAYSUB上解决这个问题

我用两种方法解决了它

首先使用优化的蛮力.其次采用Pivot在k,2k,3k等等并找到最大值.

虽然在最坏的情况下接受两种解决方案,但复杂性是O(n*k);

任何人都可以建议O(n)解决方案解决问题.

下面是我的运行接受的最坏情况复杂度O(n*k)的代码:

#include<iostream>
#include<cstdio>
#include<climits>
using namespace std;
main()
{
    long n;
    cin >> n;
    long *arr = new  long[n];
    for( long i=0;i<n;i++)
        cin >> arr[i];
     long k;
    cin >> k;
     long max=arr[0];
    for(long i=1;i<k;i++)
    {
        if(arr[i]>max)
            max=arr[i];
    }
    if(k!=n)
    cout<<max<<" ";
    else cout<<max;
    for( long i=k;i<n;i++)
    {
        if(arr[i-k]==max)
        {max=-1;
        for(int j=i-k+1;j<=i;j++)
        if(arr[j]>max)
        max=arr[j];
        if(i!=n)
        cout<<max<<" ";
        else cout<<max;

        }
        else{
        if(arr[i]>max)
        {   max=arr[i];

        if(i!=n)
        cout<<max<<" ";
        else 
        cout<<max;
        }
        else
        {
        if(i!=n)
        cout<<max<<" …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

6
推荐指数
1
解决办法
3122
查看次数

来自cat`bash`命令的意外输出

有人可以解释一下吗?我运行了如下所示的命令

$ cat `bash`

$ ls

$ ctrl+D
Run Code Online (Sandbox Code Playgroud)

它在终端上给了我一些意想不到的输出.

注意:bash在反引号中.

unix bash shell operating-system cat

2
推荐指数
1
解决办法
148
查看次数

Quicksort递归深度O(n)的堆栈空间不会导致堆栈溢出?

在Worst案例中,Quicksort递归深度需要O(n)的堆栈空间.为什么在最坏的情况下它不会导致大型集合的堆栈溢出?(逆序)

sorting algorithm performance quicksort data-structures

2
推荐指数
1
解决办法
2174
查看次数

unix中的ls -l命令和密码文件

当我们执行ls -l命令列出目录中的文件时,是否/etc/passwd访问该文件.请解释 ??如果是,我该如何验证?

unix filesystems shell

1
推荐指数
1
解决办法
675
查看次数

Shell脚本成为root?

我们如何编写一个shell脚本来成为root?那就是我不想在提示时输入密码,它应该在脚本本身内.我试图制作但未能这样做.如果是的话请尽可能解释.

unix linux shell root

0
推荐指数
1
解决办法
1160
查看次数