2019年3月5日

cf1131f 构造+并查集

摘要: #include using namespace std; #define maxn 150005 int f[maxn],n; vectorans[maxn]; int find(int x){ return f[x]==-1?x:f[x]=find(f[x]); } void bing(int u,int v){//把v联通块并到u中去 for(int i=0;i>n; ... 阅读全文

posted @ 2019-03-05 22:55 zsben 阅读(181) 评论(0) 推荐(0) 编辑

多源最短路小结

摘要: Floyd算法: 状态:d[k,i,j]表示经过若干个编号不超过k的结点从i到j的最短路, 转移:可以由经过不超过k-1的点从i到j的最短路,或者从i到k,再从k到j两种状态转移得到, 那么d[k,i,j]=min(d[k-1,i,j],d[k-1,i,k]+d[k-1,k,j]) 初始状态:d[0 阅读全文

posted @ 2019-03-05 19:14 zsben 阅读(133) 评论(0) 推荐(0) 编辑

bzoj2200拓扑排序+最短路+联通块

摘要: 自己写的不知道哪里wa了,明明和网上的代码差不多。,。 网上的 阅读全文

posted @ 2019-03-05 15:39 zsben 阅读(305) 评论(0) 推荐(0) 编辑

cf478d 线性dp好题

摘要: /* 给定r个红块,g个绿块,按要求堆放 问当堆放成最大高度时,有多少种可能的堆放方式 排列要求:1.第i行放i块 2.每行同色 首先当然要确定能够放置几行 设红块有r个,绿块有g个,那么放置h行需要(h+1)h/2个 那么r+g>=(h+1)h/2 => 2(r+g)>=(h+1)h => 2(r+g)>h*h 那么有 h=sqrt(2r+2g),然后再找符合条件的h... 阅读全文

posted @ 2019-03-05 10:47 zsben 阅读(351) 评论(0) 推荐(0) 编辑

导航