HDU 3001 Travelling

LAMMPS实操系列(四): 高熵合金FCC-CoCrCuFeNi的退火模拟 我们对FCC-CoCrCuFeNi的退火模拟思路主要是,首先将材料以均匀的速率用100 ps从300 K升温至1000 K,然后在1000 K的温度下平衡100 ps,随后以均匀的速率用100 ps从1000 K降温至300 K,随后通过共轭梯度下降法做静力学结构优化得到退火后的结构。由于FCC-CoCrCuFeNi高熵合金被认为是潜在的工程结构材料[1],接下来我们将对退火前后的结构进行压缩模拟,对比退火前后FCC-CoCrCuFeNi高熵合金的力学性能变化,敬请各位读者关注我们的更新。 阅读详情
After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n cities(he insists on seeing all the cities!And he does not mind which city being his start station because superman can bring him to any city at first but only once.), and of course there are m roads here,following a fee as usual.But Mr Acmer gets bored so easily that he doesn't want to visit a city more than twice!And he is so mean that he wants to minimize the total fee!He is lazy you see.So he turns to you for help. Input
There are several test cases,the first line is two intergers n(1<=n<=10) and m,which means he needs to visit n cities and there are m roads he can choose,then m lines follow,each line will include three intergers a,b and c(1<=a,b<=n),means there is a road between a and b and the cost is of course c.Input to the End Of File.
Output
Output the minimum fee that he should pay,or -1 if he can't find such a route.
Sample Input
2 1
1 2 100
3 2
1 2 40
2 3 50
3 3
1 2 3
1 3 4
2 3 10
Sample Output
100
90
7 

  因为每个点最多走过两次,所以用三进制进行状态压缩。

#include<iostream>//三进制状态压缩DP
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int bit[11]={1,3,9,27,81,243,729,2187,6561,19683,59049};//一共3的10次方个状态
int dp[60000][12];//第一维代表状态,第二维代表当前位置
int num[60000][12];
int map[12][12];
const int INF=0x3f3f3f3f;
int n,m;
int nmin;
void Three()
{
    int i,j,b;
    for(i=0;i<=bit[10]-1;i++)
    {
        b=i;
        for(j=0;j<=9;j++)
        {
            num[i][j]=b%3;
            b/=3;
        }
    }
}
void Init()
{
    int i,j;
    memset(map,-1,sizeof(map));
    for(i=0;i<=bit[n]-1;i++)
    {
        for(j=0;j<=n-1;j++)
        {
            dp[i][j]=INF;
        }
    }
    for(j=0;j<=n-1;j++)
    {
        dp[bit[j]][j]=0;
    }
}
void DP()
{
    int i,j,flag,k,next;
    nmin=INF;
    for(i=0;i<=bit[n]-1;i++)
    {
        flag=1;
        for(j=0;j<=n-1;j++)
        {
            if(num[i][j]==0)
                flag=0;
            if(dp[i][j]==INF)
                continue;
            for(k=0;k<=n-1;k++)
            {
                if(j==k||num[i][k]>=2||map[k][j]==-1)
                    continue;
                next=i+bit[k];
                dp[next][k]=min(dp[next][k],dp[i][j]+map[j][k]);
            }
        }
        if(flag)
        {
            for(j=0;j<=n-1;j++)
            {
                nmin=min(nmin,dp[i][j]);//该状态下的最优解
            }
        }
    }
    return ;
}
int main()
{
    int a,b,c;
    Three();
    while(~scanf("%d%d",&n,&m))
    {
        Init();
        int i,j;
        for(i=0;i<=m-1;i++)
        {
            scanf("%d%d%d",&a,&b,&c);
            if(map[a-1][b-1]==-1)
                map[a-1][b-1]=map[b-1][a-1]=c;
            else map[a-1][b-1]=map[b-1][a-1]=min(map[a-1][b-1],c);
        }
        DP();
        if(nmin==INF) nmin=-1;
        printf("%d\n",nmin);
    }
    return 0;
}

解锁IPG Photonics SmartWeld系统,开启焊接新时代 SmartWeld 系统是 IPG Photonics 研发的一款先进的激光焊接解决方案,它隶属于自动化激光焊接系统类别 ,但却凭借一系列创新技术和独特设计,在众多同类产品中脱颖而出。该系统基于 IPG 在光纤激光技术领域的深厚积累,融合了先进的光束控制、智能监测和自动化控制等技术,旨在为工业制造提供高效、精准且稳定的焊接工艺。与传统激光焊接系统相比,SmartWeld 系统的独特之处首先体现在其光束控制技术上。它能够精确地调整激光束的能量分布、光斑大小和形状 ,以适应不同材料和焊接工艺的需求。 阅读详情

