- 博客(6)
- 收藏
- 关注
原创 USACO-奶牛叠罗汉--交换法贪心思想
Cow AcrobatsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4433 Accepted: 1704DescriptionFarmer John's N (1 <= N <= 50,000) cows (numbered 1..N) are pl
2016-09-24 23:28:52 1432
原创 乘法逆元模板
我们知道,在模意义下,加减乘运算是封闭的;例如在模17意义下,8+11=((8%17)+(11%17))%17=2,19+21=((19%17)+(21%17))=6;减法同理,但是在C++编译器中取模的意义是与数学上不同的,负数mod正数应该是非负数,但是C++却可能模出负数,所以我们要多加一些处理,对于x,可以(x%mod+mod)%mod保证其正确性,比如在模17意义下,21-19=
2016-09-23 23:34:40 3112
原创 关于树上倍增求LCA
例:BZOJ1787画图发现规律,三个点两两之间最近公共祖先点的集合最多只有两个元素,分类讨论即可。#includeusing namespace std;#define fi first#define se secondtypedef pair pii; const int maxn = 500010;int first[maxn];struct edg{ in
2016-09-22 22:21:30 1003
原创 floyd求传递闭包
传递闭包问题,我的理解就是通过一些已知的连边求出点与点之间的关系设f[i][j]表示i 与 j 是否联通,f[i][j]=f[i][k]&&f[k][j]时间复杂度O(N^3)POJ-3660#include#includeusing namespace std;const int maxn = 110;int a[maxn][maxn];int n,m;int ans
2016-09-16 00:09:25 1738 1
原创 装压DP及TSP问题的学习
当n比较小的时候(其实为什么要装压呢?比如我们完全可以设计f[a][b][c][d][e][f][g][h][......]描述状态,但是这样是不是看起来很丑呢?我们完全可以设f[i]表示状态为i时的情况,是不是美观多了?TSP问题是装压DP的一种,状态常常设计成f[i][j]表示状态为i,当前在j时的最小花费。有时候我们要先做一遍floyd求出两点之间最小路径长度,然后转移,有时却不
2016-09-13 22:39:02 752
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人