我正在尝试运行一个简单的 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 后该文件没有更改。
这是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) 我使用的是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失败并且发生回溯时,该步骤完成,并且递归提供了一种非常自然的方式来执行此操作.
所以目前我只有两个选择:
任何想法怎么做?
我正在尝试将 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)
这是我的原始模型。 …
我的一位朋友说,位掩码比位集更好,因为复制位集需要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)
将会?