相关推荐

Edge浏览器IE模式全攻略:从企业应用到老旧网站兼容(含常见问题解答)

本文详细解析了微软Edge浏览器的IE模式,这是解决企业遗留系统与老旧网站兼容性问题的关键技术。文章从核心原理出发,提供了从个人用户临时启用到企业级组策略部署的完整配置指南,并深入探讨了文档模式调优、ActiveX控件处理等高级技巧,最后汇总了常见问题排查与安全实践,帮助用户高效平衡兼容性与现代化浏览体验。

weixin_29227425的博客 610

HDU3001 Travelling【三进制状压DP】

题目链接:HDU3001 Travelling 题意:n个点m条边的无向图,问每个点至少访问一次至多访问两次的最小花费是多少; 分析:三进制状压DP,每一个点有访问0、1、2次三种状态,那么就一共有3^(n-1)-1种状态;因为不是二进制,不能进行位运算,所以要提前预处理出所有状态三进制下每一位的值,然后就是枚举所有状态的每一位,向其他状态进行转移; #include<bits/st...

MaJorieL 241

flowable工作流源码解析-DB访问

Flowable用了mybatis组件,又实现了自己的command和interceptor机制。具体是怎么实现的呢? 我们以Deployment操作为例,来看看它的调用链 调用端是Service接口, 它委托自己的commandExecutor去执行具体的Command. Command最终会调用到EntityManager,然后委托给ibatis的sqlsession来完成操作。 其中CommandExcutor调用command的地方有些复杂,我们展开看: CommandExecutor会维护一系

coobee的博客 2486

hdu3001Travelling

hdu3001Travelling 题 意:小明,想去参观n个城市,有m条路,走没条路还有花费,每个城市小明去的次数不超过两次,问小明参观n个城市最少的花费。 数据范围: 1 &lt;=n&lt;=10 1&lt;=ai&lt;=bi&lt;=n 输入样例: 2 1 1 2 100 3 2 1 2 40 2 3 50 3 3 1 2 3 1 3 4 2 3 10 输出样例: ...

子灬丶逾 302

Android ------ 开源的Modnet算法实现抠图和更换背景

Portrait Matting (sight-x.cn) 飞桨PaddlePaddle-源于产业实践的开源深度学习平台 GitHub - PaddlePaddle/PaddleSeg at develop

切切歆语的博客 1万+

使用项目管理画布启动项目

许多人对商业模式画布并不陌生,它是亚历山大·奥斯特瓦德(Alexander Osterwalder)、伊夫·皮尼厄(Yves Pigneur)在《商业模式新生代》(Business Model Generation)中提出的一种用来描述商业模式、可视化商业模式、评估商业模式以及改变商业模式的通用语言。 在我们做敏捷软件项目inception(项目启动规划)的时候经常会用到商业画布,此时它的作用是帮助我们快速了解客户的业务、产品和市场,帮助客户梳理自己的资源、优势和盈利模式,总的来说,商业画布是一种简单实用的

IDEAL Garden 1224

HDU3001 Travelling

HDU3001 Travelling 题目描述 共有n个点,m条路径,从任意一点出发,走完所有的点,且每个点最多走两边,问最小花费 输入输出格式 输入格式: 第一行行两个数,n m 接下来m行,每行3个数,表示从u到v的花费。 输出格式: 一个整数,表示最少花费。如果不能走完所有点,输出-1 #include<cstdio> #include<cstring> #inclu...

weixin_30443075的博客 159

华为OD机试真题2026双机位C卷 Python&JS 实现【明日之星选举】

给定一组选票votes。votes[i]代表第 i 张选票的内容,包含一个字符串"zhangsan,hanmei",表示推荐zhangsan为明日之星,反对 hanmei 称为明日之星。赞成或反对使用逗号(,)分割。 给定一个数组n,表示最后将筛选出赞成票最多的n个人,如果赞成票相同,则反对票越少,排序越靠前;如果赞成票和反对票都相同,则按照姓名字典序升序排序。

MISAYAONE的博客 319

hdu 3001 Travelling (3进制状态dp)

