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。 看到这个 \(n\leq18\) ,立刻想到状压DP。 考虑转移方程,一个状态可以由两个子状态转移而来,所以 \(f_i=f_{i-j}+f_j\) 。 如果 \(i-j\) 和 \(j\) 这两个状态可以合并,那么等于说是 \(i\) 这个状态本身是个完全图。那么我们判断一下这个
阅读全文
摘要:题面 题意:有一堆硬币,其中金币,银币,铜币的个数分别为 \(A,B,C\) ,每次在这堆硬币中随机挑选一枚,放两个同样的硬币进去。求存在一种硬币使得这种硬币个数超过 \(100\) 的期望操作次数。 概率DP。 这道题目应当用倒推的方法,因为初始状态是 \(f_{100,j,k}=f_{i,100
阅读全文
摘要:题面 题意:有 \(n\) 个物品,你可以选择若干个物品,使他们的价值之和 \(\leq t\) ,求他们价值之和的最大值。 \(n \leq 40, t\leq 10^9\) 。 首先看到这个 \(n\) 非常小,但是暴力的 \(O(2^n)\) 跑不过去。 这是我们就要想双端搜索。双端搜索的主要
阅读全文
摘要:题面 他就是说有 \(m\) 个数在他的位置上, \(n-m\) 个数不在他的位置上。 那么那 \(m\) 个数是任意的,所以共有 \(\dbinom{m}{n}\) 种组合方法,剩下的数可以发现是一个错位排序。 所以答案就是 \(\dbinom{m}{n}\times d_{n-m}\) 。组合数
阅读全文
摘要:T1 \(\text{Statement}\) 表达式的计算 数学表达式求值:输入由数字、'+'、'-'、'*'、'/'、乘方'^'、小括号组成的字符串,输出运算结果 \(\text{Solution}\) 非常裸的一个题目。 首先把算式读进来,先用一个栈将其转化成后缀表达式,然后求值即可。 T2
阅读全文
摘要:题面 树形DP。 首先可以发现, \(m>2\) 时,难受度只出现在最大的头吃的果子上(因为我把果子分成最大的头吃的和其他的,其他的里面,相邻的果子让不同的头吃即可)。 然后我定义 \(f_{i,j,k}\) 为当前为 \(i\) 节点,当前节点分 \(j\) 个果子给最大的头,当前节点选择情况为
阅读全文
摘要:题面 把这些数分成 \(k+1\) 组,每组做完以后清零。 那么首先易证每一组里面一定是严格不增的,所以我们先要考虑给整个数组从大到小排序。 然后怎么去考虑当前的数扔到哪个组中呢?我们用贪心的想法,每次插入都让这次插入得到的答案最大,那么因为插入这个数所得到的答案和我插什么数没有关系,所以我每次都取
阅读全文
摘要:题面 首先这 \(n\) 个数是互相独立的,所以我们不需要统一的去考虑,只需要考虑其中一个数即可。 我们以 \(k=5\) 的情况举例。 我设 \(f_i\) 为最后一行只填前 \(i\) 个点的情况数, \(g_i\) 为 \(k=i\) 时总共的情况数。 显然, \(f_0\) 就是 \(g_{
阅读全文

浙公网安备 33010602011771号