博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[NOIP2017]宝藏
阅读量:5159 次
发布时间:2019-06-13

本文共 719 字,大约阅读时间需要 2 分钟。

解题思路:听说状压dp有后效性,然后被Hack了。

于是用随机化大法,每次random_shuffle一个加入点的顺序,然后贪心地插入点。如此多算几次就能找到最优解(我不会证明它为什么可能找到最优解)。

C++ Code:

#include
int n,m,e[13][13],p[13],d[13];inline int readint(){ int c=getchar(),d=0; for(;!isdigit(c);c=getchar()); for(;isdigit(c);c=getchar()) d=(d<<3)+(d<<1)+(c^'0'); return d;}int main(){ memset(e,0x3f,sizeof e); n=readint(),m=readint(); for(int i=1;i<=n;++i)p[i]=i; while(m--){ int x=readint(),y=readint(),t=readint(); if(e[x][y]>t)e[x][y]=e[y][x]=t; } int ans=0x3f3f3f3f; for(int T=1,sm;T<=100000;++T){ std::random_shuffle(p+1,p+n+1); memset(d,0,sizeof d); sm=0; d[p[1]]=1; for(int i=2;i<=n;++i){ int s=0x3f3f3f3f; for(int j=1;j

 

转载于:https://www.cnblogs.com/Mrsrz/p/9164196.html

你可能感兴趣的文章
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>