当前位置: 首页 > news >正文

好看云在线网站模板江西省建设厅教育网站

好看云在线网站模板,江西省建设厅教育网站,网络工程师报名入口,国内购物平台排行榜https://ac.nowcoder.com/acm/contest/5666/H 题目大意#xff1a;给出了每一条边的费用#xff0c;有q个询问#xff0c;问当每一条边的容量为u/v时#xff0c;通过1流量的最小费用是多少。 思路#xff1a;很明显这道题只能跑一次费用流#xff0c;那我们跑一次全部边…https://ac.nowcoder.com/acm/contest/5666/H 题目大意给出了每一条边的费用有q个询问问当每一条边的容量为u/v时通过1流量的最小费用是多少。 思路很明显这道题只能跑一次费用流那我们跑一次全部边容量为1的费用流当询问的时候直接全部扩大v倍这样容量就变成u倍流量变成v。 我们先判断一下maxflow*uv的好最大流小于v了直接输出nan MCMF每次寻找增广路径的时候都是找一条直通的路径因为所有的容量都相等所以每一次增广路径都是满流的所以每一次增广 都是走了u的流量然后到va*vb走了a次u后再走一次b就完成了。 参考参考的大神题解 #include iostream #include cstdio #include fstream #include algorithm #include cmath #include deque #include vector #include queue #include string #include cstring #include map #include stack #include set #include cstdlib #define INF 0x3f3f3f3f3f3f3f3f #define inf 0x3f3f3f3f #define FILL(a,b) (memset(a,b,sizeof(a))) #define re register #define lson rt1 #define rson rt1|1 #define lowbit(a) ((a)-(a)) #define ios std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0); #define fi first #define rep(i,n) for(int i0;(i)(n);i) #define rep1(i,n) for(int i1;(i)(n);i) #define se second #define scd(a) scanf(%d,a) #define scdd(a,b) scanf(%d%d,a,b) #define scddd(a,b,c) scanf(%d%d%d,a,b,c) #define ac coutans\n #define F(x) ((x)/3((x)%31?0:tb)) #define G(x) ((x)tb?(x)*31:((x)-tb)*32) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pairll,ll pii; int dx[4] {-1,1,0,0},dy[4] {0,0,1,-1}; const ll mod1e97; const ll N 1e610; const double eps 1e-4; //const double piacos(-1); ll qk(ll a,ll b){ll ans1;while(b){if(b1) ans(ans*a)%mod;a(a*a)%mod;b/2;}return ans%mod; } int n,m; namespace MCMF{const int MAXN 5001;const int MAXM 50001;int idx 0;ll maxflow, mincost;int n,s,t;ll dis[MAXN], h[MAXN], incf[MAXN], pre[MAXN];//dis表示费用最短路incf表示当前增广路上最小流量pre表示前驱bool vis[MAXN];struct Edge {ll next, to, flow,dis;} e[MAXM 1];inline void addedge(int from, int to, int flow, int dis){e[idx] {h[from],to,flow,dis};h[from] idx;}inline bool spfa(){queue int q;memset(dis, 0x3f, sizeof(dis));memset(vis, 0, sizeof(vis));q.push(s);dis[s] 0;vis[s] 1;incf[s] INF;while(!q.empty()){int u q.front();vis[u] 0;q.pop();for(int i h[u]; ~i; i e[i].next){if(!e[i].flow) continue;//没有剩余流量int v e[i].to;if(dis[v] dis[u] e[i].dis){dis[v] dis[u] e[i].dis;incf[v] min(incf[u], e[i].flow);//更新incfpre[v] i;if(!vis[v])vis[v] 1, q.push(v);}}}if(dis[t] INF) return 0;return 1;}vectorll res;//每次增广路的最少费用inline void main(int _n,int _s,int _t){s_s;n_n;t_t;while(spfa()) //如果有增广路{// cout1endl;int x t;maxflow incf[t];mincost dis[t] * incf[t];res.push_back(dis[t]);int i;while(x ! s) //遍历这条增广路正向边减流反向边加流{i pre[x];e[i].flow - incf[t];e[i^1].flow incf[t];x e[i^1].to;}}}inline void init(){res.clear();memset(pre, 0, sizeof(pre));memset(incf, 0x3f, sizeof(incf));memset(h, -1, sizeof(h));idx 0;maxflow mincost 0;} } void sovle(){while(cinnm){MCMF::init();for(int i1;im;i){int u,v,c;cinuvc;MCMF::addedge(u,v,1,c);MCMF::addedge(v,u,0,-c);}int q;cinq;MCMF::main(n,1,n);while(q--){ll u,v;cinuv;if(MCMF::maxflow*uv) coutNaN\n;else {ll ans0;ll tmpv;for(int k :MCMF::res){if(vu){v-u;ansu*k;}else {ansv*k;break;}}ll g__gcd(ans,tmp);coutans/g/tmp/g\n;}}} } int main() { #ifdef LOCALfreopen(in.txt, r, stdin); #elseiosint t1;//cint;while(t--) sovle(); #endif // LOCALreturn 0; }
http://www.zqtcl.cn/news/535758/

相关文章:

  • 简单门户网站开发灰色行业seo大神
  • 网站开发学那种语言外贸推广网站建设
  • 公司网站建设及推广中国优秀企业网站欣赏
  • 个人代做网站建设京东类的网站需要什么流程
  • 建设一个地方门户网站厦门网站开发排名
  • 网站建设公司广告标题语网站设计主题有哪些
  • 网站推广方式主要通过做网站所需的知识技能
  • 我想在阿里巴巴网站开店_怎么做app建设网站公司
  • 西安做百度网站的制作网站公司选 择乐云seo
  • 网站优化建设河南手机模拟器
  • 网站建设运维标准深圳企业vi设计公司
  • 做网站怎么挣钱中小型企业网站建设
  • 深圳如何搭建建网站学校网站的建设与应用
  • 免费推广网站入口2023燕wordpress看图插件
  • 网站做不做301四川省住建设厅网站
  • 优化方案官网电子版一个网站做两个优化可以做吗
  • 企业网站排名提升软件智能优化上海网站制作的费用
  • 建分类信息网站西安高端模板建站
  • 南昌做网站哪家好成都三合一网站建设
  • 中国市政建设局网站做外单网站
  • 做本地网站赚钱吗wordpress 预约系统
  • 国外做名片网站优化网站最好的刷排名软件
  • 江西建设部网站网易企业邮箱密码格式
  • 网站哪个服务器好软装设计培训机构
  • 夜间正能量网站入口免费下载2022最新泛站群程序
  • 网站建设个人简历wordpress手写字体
  • 专门做商标的网站有哪些wordpress新文章加new
  • 全国商务网站大全木樨园网站建设公司
  • 网站搜索排名和什么有关系嘉兴建设局网站
  • 创建免费网站注意事项电商网站建设价格低