摘要: 一开始觉得是网络流..仔细一看应该是最短路,再看数据范围..呵呵不会写...这道题是最大生成树+最近公共祖先。第一次写..表示各种乱..因为要求运输货物质量最大,所以路径一定是在最大生成树上的。然后就用LCA求两点之间的能运输的最大重量。预处理O(nlogn),查询O(logn).---------... 阅读全文
posted @ 2015-03-25 20:25 JSZX11556 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 这道题很明显是最短路,只需多加一维表示用了多少次免费的机会,然后其他的和最短路一样。---------------------------------------------------------------------------------------#include#include#incl... 阅读全文
posted @ 2015-03-22 14:20 JSZX11556 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 裸的最小生成树..直接跑就行了----------------------------------------------------------------------#include#include#include#define rep(i,n) for(int i=0;i edges; vo... 阅读全文
posted @ 2015-03-21 22:38 JSZX11556 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 因为dp(i,j)=dp(j,i),所以令i>j. dp(i,j)=max(dp(k,j))+1(0#include#include#include#include#define rep(i,n) for(int i=0;i Map;int ok[maxn][maxn];int d[maxn][ma... 阅读全文
posted @ 2015-03-21 17:43 JSZX11556 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 因为是circle sequence,可以在序列最后+序列前n项(或前k项);利用前缀和思想,预处理出前i个数的和为sum[i],则i~j的和就为sum[j]-sum[i-1],对于每个j,取最小的sum[i-1],这就转成一道单调队列了,维护k个数的最小值。--------------------... 阅读全文
posted @ 2015-03-21 15:49 JSZX11556 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 单调队列,我用deque维护。这道题不难写,我第二次写单调队列,1次AC。-----------------------------------------------------------------------------------#include#include#include#defin... 阅读全文
posted @ 2015-03-20 22:05 JSZX11556 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 挺裸的一道最小割。把每台电脑拆成一条容量为1的边,然后就跑最大流。从小到大枚举每台电脑,假如去掉后 最大流=之前最大流+1,那这台电脑就是answer之一了。-----------------------------------------------------------------------... 阅读全文
posted @ 2015-03-19 19:21 JSZX11556 阅读(268) 评论(0) 推荐(0) 编辑
摘要: nocow上的题解很好。http://www.nocow.cn/index.php/USACO/schlnet如何求强连通分量呢?对于此题,可以直接先用floyd,然后再判断。--------------------------------------------------------------... 阅读全文
posted @ 2015-03-17 21:38 JSZX11556 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 迭代加深搜索,从小到大枚举桶数的上限maxd:对每个maxd,枚举每个组合,判断是否能够倒出q;直到得到answer。判断的部分就用dp(完全背包)。-------------------------------------------------------------------------#i... 阅读全文
posted @ 2015-03-17 19:45 JSZX11556 阅读(341) 评论(0) 推荐(0) 编辑
摘要: USACO前面好像有类似的题目..dp(i,j)=min(dp(i+1,j),dp(i+1,j+1),dp(i,j+1))+1 (坐标(i,j)处无tree;有tree自然dp(i,j)=0) 。dp(i,j)表示以坐标(i,j)为左上角的barn边长最大值,dp(i+1,j),dp(i,j+1)分... 阅读全文
posted @ 2015-03-16 21:38 JSZX11556 阅读(242) 评论(0) 推荐(0) 编辑