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

招标网站排名前十名泰安人才网官网登录

招标网站排名前十名,泰安人才网官网登录,杨浦区网站建设,wordpress 主机服务主题D. Perishable Roads 题意简述#xff1a; 一个 nnn 个点的完全图 以 iii 为根节点时 询问 能构造的树的 ∑d(x)\sum d(x)∑d(x) 最小是多少。 d(x)d(x)d(x)#xff1a; xxx 到根节点边权值最小值 MOONPIE题解 首先有一个显而易见的错误贪心#xff1a; 不妨假设以root\t…D. Perishable Roads 题意简述 一个 nnn 个点的完全图 以 iii 为根节点时 询问 能构造的树的 ∑d(x)\sum d(x)∑d(x) 最小是多少。 d(x)d(x)d(x) xxx 到根节点边权值最小值 MOONPIE题解 首先有一个显而易见的错误贪心 不妨假设以root\text{root}root为根节点重构树定义u→vu\to vu→v这条路径是所有路径的最小值则我们肯定希望这样构造路径 root→u→v⇝others\text{root}\to u\to v\leadsto \text{others}root→u→v⇝others 也就是把其他所有点都往vvv上连构成一棵树这样其他点的代价都是wu→vw_{u\to v}wu→v​不难得出所求为wroot→u(n−2)×wu→vw_{\text{root}\to u}(n-2)×w_{u\to v}wroot→u​(n−2)×wu→v​。 容易想到反例也就是如果wroot→uw_{\text{root}\to u}wroot→u​非常非常大则会不是最优值 不过我们只需要找到一条路径root⇝u\text{root}\leadsto uroot⇝u 代替root→u\text{root}\to uroot→u不难想到答案一定是这种情况root⇝u→v⇝others\text{root}\leadsto u\to v\leadsto \text{others}root⇝u→v⇝others其中root⇝u\text{root}\leadsto uroot⇝u是一条链而v⇝othersv\leadsto \text{others}v⇝others是一棵树 对于链上路径的值有一个结论详细可查看RingweEH root→⋯→i→j→k→u→v\text{root}\to\dots\to i\to {j}\to k\to u\to vroot→⋯→i→j→k→u→v 这条链上的边权一定单调递减且只可能存在一例例外即有可能wi→j≤wk→uw_{i\to j}\leq w_{k\to u}wi→j​≤wk→u​ 对于计算答案来说树上的点v⇝othersv\leadsto \text{others}v⇝others对答案的贡献是(n−1−x)×wu→v(n-1-x)×w_{u\to v}(n−1−x)×wu→v​而链上的点由于单调递减只需要从root\text{root}root跑一边最短路即可由于不知道链上边的个数xxx只需要利用花费提前的思想跑最短路前把每条边减去wu→vw_{u\to v}wu→v​即可对于例外情况特殊考虑一下即可。 #includecstring #includeiostream #includealgorithm using namespace std; using lllong long; constexpr int N2010; int g[N][N],n; ll d[N]; bool st[N]; void dijkstra(int S) {memset(d,0x3f,sizeof d);memset(st,0,sizeof st);d[S]0;for(int i1;in;i)//例外for(int j1;jn;j)d[i]min(d[i],g[i][j]*2ll);for(int i1;in;i){int t-1;for(int j1;jn;j)if(!st[j](t-1||d[t]d[j])) tj;st[t]1;for(int j1;jn;j) d[j]min(d[j],d[t]g[t][j]);} }int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cinn;int S1,mn0x3f3f3f3f;memset(g,0x3f,sizeof g);for(int i1;in;i)for(int ji1;jn;j){cing[i][j];g[j][i]g[i][j];if(mng[i][j]) mng[i][j],Si;}for(int i1;in;i)for(int j1;jn;j) g[i][j]-mn;dijkstra(S); for(int i1;in;i) cout1ll*(n-1)*mnd[i]\n; }要加油哦~
http://www.zqtcl.cn/news/232870/

相关文章:

  • 通过音乐做网站外链企业所得税多少钱起征
  • 哪个网站系统做的好广州电子商城网站
  • 泉州模板建站定制成都网页设计培训机构
  • 个人微信公共号可以做微网站么免费产品推广软件
  • 建设银行瓶窑支行网站阿里域名官网
  • 宿迁网站seo中原建设信息网 网站
  • 地方网站域名用全拼建设银行网站怎么登录密码忘了怎么办
  • win7 iis7 添加网站秦皇岛 网站建设
  • 手机模板网站模板下载工具Wordpress elgg
  • 宠物网站建设的目的wordpress图创
  • 网站首页图片怎么更换浙江省建设政务网站
  • 宁波有哪家公司做网站的京东联盟网站建设电脑版
  • 电商网站业务流程网站制作在哪找
  • 学校网站建设教程加盟网站制作费用
  • fqapps网站建设少儿戏曲知识 网站建设
  • 产品网站建设框架wordpress用户名密码加密方式
  • 入侵dedecms网站管理员密码青岛seo整站优化公司
  • 小网站备案南宁网站建设排名
  • 西安免费做网站wordpress 使用方法
  • 企业营销的意义优化核心系列网站
  • 微信网站设计一起做网站17广州
  • 重庆网络推广网站如何制作app演示视频
  • 网站logo是指手机上做app的软件
  • 做母婴育儿类网站好做seo排名吗深圳网站. 方维网络
  • 小型装修公司店面装修windows优化大师会员
  • php服装商城网站建设wordpress主题去除友情链接
  • 北京网站设计公司sx成都柚米科技15福建众利建设工程网站
  • 深圳大型网站建设服务公司wordpress后台为什么这么慢
  • 信用网站建设工作简报青岛的建筑公司
  • 网站怎么做文件上传灯饰 东莞网站建设