小编Sin*_*Cos的帖子

如何知道 crontab 是否正常工作?

我正在尝试运行一个简单的 crontab (在 mac OSX 终端上)

我的 cronjob 看起来像这样:

* * * * * /Users/tanavya.dimri/Documents/cron.sh
Run Code Online (Sandbox Code Playgroud)

cron.sh:

#!/bin/bash
cd /Users/tanavya.dimri/Documents
python hello.py > empty
Run Code Online (Sandbox Code Playgroud)

hello.py 很简单

print "Hello"
Run Code Online (Sandbox Code Playgroud)

当我刚运行时sh cron.sh它有效。空,只是一个空文本文件,确实更改为“Hello”。但是,我真的不知道它是否与 crontab 一起使用,因为在我从中删除 hello 后该文件没有更改。

python shell cron

8
推荐指数
1
解决办法
3万
查看次数

交换两个向量之间的值,使两个向量的max_elements之和最小

这是Codechef提出的问题,但请耐心等待. https://www.codechef.com/ZCOPRAC/problems/ZCO16001

这场比赛是为了准备在印度举办的Zonal计算奥林匹克运动会,所以它不是一场竞争性的比赛,我可以从中获得这样的比赛.只需要一些帮助就可以看出我的代码有什么问题,因为我有一种感觉,我忽略了一些大而愚蠢的东西.:P

所以基本上这个问题总结为这个.

可以说有两个向量或数组.您需要在它们之间交换元素,以使它们的最大元素之和最小.但是,您最多可以交换K次.然后输出此总和的值.

我的方法很简单.取Vector1(V1)中的最大数字,并将其与V2中的最低值交换.添加每个的最高值.这样做,但这次交换V2中的最高数字与V1中的最低数字.添加每个的最高值.更好的交换将是具有最低总和的那个并且从那里继续K次.

例如:

V1 = 5 6 7 9

V2 = 9 10 5 4

在这种情况下,如果K = 1,我将首先用V2的4交换V1的9.这给出:

V1 = 5 6 7 4

V2 = 9 10 5 9

最高数字的总和为17,与之前的19相比.我可以做的第二次交换是来自V2的10和来自V1的5:

V1 = 10 6 7 4

V2 = 9 5 5 9

这个和为19,所以第一个交换更好,输出应该是17.

这是我的解决方案:

#include <iostream>
#include <vector>
#include <algorithm>
#define print(vec) for (int i  = 0; i < vec.size(); i++) { cout << vec[i] << " "; } cout << endl;
using namespace std; …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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

C++ - 如何增加堆栈大小以允许更多的递归,以便Kosaraju的算法计算强连通组件

我使用的是mac,4GB的RAM和CLion IDE.编译器是Clang.我需要在Depth First Search的递归实现中允许更多的递归(目前在具有80k节点的图形上失败).

typedef unordered_map <int, vector<int>> graph;
void DFS (graph &G, int i, vector <bool> &visited) {

    visited[i] = true;
    for (int j = 0; i < G[i].size(); j++) {
        if (!visited[G[i][j]]) {
            DFS(G, G[i][j], visited);
        }
    }
    t++;
    finishingTime[t] = i; //important step
}
Run Code Online (Sandbox Code Playgroud)

这是为了实现Kosaraju算法来计算图中强连通分量.https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm我知道可以将DFS实现为迭代,但最后一步很重要,我找不到使用迭代包含它的方法.这是因为当DFS失败并且发生回溯时,该步骤完成,并且递归提供了一种非常自然的方式来执行此操作.

所以目前我只有两个选择:

  • 增加堆栈大小以允许更多递归
  • 或者找到一个迭代的解决方案

任何想法怎么做?

c++ algorithm recursion

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

具有多维参数的增量贝叶斯更新

我正在尝试将 PYMC3 用于贝叶斯模型,我想在新的看不见的数据上反复训练我的模型。我想我每次看到数据时都需要用先前训练过的模型的后验更新先验,类似于这里https://docs.pymc.io/notebooks/updating_priors.html 的实现方式。他们使用以下函数从样本中找到 KDE,并使用对 from_posterior 的调用替换模型中参数的每个原始定义。

def from_posterior(param, samples):
    smin, smax = np.min(samples), np.max(samples)
    width = smax - smin
    x = np.linspace(smin, smax, 100)
    y = stats.gaussian_kde(samples)(x)

    # what was never sampled should have a small probability but not 0,
    # so we'll extend the domain and use linear approximation of density on it
    x = np.concatenate([[x[0] - 3 * width], x, [x[-1] + 3 * width]])
    y = np.concatenate([[0], y, [0]])
    return Interpolated(param, x, y)
Run Code Online (Sandbox Code Playgroud)

这是我的原始模型。 …

python bayesian scipy pymc pymc3

5
推荐指数
0
解决办法
87
查看次数

在C++中复制变量的复杂性是什么?

我的一位朋友说,位掩码比位集更好,因为复制位集需要O(N)时间,而复制位掩码只需要O(1)时间,这使得动态编程等应用程序的速度更快.所以我想知道所有其他数据类型是否相同?

例如,这段代码的复杂性是什么?

vector <int> vec1 = {1,2,3,4,5,6,7,8,9,10};
vector <int> vec2 = vec1;
Run Code Online (Sandbox Code Playgroud)

如果是O(N),为什么会这样呢?不应该是O(1)就像做类似的事情

int x = 530210;
int y = x;
Run Code Online (Sandbox Code Playgroud)

将会?

c++ time-complexity

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

标签 统计

c++ ×3

algorithm ×2

python ×2

bayesian ×1

cron ×1

pymc ×1

pymc3 ×1

recursion ×1

scipy ×1

shell ×1

time-complexity ×1