regular backup
This commit is contained in:
parent
7b4fe8e93c
commit
d6a51ead4c
|
@ -39,8 +39,14 @@ in {
|
|||
name = arielherself
|
||||
[gpg "ssh"]
|
||||
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 = {
|
||||
|
@ -133,12 +139,13 @@ in {
|
|||
pkgs.lua-language-server
|
||||
pkgs.cmake-language-server
|
||||
pkgs.nil # Nix language server
|
||||
pkgs.asm-lsp # Assembly language server
|
||||
pkgs.nodePackages.typescript-language-server
|
||||
pkgs.nodePackages.vls # Vue language server
|
||||
pkgs.nodePackages.prettier
|
||||
unstable.markdown-oxide
|
||||
pkgs.helix
|
||||
pkgs.zed-editor
|
||||
unstable.zed-editor
|
||||
pkgs.xfce.mousepad
|
||||
|
||||
# Tools
|
||||
|
@ -166,12 +173,16 @@ in {
|
|||
unstable._1password-gui
|
||||
pkgs.nix-index
|
||||
pkgs.rclone
|
||||
pkgs.sshfs
|
||||
|
||||
# Pwn
|
||||
pkgs.nmap
|
||||
pkgs.inetutils
|
||||
pkgs.samba
|
||||
|
||||
# Java
|
||||
pkgs.jdk22
|
||||
|
||||
# Python
|
||||
(pkgs.python312.withPackages (ps: with ps; [
|
||||
]))
|
||||
|
|
|
@ -660,7 +660,7 @@ lspconfig.clangd.setup {
|
|||
lspconfig.pyright.setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
lspconfig.tsserver.setup {
|
||||
lspconfig.ts_ls.setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
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);
|
||||
vector<int> res(n);
|
||||
transform(A.begin(), A.end(), res.begin(), expr(int(round(x.real())), auto&& x));
|
||||
res.resize(a.size() + b.size() - 1);
|
||||
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')
|
||||
ls.add_snippets(nil, {
|
||||
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')
|
||||
ls.add_snippets(nil, {
|
||||
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