01 2018 档案

摘要:负载平衡问题: 现有n个仓库,初始状态下每个仓库中有一些货物,且各仓库中数量不等。仓库只能向相邻的仓库搬运货物。现在想要让各个仓库的货物都相等,请求出最小的搬运量。输入n,初始状况下每个仓库的货物量,输出最少搬运量(输入保证初始货物量的平均数为整数)。 这题有许多解法,比如说贪心。不过它是网络流24 阅读全文
posted @ 2018-01-30 18:08 Halifuda 阅读(217) 评论(0) 推荐(0)
摘要:原题洛谷P1498。 #include<cstdio> #include<iostream> using namespace std; int n,f[1050][1050],ly; void init(){ scanf("%d",&n); ly=1<<n; for(int i=1;i<=1<<n; 阅读全文
posted @ 2018-01-25 20:21 Halifuda 阅读(161) 评论(0) 推荐(0)
摘要:经典的二叉堆已经可以在$O(\log N)$的复杂度的情况下维护堆这样的数据结构,也有d-堆可以维护成$O( \log_d N)$(虽然pop操作的复杂度是$O(d \log_d N)$),然而这两种堆不能满足$O(\log N)$的合并操作,它们的经常是$O(N \log N)$,即每次将一个堆中 阅读全文
posted @ 2018-01-19 22:17 Halifuda 阅读(339) 评论(0) 推荐(0)
摘要:#include<cstdio> #define MXN 100000+1 #define MXM 10*MXN int getint(){ int x=0,w=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') w=0; c=getchar() 阅读全文
posted @ 2018-01-06 22:59 Halifuda 阅读(232) 评论(0) 推荐(0)