ICode9

精准搜索请尝试: 精确搜索
  • 算法模板2022-06-19 23:38:26

    算法模板 数论 //最大公约数 LL gcd(LL a, LL b) { return b ? a : gcd(b, a%b); } 统计 并查集 struct UF{ int n; int cnt; vector<int> fa; vector<int> sz; UF(int _n) : n(_n), cnt(_n), fa(_n), sz(_n, 1) { iota(fa.begin(), fa.end(), 0

  • LCT 学习笔记2022-06-18 13:31:43

    LCT 学习笔记 还在更新…… 看看学弟们几天后会把 LCT 给卷了:cntnow = 0 LCT 好难啊呜呜呜 这 LCT,尤其是 makeroot 中的区间翻转一步,根本不是人想到的。 虽然 Splay 也不是人想到的。 写了一些忽然发现网上有写的很好的了,那就这样,图直接放人家的,主要用来存代码方便背代码( 再写这样

  • 转存2022-06-18 12:33:28

    #include <bits/stdc++.h> #define endl putchar('\n') #define lson(x) tree[x].ch[0] #define rson(x) tree[x].ch[1] #define siz(x) tree[x].size #define fa(x) tree[x].fa #define lazy(rt) tree[rt].lazy #define sum(x) tree[x].sum #define val(x)

  • nanoPi R1 资料2022-06-15 15:02:41

            eflasher脱机烧写 在命令行终端中通过执行下列命令进行烧写: $ su root $ eflasher  root 用户的密码是 fa。       串口登录    控制台波特率 115200            

  • 后缀自动机 SAM2022-06-12 21:31:13

    struct NODE { int ch[26]; int len,fa; NODE(){memset(ch,0,sizeof(ch));len=0;} }dian[MAXN<<1]; int las=1,tot=1; void add(int c) { int p=las;int np=las=++tot; dian[np].len=dian[p].len+1; for(;p&&!dian[p].ch[c];p=dian[p]

  • 202206102022-06-12 17:05:36

    rk 12/40, 77+31+55=163 max: 100,100,100,95+100+100=295 没有执行好策略。认为 T2 不可做因此没有想,签到失败;花了过多时间思考T3 (但是是无效的)导致 T1 没时间检查 T3 完全没有想到点分治,还是要定时复习 CF571E 为数不多码量大于思维的数学题 套路的分质因子考虑。设 \(a[i,j]

  • NFLSOJ 10267 - 「2020NOIP模拟题-中山纪念2」铲雪(树链剖分+树状数组+势能分析)2022-06-12 10:02:37

    题面传送门 怎么场均一道不可写题啊.jpg 首先看到这样的题面我们可以想到 AGC010C Cleaning,因此我们第一反应肯定是用路径合并的思想去解决这个问题,尝试写一个程序后你会发现每个点向上延伸出去的路径数量就固定的:为其与父亲相连的边的权值。因此其实每个点的贡献是独立的,因此我们

  • [JOISC 2017 Day 1] 港口设施2022-06-12 09:35:47

    一、题目 点此看题 二、解法 首先考虑只有一个港口的情况,发现合法的充要条件是所有 \([a,b]\) 不交。 由于两个港口是独立的,所以问题转化成:求出有多少种二染色方案,使得同色的线段不交。我们把满足 \(a<c<b<d\) 的线段 \([a,b]\) 和 \([c,d]\) 之间连一条边,然后问题就变成了求连通

  • CF700E Cool Slogans / YbtOJ「字符串算法」第3章 后缀自动机 G. 重复子串 题解--zhengjun2022-06-11 16:05:16

    题目大意 选出一个字符串序列 \(s\),使得对于每一个 \(s_i\),都是原串的子串,且每个 \(s_i\) 在 \(s_{i-1}\) 中都出现过至少两次,求最大的序列长度。 思路 发现其实可以做到让所有选出的字符串都是上一个字符串的后缀,因为如果后面留了一个尾巴,那么前面的字符串把这个尾巴砍了是不影响

  • HHHOJ #246 卡车 题解--zhengjun2022-06-11 16:02:47

    题目传送门 题目大意 给定一个 \(n\) 个点的树,每个点有权值 \(v_i\),每条边也有权值 \(w_j\),对于树上一条简单路径,它的权值就是路径上(包括两端点)\(\min{\{v_i\}}\times\sum w_j\),求最大的路径权值。 思路 显然可以发现可以将每个点按照 \(a_i\) 从大到小排序,枚举当前的 \(\min\{v_

  • C++笔记-Asan(address-sanitize)的使用2022-06-10 21:34:03

    目录参考资料ASAN使用检查越界检查内存泄露 参考资料 https://github.com/google/sanitizers/wiki/AddressSanitizer ASAN使用 检查越界 测试代码 test_asan.cpp #include <iostream> int main() { int *arr = new int[10]; int res = arr[10]; // index out of bounds std

  • CF 793 div2 E 题解2022-06-09 21:01:11

    793div2 E 可上 CF 看本题解。 建模不多说,你会把排列拆成若干个轮换,然后对于长为 \(k\) 的轮换,会且仅会用 \(k-1\) 次交换(因为题目保证用的次数是最少的)。 把这些交换抓出来建图,会得到一个森林,你需要给每条边定向,使得每棵树的拓扑序都可以和原轮换循环同构。 考虑如果满足一个 \(i

  • python 中实现将fasta文件中碱基以每行指定数目输出2022-06-07 22:35:18

      001、测试数据 [root@PC1 test2]# ls a.fa test.py [root@PC1 test2]# cat a.fa ## 测试数据 >OR4F5_ENSG00000186092_ENST00000641515_61_1038_2618 CCCAGATCTCTTCAGTTTTTATGCCTCATTCTGTGAAAATTGCTGTAGTCTCTTCCAGTTATGAAGAAGGTAACTGCAGAGGCTATTTCCTGGAATGAATCAACGAGTGA

  • ZJOI2015 诸神眷顾的幻想乡2022-06-07 21:03:00

    给定一棵叶子节点不超过 \(20\) 个的无根树,每个节点上都有一个 \(0\sim 9\) 的数字,求树上本质不同路径条数。两条路径相同是指其路径上所以节点上的数字顺次连结组成的字符串相同。 \(1\le n\le 10^5\)。 如果此题是从根出发的路径,那相当于就是给定了一棵 \(\text{Trie}\) 树,非

  • LCA学习笔记2022-05-28 16:35:43

    目录 前言 LCA简介 倍增求LCA 树剖求LCA LCA在树形结构题中的妙用 1.前言 应老师要求,来写一篇关于LCA的学习笔记 2.LCA简介 两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 画张图理解一下: 如图,10与8的LCA是2,13与3的LCA是3 那么怎么求LCA呢? 3.倍增求LCA 想

  • 324 最近公共祖先 倍增算法2022-05-28 13:32:02

    视频链接: // P3379 【模板】最近公共祖先(LCA) #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace std; const int N=5e5+10; int n,m,s,a,b; vector<int> e[N]; int dep[N],fa[N][20]; void dfs(int u, i

  • 325 最近公共祖先 Tarjan算法2022-05-28 13:31:42

    视频链接: // P3379 【模板】最近公共祖先(LCA) #include <iostream> #include <algorithm> #include <cstring> #include <vector> using namespace std; const int N=500005,M=2*N; int n,m,s,a,b; vector<int> e[N]; vector<pair<int,int>>q

  • 110 并查集2022-05-28 09:33:48

    视频链接: // Luogu P3367 【模板】并查集 ///////路径压缩 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N=100010; int n,m,x,y,z; int fa[N]; int find(int x){ if(fa[x]==x) return x; return fa[x]=find(fa[

  • 最近一些题的题解2022-05-26 14:35:14

    1. 摩尔庄园 用树形 dp 模拟网络流。 记 \(a\) 为 \(x\) 走向 \(fa(x)\) 的次数,\(b\) 为 \(fa(x)\) 走向 \(x\) 的次数,\(flw(x) = a - b\)。 这样在从 \(x\) 走向 \(fa\) 时: 如果 \(flw(x) < 0\),表示有更多次从 \(fa\) 走向 \(x\),那么这一次费用为 \(-1\),表示和之前一次从 \(fa\)

  • NOIP提高组模拟赛加12022-05-26 12:33:26

    A. 哪一天她能重回我身边 学网络瘤学傻了,用费用瘤搞掉第一问就在想怎么搞方案,然后越想越偏。。。。。 不仅没有搞出来第二问,而且费用瘤的复杂度。。。。 总之就是挂的很惨。。。。 这题居然是个树形\(DP\)??? 把背面的数向正面的数连边,翻一张卡相当于把边反向,我们要用最少次数让所有

  • 平衡树 22022-05-26 12:31:45

    无旋Treap 点击查看代码 #include <bits/stdc++.h> using namespace std; const int o=2222222; struct Treap{ struct node{ int l,r; int size; int val; int k; }t[o]; int tot,root; int add(int x){ tot++;

  • 仓鼠找 sugar2022-05-25 22:01:58

    仓鼠找 sugar LCA SCUACM2022集训前训练-图论 - Virtual Judge (vjudge.net) 首先要观察出一个结论:若 a - b 的路径与 c - d 的路径相交,设 a, b 的 LCA 为 x; c, d 的 LCA 为 y 则有 x 在 c - d 路径上 或 y 在 a - b 路径上 如何判断一个点是否在一条路径上: 可观察到一个性质

  • 并查集笔记2022-05-23 11:31:36

    代码实现:通过路径压缩把某类节点统统并入根节点,类似于冠状病毒(? 首先把每个节点的父节点设置为他们自己 find函数以及修改父节点代码实现 int findset(int n){ return fa[n]==n?n:fa[n]=findset(fa[n]); } 并查集父节点查询与融合操作 int fx=findset(x),fy=findset(y);

  • drf 自定义User表,签发token 自定义认证类 simpleui的使用2022-05-22 22:32:06

    内容详细 1 自定义User表,签发token # 如果项目中的User表使用auth的user表,使用快速签发token即可 # 如果自定义User表,签发token,需要手动签发---》自己写 1.1 普通写法 from rest_framework.views import APIView # class UserView(APIView):

  • seq题解2022-05-22 19:01:22

    题解 题意 有一个长度为 \(n\) 的序列,数列中每个数都是 $ \left[ 0,p-1 \right] $ 之间的整数。 给定\(m\)个询问表示区间\(\left[l,r\right]\)之间所有数的和对\(p\)取模的结果。 求最多能满足前几次询问。 思路 先不想区间的问题,考虑如果\(x\)和\(y\)都是\(p\)的倍数,那么显然\(x

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有