摘要:
参考论文:胡伯涛《最小割模型在信息学竞赛中的应用》闭合子图的定义: 定义一个有向图 G=(V,E) 的闭合图是该有向图的一个点集,且该点集的所有出边指向的点属于该点集,即闭合图内的任意点的任意后继也一定在闭合图中。如何求解最大权闭合子图? 用最小割来解决。题目:poj2987bzoj... 阅读全文
摘要:
bzoj2241枚举矩形的长和宽,判断是否可行。时间复杂度:O((n*m)^3) 剪枝:1.最优化剪枝 2.如果矩形面积不能整除地图点权之和,则直接判断不可行。const int maxn = 105, maxm = 105;int n, m, sum, ans;int map[m... 阅读全文
摘要:
枚举最终无法选取的最小物品,那么显然比这个物品代价小的物品都必须要选。 对于比这个物品代价大的物品,DP计算方案数即可。至于物品价值相同的根据排序之后的顺序视为不同就可以了。设 dp(i,j) 表示选取i~n个物品,花费j元的方案数,dp(n+1,0)=1,dp(i,j)=dp(i+... 阅读全文
摘要:
很有有意思的树形DP题意:给一棵n个结点的树, 结点编号为1~n, 每条边都有长度. 有k个机器人从S点出发,问让机器人遍历所有边,最少路程和是多少?1#include #include #include #include #include #include #include #in... 阅读全文
摘要:
树形背包#include #include #include #include #include #include #include #include #include #include #include #include #include const int maxn = 3005... 阅读全文
摘要:
一颗树,n个点,每个点上有一个权值,求从1出发,最多走k步,遍历到的点的最大权值和 (每个点权对权值和最多只能贡献一次)(1 #include #include #include #include #include #include #include #include #includ... 阅读全文
摘要:
树状数组套主席树好像没有什么特别的地方,就是要注意卡空间。先处理出初始序列的主席树 O(N∗log(N+M)) 然后用树状数组记录修改 O(M∗logN∗log(N+M))时间复杂度/空间复杂度: O((N+M∗logN)∗log(N+M))#include #include #... 阅读全文
摘要:
Manacher算法, 用来解决 最长回文子串 一类问题,俗称马拉车算法,时间复杂度 O(n)#include#include#include#include#includeconst int maxl = 1000005;const char end[5] = "END";#def... 阅读全文
摘要:
大神的题解无限仰慕中。。。看来我还并不会 polya 定理。#include #include #include #include #include #define REP(i,L,R) for(int i = L; i = L; i--)#define CLR(x) memset(... 阅读全文
摘要:
如果 Lj+1−Rj#include #include #include #include #include const int maxn = 2e5+5, maxm = maxn;struct interval{ long long l, r; int id;};int n,... 阅读全文