随笔分类 - 专题
摘要:题号 题目 知识点 题解链接 1610D D. Not Quite Lee DP 裴蜀定理 gcd https://www.cnblogs.com/mrd-T/p/15607426.html 1613D D. MEX Sequences DP 思维 132 1614D D2. Divan and K
阅读全文
摘要:题目 题意 给你一个数组然后问你有几种k操作在m此交换下,变成给出的数组 k操作为让后k个数到前面去 做题方法 $m<=\frac{n}{3}$所以$m$最多影响$\frac{2n}{3}\(个数字,所以还有\)\frac{n}{3}$个数字需要$k$操作影响 $cnt[k]+2m>=n$而$\su
阅读全文
摘要:树上启发式合并 作用 主要解决树上对每个根节点的影响,复杂度最好O(nlog n),最差O(N*N) #include <bits/stdc++.h> using namespace std; #define ll long long const ll N = 1e5 + 10; ll dep[N]
阅读全文
摘要:FHQ treap 概念 分裂 根据某个数 分裂为两棵树 合并 两棵树和为一棵树 /*made in mrd*/ #include <bits/stdc++.h> using namespace std; const int N = 2e6 + 10; #define int long long #
阅读全文
摘要:分析 平衡二叉树 set/map 红黑树(代码长) == splay(代码适中,支持很多操作) treap(有局限,一些操作做不了) AVL 多叉树 B树 B+树 操作: 左旋 右旋 (维护的是中序遍历不变) 右旋 -> z z / // y x / \ / \\ x c A y / \ // \
阅读全文
摘要:KMP模板 网上模板 next数组代表这一位匹配到下一位的位置 void get_nxt { nxt[0]=-1; int i=0,j=-1; while(i<len) { if(j==1||a[i]==a[j]) { i++,j++; nxt[i]=j; } else j=nxt[i]; } }
阅读全文
摘要:前置知识 微扰贪心 例题 国王游戏 耍杂技的牛 耍杂技的牛 证明 DP codeforces 分析 对于两道题t1,t2来说,有两种做题顺序,如下图的C12,C21,我们定义P1为t1的每分钟减小的分数,T1为做题需要的时间 两道题的初始总分数为sum(最大分数之和) 则 得分C12=sum-T1P
阅读全文
摘要:思维 1.Binary Strings 简单分析 从后往前考虑每一位如果这一位有1就直接填1否则填0减1 2.Distance on Large Perfect Binary Tree 简单分析 考虑m能有多少种组合对能有所有组合的节点算一遍答案 最后*2 Level Up 简单分析 背包问题 存第
阅读全文

浙公网安备 33010602011771号