regular backup
This commit is contained in:
parent
7b4fe8e93c
commit
d6a51ead4c
|
@ -39,8 +39,14 @@ in {
|
||||||
name = arielherself
|
name = arielherself
|
||||||
[gpg "ssh"]
|
[gpg "ssh"]
|
||||||
program = ${pkgs._1password-gui}/bin/op-ssh-sign
|
program = ${pkgs._1password-gui}/bin/op-ssh-sign
|
||||||
|
[safe]
|
||||||
|
directory = /mnt/fdos_server/OS-24Fall-FDU
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
"Documents" = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Dropbox/arch/Documents";
|
||||||
|
recursive = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
|
@ -133,12 +139,13 @@ in {
|
||||||
pkgs.lua-language-server
|
pkgs.lua-language-server
|
||||||
pkgs.cmake-language-server
|
pkgs.cmake-language-server
|
||||||
pkgs.nil # Nix language server
|
pkgs.nil # Nix language server
|
||||||
|
pkgs.asm-lsp # Assembly language server
|
||||||
pkgs.nodePackages.typescript-language-server
|
pkgs.nodePackages.typescript-language-server
|
||||||
pkgs.nodePackages.vls # Vue language server
|
pkgs.nodePackages.vls # Vue language server
|
||||||
pkgs.nodePackages.prettier
|
pkgs.nodePackages.prettier
|
||||||
unstable.markdown-oxide
|
unstable.markdown-oxide
|
||||||
pkgs.helix
|
pkgs.helix
|
||||||
pkgs.zed-editor
|
unstable.zed-editor
|
||||||
pkgs.xfce.mousepad
|
pkgs.xfce.mousepad
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
|
@ -166,12 +173,16 @@ in {
|
||||||
unstable._1password-gui
|
unstable._1password-gui
|
||||||
pkgs.nix-index
|
pkgs.nix-index
|
||||||
pkgs.rclone
|
pkgs.rclone
|
||||||
|
pkgs.sshfs
|
||||||
|
|
||||||
# Pwn
|
# Pwn
|
||||||
pkgs.nmap
|
pkgs.nmap
|
||||||
pkgs.inetutils
|
pkgs.inetutils
|
||||||
pkgs.samba
|
pkgs.samba
|
||||||
|
|
||||||
|
# Java
|
||||||
|
pkgs.jdk22
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
(pkgs.python312.withPackages (ps: with ps; [
|
(pkgs.python312.withPackages (ps: with ps; [
|
||||||
]))
|
]))
|
||||||
|
|
|
@ -660,7 +660,7 @@ lspconfig.clangd.setup {
|
||||||
lspconfig.pyright.setup {
|
lspconfig.pyright.setup {
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
lspconfig.tsserver.setup {
|
lspconfig.ts_ls.setup {
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
lspconfig.rust_analyzer.setup {
|
lspconfig.rust_analyzer.setup {
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
return [=[
|
||||||
|
// in-place modification
|
||||||
|
int basis(vector<ll>& a) {
|
||||||
|
int n = a.size();
|
||||||
|
int has = 0;
|
||||||
|
for (int i = 63; ~i and has < n; --i) {
|
||||||
|
for (int j = has; j < n; ++j) {
|
||||||
|
if (a[j] & (ll(1) << i)) {
|
||||||
|
swap(a[j], a[has]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (not (a[has] & (ll(1) << i))) continue;
|
||||||
|
for (int j = 0; j < n; ++j) {
|
||||||
|
if (j == has) continue;
|
||||||
|
if (a[j] & (ll(1) << i)) {
|
||||||
|
a[j] ^= a[has];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
++has;
|
||||||
|
}
|
||||||
|
return has;
|
||||||
|
}
|
||||||
|
|
||||||
|
]=]
|
|
@ -45,6 +45,7 @@ vector<int> multiply(const vector<int>& a, const vector<int>& b) {
|
||||||
fft(A, true);
|
fft(A, true);
|
||||||
vector<int> res(n);
|
vector<int> res(n);
|
||||||
transform(A.begin(), A.end(), res.begin(), expr(int(round(x.real())), auto&& x));
|
transform(A.begin(), A.end(), res.begin(), expr(int(round(x.real())), auto&& x));
|
||||||
|
res.resize(a.size() + b.size() - 1);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,19 +50,6 @@ ls.add_snippets(nil, {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
local fhq_treap = require('snippets.fhq-treap')
|
|
||||||
ls.add_snippets(nil, {
|
|
||||||
cpp = {
|
|
||||||
snip({
|
|
||||||
trig = 'treap',
|
|
||||||
namr = 'fhq_treap',
|
|
||||||
dscr = 'FHQ Treap',
|
|
||||||
},{
|
|
||||||
text(lines(fhq_treap))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
local bit = require('snippets.bit')
|
local bit = require('snippets.bit')
|
||||||
ls.add_snippets(nil, {
|
ls.add_snippets(nil, {
|
||||||
cpp = {
|
cpp = {
|
||||||
|
@ -102,6 +89,19 @@ ls.add_snippets(nil, {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
local sparse_table_2d = require('snippets.sparse-table-2d')
|
||||||
|
ls.add_snippets(nil, {
|
||||||
|
cpp = {
|
||||||
|
snip({
|
||||||
|
trig = 'sparse_table_2d',
|
||||||
|
namr = 'sparse_table_2d',
|
||||||
|
dscr = '2D Sparse Table',
|
||||||
|
},{
|
||||||
|
text(lines(sparse_table_2d))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
local hash_vec = require('snippets.hash-vec')
|
local hash_vec = require('snippets.hash-vec')
|
||||||
ls.add_snippets(nil, {
|
ls.add_snippets(nil, {
|
||||||
cpp = {
|
cpp = {
|
||||||
|
@ -326,3 +326,16 @@ ls.add_snippets(nil, {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
local basis = require('snippets.basis')
|
||||||
|
ls.add_snippets(nil, {
|
||||||
|
cpp = {
|
||||||
|
snip({
|
||||||
|
trig = 'basis',
|
||||||
|
namr = 'basis',
|
||||||
|
dscr = 'Bit-mask space basis',
|
||||||
|
},{
|
||||||
|
text(lines(basis))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
return [=[
|
||||||
|
template<typename _Tp, typename _Op = function<_Tp(const _Tp&, const _Tp&)>> struct sparse_table_2d {
|
||||||
|
_Op op;
|
||||||
|
vector<vector<vector<vector<_Tp>>>> st;
|
||||||
|
sparse_table_2d(const vector<vector<_Tp>>& a, _Op&& __operation) {
|
||||||
|
op = __operation;
|
||||||
|
int n = a.size();
|
||||||
|
int m = int(log2(n) + 1);
|
||||||
|
st = vector(n, vector(n, vector(m, vector<_Tp>(m))));
|
||||||
|
for (int k = 0; k < m; ++k) {
|
||||||
|
for (int l = 0; l < m; ++l) {
|
||||||
|
for (int i = 0; i + (1 << k) <= n; ++i) {
|
||||||
|
for (int j = 0; j + (1 << l) <= n; ++j) {
|
||||||
|
if (k == 0) {
|
||||||
|
if (l == 0) {
|
||||||
|
st[i][j][k][l] = a[i][j];
|
||||||
|
} else {
|
||||||
|
st[i][j][k][l] = op(st[i][j][k][l - 1], st[i][j + (1 << l - 1)][k][l - 1]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
st[i][j][k][l] = op(st[i][j][k - 1][l], st[i + (1 << k - 1)][j][k - 1][l]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_Tp query(size_t x1, size_t y1, size_t x2, size_t y2) {
|
||||||
|
int s1 = lg2(x2 - x1 + 1);
|
||||||
|
int s2 = lg2(y2 - y1 + 1);
|
||||||
|
return op(st[x1][y1][s1][s2], op(st[x2 - (1 << s1) + 1][y1][s1][s2], op(st[x1][y2 - (1 << s2) + 1][s1][s2], st[x2 - (1 << s1) + 1][y2 - (1 << s2) + 1][s1][s2])));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
]=]
|
Loading…
Reference in New Issue