正文内容加载中...
posted @ 2021-10-22 19:49 Chiimo 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 01背P1048 完背P1616 一区P1880 二区P2858 树DFS DijP4779 PrimP3366 KruscalP3366 TarjanP2863 倍增LCAP3379 树状数组1 树状数组2 SegTree TrieP2580 CartesianTreeP5854 FHQTreap 阅读全文
posted @ 2021-10-23 10:25 Chiimo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 未开 long long. 线段树先调用 build(). (两次了) 分块修改是 rep(i, l + 1, r - 1) 博客园的表格万万不能用. 笛卡尔树建树时,当前节点不在栈内. DFS记得return 1和i不要搞混(实在不行就换个变量名,好调) 数组压维度时,要保证它不越界 匈牙利算法连 阅读全文
posted @ 2021-10-22 19:49 Chiimo 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题面 状压DP。 看到这个 \(n\leq18\) ,立刻想到状压DP。 考虑转移方程,一个状态可以由两个子状态转移而来,所以 \(f_i=f_{i-j}+f_j\) 。 如果 \(i-j\) 和 \(j\) 这两个状态可以合并,那么等于说是 \(i\) 这个状态本身是个完全图。那么我们判断一下这个 阅读全文
posted @ 2021-10-20 19:49 Chiimo 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 2021.8.2 LG3386 匈牙利算法 二分图 LG1377 笛卡尔树 题解 2021.8.3 LG2962 \(\text{Meet in middle}\) LG3389 高斯消元 高斯-约旦消元 2021.8.4 SPOJ ABCDEF 暴力+优化 题解 LG5691 暴力+优化 题解 2 阅读全文
posted @ 2021-10-20 19:40 Chiimo 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 题面 题意:有一堆硬币,其中金币,银币,铜币的个数分别为 \(A,B,C\) ,每次在这堆硬币中随机挑选一枚,放两个同样的硬币进去。求存在一种硬币使得这种硬币个数超过 \(100\) 的期望操作次数。 概率DP。 这道题目应当用倒推的方法,因为初始状态是 \(f_{100,j,k}=f_{i,100 阅读全文
posted @ 2021-10-10 08:47 Chiimo 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题面 题意:有 \(n\) 个物品,你可以选择若干个物品,使他们的价值之和 \(\leq t\) ,求他们价值之和的最大值。 \(n \leq 40, t\leq 10^9\) 。 首先看到这个 \(n\) 非常小,但是暴力的 \(O(2^n)\) 跑不过去。 这是我们就要想双端搜索。双端搜索的主要 阅读全文
posted @ 2021-10-10 08:33 Chiimo 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题面 他就是说有 \(m\) 个数在他的位置上, \(n-m\) 个数不在他的位置上。 那么那 \(m\) 个数是任意的,所以共有 \(\dbinom{m}{n}\) 种组合方法,剩下的数可以发现是一个错位排序。 所以答案就是 \(\dbinom{m}{n}\times d_{n-m}\) 。组合数 阅读全文
posted @ 2021-10-09 20:27 Chiimo 阅读(4) 评论(0) 推荐(0) 编辑
摘要: T1 \(\text{Statement}\) 表达式的计算 数学表达式求值:输入由数字、'+'、'-'、'*'、'/'、乘方'^'、小括号组成的字符串,输出运算结果 \(\text{Solution}\) 非常裸的一个题目。 首先把算式读进来,先用一个栈将其转化成后缀表达式,然后求值即可。 T2 阅读全文
posted @ 2021-10-09 20:18 Chiimo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题面 树形DP。 首先可以发现, \(m>2\) 时,难受度只出现在最大的头吃的果子上(因为我把果子分成最大的头吃的和其他的,其他的里面,相邻的果子让不同的头吃即可)。 然后我定义 \(f_{i,j,k}\) 为当前为 \(i\) 节点,当前节点分 \(j\) 个果子给最大的头,当前节点选择情况为 阅读全文
posted @ 2021-10-09 20:15 Chiimo 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题面 把这些数分成 \(k+1\) 组,每组做完以后清零。 那么首先易证每一组里面一定是严格不增的,所以我们先要考虑给整个数组从大到小排序。 然后怎么去考虑当前的数扔到哪个组中呢?我们用贪心的想法,每次插入都让这次插入得到的答案最大,那么因为插入这个数所得到的答案和我插什么数没有关系,所以我每次都取 阅读全文
posted @ 2021-10-06 19:37 Chiimo 阅读(5) 评论(0) 推荐(0) 编辑