题目连接:hdu5711

这题是 HDU 女生赛最后一题,TSP+贪心,确实不好想,看了wkc巨巨的题解,然后再做的

题解传送门:Ingress

 #include<cstdio>
#include<queue>
#include<algorithm>
#define F(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
typedef pair<int,int> P;
inline void up(int &x,int y){if(x>y)x=y;} int ic=,t,n,m,ans,k,en,l,u,v,c,inf=1e9+;
int a[],b[],g[][],dp[<<][],vis[<<]; int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d%d",&n,&m,&k,&l);en=(<<n)-;
F(i,,n)F(j,,n)g[i][j]=(i==j?:inf);
F(i,,en)F(j,,n)dp[i][j]=inf;
F(i,,en)vis[i]=;
F(i,,n)scanf("%d",a+i);
F(i,,n)scanf("%d",b+i);
F(i,,m)scanf("%d%d%d",&u,&v,&c),up(g[u][v],c),up(g[v][u],c);
F(kk,,n)F(i,,n)F(j,,n)up(g[i][j],g[i][kk]+g[kk][j]);//Floyd
dp[][]=,ans=;
F(i,,en){
F(j,,n)if(dp[i][j]<=l){
if(dp[i][j]+g[j][]<=l)vis[i]=;
F(q,,n)if(q==j||i&<<q-)continue;
else up(dp[i|<<q-][q],dp[i][j]+g[j][q]);
}
if(vis[i]){
priority_queue<P>Q;
F(j,,n)if(i&<<j-)Q.push(P(a[j],b[j]));
if(Q.empty())continue;
int tmp=;
F(j,,k){
tmp+=Q.top().first;
Q.push(P(max(Q.top().first-Q.top().second,),Q.top().second));
Q.pop();
}
ans=max(ans,tmp);
}
}
printf("Case %d: %d\n",ic++,ans);
}
return ;
}

hdu_5711_Ingress(TSP+贪心)的更多相关文章

  1. 贪心算法:旅行商问题(TSP)

    TSP问题(Traveling Salesman Problem,旅行商问题),由威廉哈密顿爵士和英国数学家克克曼T.P.Kirkman于19世纪初提出.问题描述如下: 有若干个城市,任何两个城市之间 ...

  2. 基于贪心算法求解TSP问题(JAVA)

    概述 前段时间在搞贪心算法,为了举例,故拿TSP来开刀,写了段求解算法代码以便有需之人,注意代码考虑可读性从最容易理解角度写,没有优化,有需要可以自行优化! 详细 代码下载:http://www.de ...

  3. C/C++贪心算法解决TSP问题

    贪心算法解决旅行商问题 TSP问题(Traveling Salesman Problem,旅行商问题),由威廉哈密顿爵士和英国数学家克克曼T.P.Kirkman于19世纪初提出.问题描述如下: 有若干 ...

  4. 利用百度地图API和群蚁算法,对TSP问题进行模拟与求解

    前言 最近由于换了工作,期间也有反思和总结上家公司的得失,总觉得有什么事情当初可以完成或者完成得更好,其中TSP问题就是其中之一.当初在开发一个仓配系统的时候,有一个线路排程的需求,当时自己简单在纸上 ...

  5. 基于分支限界法的旅行商问题(TSP)一

    旅行推销员问题(英语:Travelling salesman problem, TSP)是这样一个问题:给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路.它是组合优化 ...

  6. Gym - 101806T: Touch The Sky(贪心)

    Figure: The house floats up in the sky by balloons. This picture is also used in 2018 KAIST RUN Spri ...

  7. NPC问题及其解决方法(回溯法、动态规划、贪心法、深度优先遍历)

    NP问题(Non-deterministic Polynomial ):多项式复杂程度的非确定性问题,这些问题无法根据公式直接地计算出来.比如,找大质数的问题(有没有一个公式,你一套公式,就可以一步步 ...

  8. 【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 文章声明 此文章部分资料和代码整合自网上,来源太多已经无法查明出处,如侵犯您的权利,请联系我删除. 01 什么是旅行商问题(TS ...

  9. 遗传算法解决TSP问题

    1实验环境 实验环境:CPU i5-2450M@2.50GHz,内存6G,windows7 64位操作系统 实现语言:java (JDK1.8) 实验数据:TSPLIB,TSP采样实例库中的att48 ...

随机推荐

  1. 关于maven相互依赖的工程部署问题

    环境:win7 64位,myeclipse10.6,eclipse4.5,都配置了svn插件 问题描述:1.工程模块化之后都是通过pom配置model来关联的,svn提交之后,通过myeclipse的 ...

  2. java使用url和tns两种方式连接数据库执行存储过程

    1.url方式(连接数据库并执行一个查询): public static void main(String[] args) throws ClassNotFoundException, SQLExce ...

  3. FTP、TFTP

      FTP 文件传送协议  (File Transfer Protocol) FTP是因特网上使用得最广泛的文件传送协议. 文件传送协议 FTP (File Transfer Protocol) 是因 ...

  4. VBS基础篇 - 对象(1) - Class对象

    VBS基础篇 - 对象(1) - Class对象   相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的 ...

  5. 常用的linux系统监控命令整理

    找到最耗CPU的java线程ps命令 命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的 ...

  6. ASP.NET ValidationGroup 属性和CssClass 属性

    定义和用法 获取或设置在 Button 控件回发到服务器时要进行验证的控件组. 通常在表单中存在多个按钮时使用该属性. 语法 <asp:Button ValidationGroup=" ...

  7. 眼睛跟踪 java

    https://github.com/hosek/eyeTrackSample Simple sample, for eye tracking with OpenCV

  8. nodejs package.json详细解读

    package.json详细内容 它是这样一个json文件(注意:json文件内是不能写注释的,复制下列内容请删除注释): JavaScript { "name": "t ...

  9. js获取tr,td内容并排序

    如题 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  10. Head First - 01.策略模式(Strategy Pattern)

    策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 当你需要给朋友留下深刻印象,或是影响关键主管的决策时,请使用“这个”定义!  设计原则: 1.找出 ...