题目:hdu 3001 Travelling  状态方程:dp[state][i] = min(dp[state][i] , dp[state-j][j]+cnt[j][i]) 类似 floyd    // dp[state][i] 表示状态state下,终点为i,遍历所有城市的最短路径 但是由于每个城市最多只能经过两次,所以我们用3进制来表示该城市被经过的次数。 注意:注意重边的存在。

shiyuan的专栏 998

网络流量异常信息分析方法研究

本课题针对网络安全中网络流量异常的分析方法进行研究,提出一种基于机器学习和深度学习的异常检测算法。该算法采用卷积神经网络(CNN)和长短时记忆神经网络(LSTM)结合的方式,通过训练得到二分类模型,从而实现对网络流量异常的检测。随着互联网的飞速发展,网络攻击事件日益增多,网络安全问题成为了亟待解决的问题之一。常见的网络攻击手段包括 DDoS 攻击、SQL 注入、XSS 攻击等,这些攻击手段可能导致网络系统发生异常,给网络运维、数据安全带来极大的挑战。

肥晨开发的学习之路 1036

【VS Code插件开发】通用功能(二)

本篇主要从command(命令)、menus(菜单)、快捷键三个方面讲解,都归于通用功能。

编码世界 1万+

HDU 3001 Travelling (状态压缩/三进制)

Travelling(HDU 3001) Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8931 Accepted Submission(s): 2914 Problem Description After coding ...

爱玲姐姐的博客 870

基于 51 单片机的智能手势控制小车设计与实现

智能手势控制小车以STC89C52RC 单片机为控制核心,通过手势识别模块采集用户手势指令,经单片机处理后驱动电机执行前进、后退、左转、右转等动作。该项目融合了传感器技术、单片机编程和电机驱动技术,具有成本低、易实现、互动性强的特点,适合作为嵌入式系统入门实践案例。本项目成功实现了基于 51 单片机的智能手势控制小车,通过 APDS-9960 模块采集手势信号,经单片机处理后驱动电机完成基本动作,验证了 “传感器 + 单片机 + 执行器” 的嵌入式系统设计思路。

weixin_42300449的博客 178

HDU 3001 - Travelling 限制性TSP

题目链接:HDU 3001 - Travelling 题目 Problem Description After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n cities(he insists on seeing al...

weixin_44273380的博客 159

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

hdu 3001 Travelling

/* 题意:说一个人想游玩n个城市,每个城市最多走两次,问最短的距离 */#include #include #define MMax 2000000000 #define Min(a,b) a>b?b:a int dp[59050][15],cs[59050][15],dis[15][15];//dp[i][j]定义的状态是在i状态时到达j的最短的,cs[i][j]表示在i状态下的经过j的

编程中快乐 834

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hdu 3001 Travelling

Problem Description After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n

喵呜的Blog 2381

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU-3001 Travelling

题目: http://acm.hdu.edu.cn/showproblem.php?pid=3001 题意: TSP问题,最多10个点,给出之间的路线长度,求遍历的最短总路径长。 思路: 状压DP,注意是每个点不能拜访超过两次,所以是三进制状压。 dp[i+pos[k]][k] = min(dp[i+pos[k]][k], dp[i][j]+g[j][k]); dp[i][j]表

MyWorld 1184

【DP】 hdu3001 Travelling

Travelling http://acm.hdu.edu.cn/showproblem.php?pid=3001 Problem Description After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to v

Ted's 游乐园 2322

Travelling (HDU - 3001 ,状压 DP)

一.题目链接: HDU-3001 二.题目大意: n 个点,m 条双向边. 之后 m 行 每行三个整数 a,b,c 表示第 i 条边的起点,终点,权值. 要求每个点都走到且不超过两次. 求最小花费. 三.分析: 一道状压 DP 模板题 状压 DP 入门 详见代码. 四.代码实现: #include <set> #include <map> #in...

The___Flash的博客 317

Travelling HDU - 3001

Travelling hdu-3001 题意:有最多10个城市,从一个城市到另一个(每个城市最多经过两次),求去完所有城市的最短花费。 之前看了一个二进制dp,然后没有自己敲出三进制dp压,还是参看了题解,emmm至于参看的就是百度搜索最上面的那位大佬的。 状态 –三进制+dp–有重边 #include&lt;iostream&gt; #include&lt;cstring&gt; #in...

DeathYmz的博客 509
上一篇: UVA 12100 Printer Queue
下一篇: HDU 3533 Escape
哈哈哈哈666
博客等级 码龄10年 0粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值