2018.08.09洛谷P3959 宝藏(随机化贪心)

传送门
回想起了自己赛场上乱搜的20分。
好吧现在也就是写了一个随机化贪心就水过去了,不得不说随机化贪心大法好。
代码:

#include<bits/stdc++.h>
using namespace std;
inline int read(){int ans=0;char ch=getchar();while(!isdigit(ch))ch=getchar();while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();return ans;
}
int up,cost[20][20],n,m,dep[20],p[20],ans,sum;
int main(){n=read(),m=read(),up=1<<n;memset(cost,0x3f,sizeof(cost));ans=0x3f3f3f3f;for(int i=1;i<=n;++i)cost[i][i]=0,p[i]=i;for(int i=1;i<=m;++i){int u=read(),v=read(),w=read();cost[u][v]=cost[v][u]=min(cost[u][v],w);}for(int tim=1;tim<=80000;++tim){random_shuffle(p+1,p+n+1);sum=0;for(int i=1;i<=n;++i)dep[i]=0;dep[p[1]]=1;bool f=true;for(int i=2;i<=n;++i){int pos=p[i],stp=0x3f3f3f3f;for(int j=1;j<=n;++j)if(j!=pos&&dep[j]&&cost[pos][j]!=0x3f3f3f3f)if(dep[j]*cost[pos][j]<stp)stp=dep[j]*cost[pos][j],dep[pos]=dep[j]+1;if(stp==0x3f3f3f3f){f=false;break;}sum+=stp;}if(f)ans=min(ans,sum);}cout<<ans;return 0;
}

转载于:https://www.cnblogs.com/ldxcaicai/p/9738390.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWT和Swing

AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写&#xff0c;这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系&#xff0c;我们把它称为peers。 也就是说&#xff0c;当我们利用 AWT 来构件图形用…

解决 : Apache Tomcat/8.0.0-RC1 - Error report ... HTTP Status 404

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.报错&#xff1a; Apache Tomcat/8.0.0-RC1 - Error report HTTP Status 404 - /richer/getOnLineRicherCount The requested resour…

py 5.24

#面向对象 #类&#xff1a;模子。Person&#xff0c;不具体。 #实例/对象&#xff1a;依托于类产生的具体的带有属性的。alex #实例化&#xff1a;产生对象的过程。 alex Person() #类&#xff1a; #分为静态属性&#xff08;一般的变量&#xff09;。动态属性(函数&#xff0…

多线程原理实例应用详解

从单进程单线程到多进程多线程是操作系统发展的一种必然趋势&#xff0c;当年的DOS系统属于单任务操作系统&#xff0c;最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务"&#xff0c;而如今的Win32操作系统却可以一边听音乐&#xff0c;一边编程&#xff0…

git中使用fork

在git中使用fork相当于你在原项目的主分支上又建立了一个分支&#xff0c;你可以在该分支上任意修改。如果想将你的修改合并到原项目中时&#xff0c;可以pull request&#xff0c;这样原项目的作者如果认同你的修改&#xff0c;就可以将你修改的东西合并到原项目的主分支上去。…

一、【Collection、泛型】

主要内容 Collection集合迭代器增强for泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下…

字符装换

2019独角兽企业重金招聘Python工程师标准>>> 字母大小写转换 a →A char toUpperCase( char ch){ if((ch >a) && (ch <z)){ return (char)(ch - 32); // 主要 这里(char)是必要的&#xff0c;因为char -32是返回的数值&#xff0c;必须转换成对应的字…

解决 Unable to translate SQLException with Error code ‘17059‘, will now try the fallback translator

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.报错&#xff1a; Unable to translate SQLException with Error code 17059, will now try the fallback translator 报错如下&…

企业使用开源软件的风险

很多时候&#xff0c;我们过高地估计了开源软件面临的版权威胁&#xff0c;开源软件并非天生就比专有软件存在更多风险。虽然在企业中开源软件越来越普及&#xff0c;但开源软件始终难以摆脱知识产权带来的阴影。2007年&#xff0c;微软声称开源软件侵犯了它235项专利&#xff…

杭电多校 Harvest of Apples 莫队

问题 B: Harvest of Apples 时间限制: 1 Sec 内存限制: 128 MB 提交: 78 解决: 35 [提交] [状态] [讨论版] [命题人:admin] 题目描述 There are n apples on a tree, numbered from 1 to n. Count the number of ways to pick at most m apples. 输入 The first line of the …

linux和GNU之间的关系

Linux只是一个操作系统内核而已&#xff0c;而GNU提供了大量的自由软件来丰富在其之上各种应用程序。 因此&#xff0c;严格来讲&#xff0c;Linux这个词本身只表示Linux内核&#xff0c;但在实际上人们已经习惯了用Linux来形容整个基于Linux内核&#xff0c;并且使用GNU 工程各…

二、【List、Set、数据结构、Collections】

主要内容 数据结构List集合Set集合Collections 教学目标 能够说出List集合特点 能够说出常见的数据结构 能够说出数组结构特点 能够说出栈结构特点 能够说出队列结构特点 能够说出单向链表结构特点 能够说出Set集合的特点 能够说出哈希表的特点 使用HashSet集合存储自定义元素…

@Java | Thread synchronized - [ 线程同步锁 基本使用]

对实现了Runnable或者Callable接口类&#xff0c;可以通过多线程执行同一实例的run或call方法&#xff0c;那么对于同一实例中的局部变量&#xff08;非方法变量&#xff09;就会有多个线程进行更改或读取&#xff0c;这就会导致数据不一致&#xff0c;synchronized(关键字)可以…

解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a; ### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符; bad SQL grammar []; nested exception is …

开源代码的使用 二次开发

开源开发&#xff0c;就我的理解&#xff0c;有三种。 1、当作底层基础&#xff0c;使用。例如大家使用mysql就算。有人会认为我说错了。但我认为&#xff0c;开发不代表就是要同一个语言&#xff0c;甚至修改代码。例如我们使用动态库&#xff0c;原先的动态库是什么写的并不重…

Java Application和Java Applet

Java Applet和Java Application 主要区别&#xff1a; &#xff08;1&#xff09;运行方式不同。Java Applet程序不能单独运行&#xff0c;它必须依附于一个用HTML语言编写的网页并嵌入其中&#xff0c;通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序&a…

激活prompt

1.下载SQLPrompt 2. 断网&#xff0c; 打开注册机&#xff0c;拷贝验证码 2. 点击activate&#xff0c; 拷贝代码 转载于:https://www.cnblogs.com/zxhome/p/9459415.html

Map 四种获取 key 和 value 值的方法,以及对 map 中的元素排序

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。1. 获取map的值主要有四种方法&#xff0c;分为两类&#xff1a; 调用 map.keySet() 方法来获取 key 和 value 的值&#xff1b; 通…

三、【Map】

主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合 能够使用HashMap存储自定义键值对的数据 能够使用HashMap编写斗地主洗牌发牌案例 第一章 Map集合 1.1 概述 现实生活中&am…

五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理

当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时&#xff0c;”开源”的时代即将到来&#xff01; 最初来自&#xff1a;sinoprise.com/read.php?tid-662-page-e-fpage-1.html&#xff08;遗憾的是这个链接已经打不开了&#xff09;&#xff0c;我基本未改…