摘要: 就是对于给定的若干个字符,每个字符出现的频率不同,对每个字符进行编码,使得占用内存最少, 将点按照频率由小到大排序,然后贪心的选择两两合并,使得权值乘路径之和最小。 HDU - 2527 #include<bits/stdc++.h> using namespace std; #define pb 阅读全文
posted @ 2020-05-16 23:30 无声-黑白 阅读(141) 评论(0) 推荐(0) 编辑
摘要: P2756 飞行员配对方案问题 简单二分图匹配 #include<bits/stdc++.h> using namespace std; #define pb push_back const int N=1e3+5; int gp[N][N],match[N],vis[N]; int n,m; bo 阅读全文
posted @ 2020-05-11 16:17 无声-黑白 阅读(124) 评论(0) 推荐(0) 编辑
摘要: splay 通过旋转的方式维持二叉树平衡。 直线型:一直向上右旋或者左旋。 之字型:先左旋,再右旋,或者先右旋,再左旋。 一直旋到根。 P3391 【模板】文艺平衡树 给定一个序列,经过若干次 [ l , r ] 区间的旋转,问m 次之后 序列。 考虑splay 旋转,维护一个键值,那么点树上的位置 阅读全文
posted @ 2020-05-10 19:22 无声-黑白 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 就是对于一个图,求有多少个生成树。 基尔霍夫矩阵树定理:构建一个邻接矩阵,对角线上的点值等于点 i 的度数,如果 i 和 j 有边相连 对应矩阵点值为 -1 生成树个数:任意的n-1阶行列式的值。 UVA - 10766 题目大意:现有n个点,m条边,k为根节点,每条边代表边的两点有矛盾,不能相连, 阅读全文
posted @ 2020-05-07 21:51 无声-黑白 阅读(173) 评论(0) 推荐(0) 编辑
摘要: L: 题意:给定一个n*m的网格,每个初始的网格有一个高度 ,每个a[ i ] 在[ l , r ]的区间里;两种操作: 1,相邻方块高度+1 2 . 一个方块的高度+2求使得若干次操作之后网格所有点到达同一高度的初始网格数量。 解法:考虑最初的网格有奇数有偶数,通过操作2可以把同为奇数的方格对齐, 阅读全文
posted @ 2020-05-06 23:14 无声-黑白 阅读(127) 评论(0) 推荐(0) 编辑
摘要: ps :复杂度毕竟O(n^2) , 再优化也有多种卡掉的手段。 1 . SLF优化: SLF优化,即 Small Label First 策略,使用 双端队列 进行优化。 一般可以优化15%~20%,在竞赛中比较常用。 设从 u 扩展出了 v ,队列中队首元素为 k ,若 dis[ v ] < di 阅读全文
posted @ 2020-05-05 21:55 无声-黑白 阅读(151) 评论(0) 推荐(0) 编辑
摘要: A - Prime Graph CodeForces - 1178D 题意:给定一个n,构造一张图,使得所有点度数为素数,边的总数为素数,无自环,无重边,输出方案。 思路:可不严谨认为每个点连2条边,和每个点连三条边这个区间内,必然有素数。 先将图构造为一个环,然后将对角点连一条边,组成度数为三的点 阅读全文
posted @ 2020-05-05 20:17 无声-黑白 阅读(148) 评论(0) 推荐(0) 编辑
摘要: B - Dining POJ - 3281 首先二分图的多重匹配匈牙利算法是不行的,无法最优。 直接在构图跑最大流也是不行的:会出现限制。 每一个人拆成两个点,流量为1,增加流量限制,保证不会变大。 #include <cstdio> #include <cstring> #include <que 阅读全文
posted @ 2020-05-01 15:14 无声-黑白 阅读(192) 评论(0) 推荐(0) 编辑
摘要: A - A POJ - 1149 题意:m个猪圈,n个顾客,每个顾客有一些猪圈的钥匙,猪圈的猪可以相互交换,求最大卖出猪数。考虑猪圈的猪如果交换,实际上还是在顾客之间流动,所以以猪圈为单位建模并不合适,因此对于每一个猪圈,能访达所有的顾客都连一条边,因为猪圈的交换实际上还是在顾客之间流动,对于每一个 阅读全文
posted @ 2020-04-30 15:44 无声-黑白 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Lomsat gelral CodeForces - 600E 题意:给你一个树,每个节点有一个颜色,求每个节点出现次数最大颜色编号和。 考虑每个点都必然有多颗子树,统计该点的答案时必然要合并多个子树。 启发式合并就是把小的往大的合并,这样保证log(n)的复杂度。 这个题考虑这样做法: 对于每一个 阅读全文
posted @ 2020-04-27 23:54 无声-黑白 阅读(320) 评论(0) 推荐(0) 编辑