随笔分类 - 题解。蒟蒻
摘要:行列二分匹配。位于重要点的判断,删边后再判断最大匹配是否变小。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 123...
阅读全文
摘要:Prufer编码的应用。懒的写质因数分解,直接高精度。注意当n=1的特殊情况的处理。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#d...
阅读全文
摘要:还是Prufer编码的应用。这次我们不再限制各个点的度数,那么在Prufer编码中每个位置都用N中选择,Prufer编码的种类就有n^(n-2)可能,再加上每棵树有(n-1)!的交友顺序,相乘就是答案了。其实前者的n^(n-2)也叫做Cayley定理。#include #define rep(i, ...
阅读全文
摘要:Prufer编码练习题,这个编码是跟树的生成计数有关系的。推荐这篇博文:http://www.cnblogs.com/zhj5chengfeng/archive/2013/08/23/3278557.html介绍地挺全面+生动形象会了Prufer之后这道题还要用上组合数学来高精度计算。#includ...
阅读全文
摘要:据网上说这是到差分约束四星题。。。可我觉得难吗?比推DP方程容易。。。两种约束方式,当然实现到程序就变成六种了。。。#include #include #include #include #include #include #include #include #define rep(i, l, r)...
阅读全文
摘要:很容易发现约束条件:L#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 456#define MAX 1'9') { ...
阅读全文
摘要:四种约束条件。。照做就行了。。最长路建图。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 1000...
阅读全文
摘要:差分约束。很容易看出两种约束方式,然后建图。而且题目要求排序不能乱,于是加上第三种约束。求最长就跑一遍最短路啊就行了。#include #include #include #include #include #include #include #include #define rep(i, l, r...
阅读全文
摘要:本来是一道普通的差分约束题,结果特么的写完连样例都过不了。。。后来才在差分约束的百度百科中现这段话:1.如果将源点到各点的距离初始化为0,最终求出的最短路满足 它们之间相互最接近了;2.如果将源点到各点的距离初始化为INF(无穷大),其中之1为0,最终求出的最短路满足 它们与该点之间相互差值最大。呵...
阅读全文
摘要:先处理成前缀和关系,然后可以很明显得看得出这是一个差分约束。那么就是最短路问题了。顺便复习了一下SPFA加SLF优化是怎么写的,也学习到了另一个STL——Deque双向队列。#include #include #include #include #include #include #include ...
阅读全文
摘要:无修改的查询题,分块莫队+树状数组搞之。可这样貌似会Tle……于是不用树状数组,改成对权值进行分块,使查询的复杂度变成O(n^0.5),修改则是O(1)。(原树状数组的复杂度:查询O(lgn),修改O(lgn))#include #include #include #include #include...
阅读全文
摘要:用分块莫队离线询问的同时用树状数组快速计算逆序对个数。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i = l; i = r; i--)#def...
阅读全文
摘要:BZOJ2038的弱化版。。。同样分块莫队。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i = l; i = r; i--)#define N...
阅读全文
摘要:离线做法:莫队。离线处理询问,对左端点进行分块,在同一块内的右端点则从小到大排序。接着对于上一个询问[l,r]和当今询问[l',r']不断调整区间范围。怎么调整呢?对于[l,r]所含的信息,我们可以花O(1)的时间调整成[l,r+1],[l,r-1],[l+1,r],[l-1,r]。最正宗的莫队貌似...
阅读全文
摘要:估价函数其实就是与目标状态有几个不同。。。迭代启发搜索。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i = l; i = r; i--)#de...
阅读全文
摘要:为每个状态定义两个函数S和H,分别表示当前状态到列一致和行一致的目标状态的最少操作次数。然后有了估价函数F=Min(S,H)就可以IDA*了。#include #include #include #include #include #include #include #include #define...
阅读全文
摘要:BFS+预处理。一组解的话Usaco有题。。。要是T组解的话就预处理一下。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i-...
阅读全文
摘要:深搜+几个剪枝。貌似搜索顺序也挺重要的。。。我不知是不是因为这个然后Tle了好久。。。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i...
阅读全文
摘要:DFS可解决。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define maxn 23#define MAX 1...
阅读全文
摘要:直接DFS,不用加剪枝。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define maxn 5678#defin...
阅读全文

浙公网安备 33010602011771号