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

民权平台网站建设html5网站图标

民权平台网站建设,html5网站图标,网站建设指南 菜鸟教程,wordpress如何备份数据正题 题目链接:https://jzoj.net/senior/#contest/show/3002/1 题目大意 nnn个点mmm条边#xff0c;每条边有(u,v)(u,v)(u,v)两个权值。 qqq个询问#xff0c;每次询问一个(k1,k2)(k1,k2)(k1,k2)#xff0c;将所有边的权值变为u∗k1v∗k2u*k1v*k2u∗k1v∗k2后求最小生成树。…正题 题目链接:https://jzoj.net/senior/#contest/show/3002/1 题目大意 nnn个点mmm条边每条边有(u,v)(u,v)(u,v)两个权值。 qqq个询问每次询问一个(k1,k2)(k1,k2)(k1,k2)将所有边的权值变为u∗k1v∗k2u*k1v*k2u∗k1v∗k2后求最小生成树。 解题思路 首先u∗k1v∗k2⇒(uv∗k2k1)∗k1u*k1v*k2\Rightarrow (uv*\frac{k2}{k1})*k1u∗k1v∗k2⇒(uv∗k1k2​)∗k1所以决策可以线性表示出来。 我们考虑维护一个坐标系(x,y)(x,y)(x,y)表示uuu值和为xxx的生成树中yyy值和最小是多少。 显然xxx增大时yyy在减小所以这是一个下突壳。 考虑维护这一个突壳首先是两个端点l:(k10,k21)l:(k10,k21)l:(k10,k21)时和r:(k11,k20)r:(k11,k20)r:(k11,k20)各做一次最小生成树此时我们考虑找到一个在线段(l,r)(l,r)(l,r)的左下角最远的点midmidmid。 通过差积各种证明后我们发现有mid(k1∣yl−yr∣,k2∣xl−xr∣)mid(k1|y_l-y_r|,k2|x_l-x_r|)mid(k1∣yl​−yr​∣,k2∣xl​−xr​∣)然后分治下去处理(l,mid)(l,mid)(l,mid)和(r,mid)(r,mid)(r,mid)。 当midmidmid在线段(l,r)(l,r)(l,r)上时证明左下角已经没有更优的点所以可以返回了。 最后在突壳上三分答案就好了。 codecodecode #includecstdio #includecstring #includealgorithm #includecmath using namespace std; const int M25100,N40; struct node{int x,y;double u,v; }a[M]; struct knode{double k1,k2,x,y; }k[M*4],head,tail; int n,m,q,fa[N],tot; double k1,k2; int find(int x) {return fa[x]x?x:(fa[x]find(fa[x]));} bool cmp(node x,node y) {return x.u*k1x.v*k2y.u*k1y.v*k2;} void Get_Tree(knode k){k1k.k1;k2k.k2;k.xk.y0;sort(a1,a1m,cmp);for(int i1;in;i)fa[i]i;int zn;for(int i1;im;i){int fxfind(a[i].x),fyfind(a[i].y);if(fx!fy){if(fxfy) swap(fx,fy);fa[fy]fx;z--;k.xa[i].u;k.ya[i].v;}}return; } void Solve(knode l,knode r){knode mid;mid.k1fabs(r.y-l.y);mid.k2fabs(r.x-l.x);Get_Tree(mid);if(l.ymid.y||l.yr.y||(l.x-r.x)/(l.y-r.y)(l.x-mid.x)/(l.y-mid.y))return;Solve(l,mid);k[tot]mid;Solve(mid,r); } int main() {scanf(%d%d%d,n,m,q);for(int i1;im;i)scanf(%d%d%lf%lf,a[i].x,a[i].y,a[i].u,a[i].v);head.k11;tail.k21;Get_Tree(head);Get_Tree(tail);k[tot1]head;Solve(head,tail);k[tot]tail;while(q--){scanf(%lf%lf,k1,k2);int l1,rtot;double ans1e18;while(lr){if(r-l2)break;int mid1l(r-l1)/3,mid2l(r-l1)/3*2;if(k[mid1].x*k1k[mid1].y*k2k[mid2].x*k1k[mid2].y*k2) rmid2;else lmid1;}for(int il;ir;i)ansmin(k[i].x*k1k[i].y*k2,ans);printf(%.3lf\n,ans);} }
http://wiki.neutronadmin.com/news/297019/

相关文章:

  • 那些网站分享pr做的视频软件东莞建设培训中心网站
  • 网站建设龙卡要审批多久时间云电脑永久免费版手机版
  • 早教类网站模板去掉wordpress 上一篇
  • 怎么用vs做网站网站建设续费是什么费用
  • 网站建设内容和功能的介绍怎么在工商网站做实名认证
  • 新闻类网站设计wordpress如何在数据库中修改域名
  • 有哪些做短租的网站好口碑好网站制作公司哪家好
  • 企业网站的优化和推广方法建立网站专栏
  • 关于做网站的外语文献抖音搜索排名
  • 烟台专业网站制作公司安宁网站建设熊掌号
  • oa网站建设推广开发网站公司地址
  • 大麦网建设网站的功能定位ps制作博客网站界面
  • 下载网站后台成都市住房和城乡建设厅官方网站
  • 家谱网站的首页怎么做购物网站建设方案书
  • 怎么做一张图片的网站关于做摄影的网站
  • 新余门户网站开发万词霸屏百度推广seo
  • 网站弹出代码谷歌应用商店app下载
  • 广州海外建站左旗网站建设
  • dede电影网站源码有和wind一样做用网站
  • 神华公司两学一做网站桂林市教科所
  • 苏州城乡建设网站查询系统手机如何创建网页链接
  • 深圳自适应网站建设报价wordpress更改页脚社交图标
  • 网站制作公司有哪些新泰网站制作
  • 做任务的正规网站卖东西怎么做网站
  • 如何自创网站连云港网站推广优化
  • 手机购物网站开发教程wordpress数据库修改密码
  • 网页开发和网站开发一样吗怎么制作动画视频教程
  • 为该网站做自适应怎样到国外做合法网站法网站
  • 网站开发人员知乎网站建设德尔普
  • wordpress 热门排行江东外贸seo网站建设