10 2021 档案
摘要:01背P1048 完背P1616 一区P1880 二区P2858 树DFS DijP4779 PrimP3366 KruscalP3366 TarjanP2863 倍增LCAP3379 树状数组1 树状数组2 SegTree TrieP2580 CartesianTreeP5854 FHQTreap
阅读全文
摘要:未开 long long. 线段树先调用 build(). (两次了) 分块修改是 rep(i, l + 1, r - 1) 博客园的表格万万不能用. 笛卡尔树建树时,当前节点不在栈内. DFS记得return 1和i不要搞混(实在不行就换个变量名,好调) 数组压维度时,要保证它不越界 匈牙利算法连
阅读全文
摘要:题面 状压DP。 看到这个 ,立刻想到状压DP。 考虑转移方程,一个状态可以由两个子状态转移而来,所以 。 如果 和 这两个状态可以合并,那么等于说是 这个状态本身是个完全图。那么我们判断一下这个
阅读全文
摘要:题面 题意:有一堆硬币,其中金币,银币,铜币的个数分别为 ,每次在这堆硬币中随机挑选一枚,放两个同样的硬币进去。求存在一种硬币使得这种硬币个数超过 的期望操作次数。 概率DP。 这道题目应当用倒推的方法,因为初始状态是 \(f_{100,j,k}=f_{i,100
阅读全文
摘要:T1 表达式的计算 数学表达式求值:输入由数字、'+'、'-'、'*'、'/'、乘方'^'、小括号组成的字符串,输出运算结果 非常裸的一个题目。 首先把算式读进来,先用一个栈将其转化成后缀表达式,然后求值即可。 T2
阅读全文
摘要:题面 树形DP。 首先可以发现, 时,难受度只出现在最大的头吃的果子上(因为我把果子分成最大的头吃的和其他的,其他的里面,相邻的果子让不同的头吃即可)。 然后我定义 为当前为 节点,当前节点分 个果子给最大的头,当前节点选择情况为
阅读全文
摘要:题面 把这些数分成 组,每组做完以后清零。 那么首先易证每一组里面一定是严格不增的,所以我们先要考虑给整个数组从大到小排序。 然后怎么去考虑当前的数扔到哪个组中呢?我们用贪心的想法,每次插入都让这次插入得到的答案最大,那么因为插入这个数所得到的答案和我插什么数没有关系,所以我每次都取
阅读全文
摘要:题面 首先这 个数是互相独立的,所以我们不需要统一的去考虑,只需要考虑其中一个数即可。 我们以 的情况举例。 我设 为最后一行只填前 个点的情况数, 为 时总共的情况数。 显然, 就是 \(g_{
阅读全文