hdu 3339 最短路+01背包

开题报告该怎么写 考研即将来临,而一般很多大学都会选择在考研结束之后开始安排选题和开题报考(考研之前一般都不谈,老师也很人性化的,不愿意耽误你的复习) 但无论怎么推迟,我们最终都需要去面对并完成这些任务。 现在我就要教大家该如何写一个完整的开题报告! 准备模板。不同的学校有不同的格式,一般情况你的导师会给你们一个学校的标准格式,这个不用太费心。有了模板我们就可以按照模板的“线索”一步一步填充完成即可! 一般大致格式可谓: 研究背景/论文的目的、背景和意义 我们需要写明选择该题目的... 阅读详情

In Action

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2557    Accepted Submission(s): 838


Problem Description

Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the globe.
Nowadays,the crazy boy in FZU named AekdyCoin possesses some nuclear weapons and wanna destroy our world. Fortunately, our mysterious spy-net has gotten his plan. Now, we need to stop it.
But the arduous task is obviously not easy. First of all, we know that the operating system of the nuclear weapon consists of some connected electric stations, which forms a huge and complex electric network. Every electric station has its power value. To start the nuclear weapon, it must cost half of the electric network's power. So first of all, we need to make more than half of the power diasbled. Our tanks are ready for our action in the base(ID is 0), and we must drive them on the road. As for a electric station, we control them if and only if our tanks stop there. 1 unit distance costs 1 unit oil. And we have enough tanks to use.
Now our commander wants to know the minimal oil cost in this action.
 

Input
The first line of the input contains a single integer T, specifying the number of testcase in the file.
For each case, first line is the integer n(1<= n<= 100), m(1<= m<= 10000), specifying the number of the stations(the IDs are 1,2,3...n), and the number of the roads between the station(bi-direction).
Then m lines follow, each line is interger st(0<= st<= n), ed(0<= ed<= n), dis(0<= dis<= 100), specifying the start point, end point, and the distance between.
Then n lines follow, each line is a interger pow(1<= pow<= 100), specifying the electric station's power by ID order.
 

Output
The minimal oil cost in this action.
If not exist print "impossible"(without quotes).
 

Sample Input
  
2 2 3 0 2 9 2 1 3 1 0 2 1 3 2 1 2 1 3 1 3
 

Sample Output
  
5 impossible
 

Author
Lost@HDU
 

Source
 

Recommend
lcy
 
这道题真是让我无比蛋疼~~先是理解错题~然后各种细节wa个不停~~~最后好不容易测试出~~
#include <iostream>
#include <cstring>
#include <cstdio>
#define inf 99999999
using namespace std;
int map[105][105];
int d[105],n;
int v[105];
int dp[100005];
void dijkstra()
{
    int i;
    int vis[105];
    memset(vis,0,sizeof(vis));
    for(i=0;i<=n;i++)
        d[i]=inf;
    d[0]=0;
    for(i=0;i<=n;i++)
    {
        int x,y,m=inf;
        for(y=0;y<=n;y++)
            if(d[y]<m&&!vis[y])
                m=d[x=y];
        vis[x]=1;
        for(y=0;y<=n;y++)
        {
            if(map[x][y]!=-1&&d[y]>d[x]+map[x][y])
                d[y]=d[x]+map[x][y];
        }
    }
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int m;
        scanf("%d%d",&n,&m);
        int i;
        memset(map,-1,sizeof(map));
        for(i=0;i<m;i++)
        {
            int u,v,w;
            scanf("%d%d%d",&u,&v,&w);
            if(map[u][v]==-1||w<map[u][v])
                map[u][v]=map[v][u]=w;    //有重边,一定要细心额~~
        }
        int s=0;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&v[i]);
            s=s+v[i];
        }
        dijkstra();
        for(i=0;i<=s;i++)            //先是写成i 0-n~~~
            dp[i]=inf;
        dp[0]=0;
        int j;
        for(i=1;i<=n;i++)
        {
            for(j=s;j>=v[i];j--)
            {
                dp[j]=min(dp[j],dp[j-v[i]]+d[i]);
            }
        }
        int mm;
        mm=s/2+1;             //是大于一般 不是大于等于~~~额~汗 太不仔细了
        int min=inf;
        for(i=mm;i<=s;i++)
        {
            if(dp[i]<min)       //先是dp[i]!=inf break;后来仔细想想不对,
                 min=dp[i];     //有可能i大但dp[i]小~!
                                //原因是dp[i]表示恰好装满i最小价值,
                                //有可能dp[i]没有恰好装满导致dp[i]=inf,
                                //而dp[i+1]恰好装满dp[i+1]<inf!!

        }
        if(min==inf)
            printf("impossible\n");
        else
            printf("%d\n",min);

    }
    return 0;
}




一文学会Cadence Sigrity PDN仿真——硬件新手小白都能看懂的保姆级教程 电源完整性的仿真,实际上是在仿真以及优化系统中的等效串联电阻。知道了仿真以及优化的目标之后,接下来就是要弄明白这个串联电阻从哪儿来以及怎么优化。整个系统中的串联电阻实际上由三部分组成:没有相位的阻抗,有相位的容抗和感抗,得益于相位,在某个特定的频点,容抗和感抗会大小相等,相位相反而相互抵消,这时候整个系统中就剩下了阻抗,所以整个系统的串联电阻达到了一个最低值,这种现象就是----谐振。当系统处于谐振点时候,整个系统会有一个最小的串联电阻,所以第一个优化电阻的手段就是让谐振来的更频繁一点。 阅读详情

相关推荐

c语言实现语音检测vad_壹鸽技术科普·智能语音客服系统中的前端语音处理技术...

随着智能客服机器人产业的迅速发展,尤其是伴随着人工智能AI的风潮,预计在2020年我国智能客服市场将达到万亿级别。在智能客服机器人领域中对电话信道语音进行端点检测处理的应用正在不断扩展和深化。目前语音端点检测(Voice Active Detection,简称VAD)的主要任务是准确快速判决出待处理的语音信号有话还是无话,作为自动语音识别(Automatic Speech Recognition,...

weixin_36431018的博客 508

【hdu 3339】 In Action (Dijkstra+01背包)

In Action Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 3   Accepted Submission(s) : 3 Problem Description Since 1945, when the first nu

Sunvct的编程之家 732

Springboot(五十六)SpringBoot3集成SkyWalking

Dskywalking.collector.backend_service:表示skywalking的collector服务的IP及端口。注意上图中红框标注的位置,我们可以根据启动Springboot项目启动时候控制台输出的ID进行筛选。注意上图中红框标注的位置,我们可以根据启动Springboot项目启动时候控制台输出的ID进行筛选。其他的版本的 APM 地址(这个我不需要,我们是在docker中部署的,留给有需要的同学)其他的java 版本的 Agents 地址。

camellia的博客 2601

HDOJ 3339 In Action (Dijstra + 01 背包)

点击打开链接 题意:给定 0点、n个能源站(编号从1 - n)和连接它们的m条无向路径,已知每个能源站含有的能源和每条路径的长度。你到达一个能源站便可以获得该站的所有能源,现在要求你从0点出发且获得的能源大于总能源的一半,问所需要走的最少距离。有足够多的坦克从0点出发,去往能源站,所有能源站的能源取走一次就没有了。 总能源的一半不用分类讨论,s/2本来就是整除。 这道

Muya 342

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2132

宝马项目化流程标准(BMW ABC flyer requirement)

宝马项目化流程标准(BMW ABC flyer requirement)

于大博 7252

hdu 3339(最短路+01背包)

hdu 3339 (1)题意: 有n+1个点,1~n每个点有一个能量值,0是起点,有若干个坦克从起点出发,到一个点就控制一个点。 最终要求控制的能量大于所有能量的一半,求走过的最短路之和。 (2)思路: 分两步: 第一:从0开始,求出0到其他点的最短路, 第二:然后将到达这个点所获得的能量视为物品的体积, 达到这个点的路径视为物品的价值,这个背包的最大容积就是n个点的所有...

积少成多,水滴石穿 238

《联邦学习实战》杨强 读书笔记十四——构建公平的大数据交易市场

当数据具有资产属性之后,数据便可以直接或者间接地为公司、为社会创造价值和收益,并且可以作为一种特殊的商品在市场中进行交易。 与传统的商品交易相比,数据资产交易的市场前景更广阔,但同时也面临着很多的挑战,主要包括: 数据的质量、价格如何定义 在合法合规的前提下,数据的交易如何确保不会泄露用户的隐私 如何构建合理的激励机制来鼓励更多的参与方加入数据交易市场中 大数据交易 数据交易的定义 数据交易是指一种对数据进行买卖的行为,大数据交易由三方共同参与,分别为数据提供方、大数据交易平台和数据需求方:

IEEE802_11的博客 3433

HDOJ 3339 In Action(最短路+01背包)

In Action Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5977    Accepted Submission(s): 2010 Problem Description Since 1945, when the

Dust_heart的博客 360

低轨通信 | 手机直连低轨卫星通信:架构、关键技术与未来展望

手机直连低轨卫星通信正推动人类进入"全域连接"时代。当中国星网GW星座与千帆星座的万颗卫星点亮夜空,当普通智能手机在珠峰之巅仍能流畅视频通话,当远洋渔船通过卫星物联网实现精准捕捞——这些场景不仅重构通信产业格局,更将深刻改变人类生产生活方式。正如工信部《指导意见》所规划,到2030年我国将发展超千万卫星通信用户,催生万亿级新市场[1][5]。在这场太空基建竞赛中,技术创新与标准制定的双重突破,将决定未来数字文明的星空版图。

尘世冰封的专栏 938

论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)

* 在写HiFi-GAN论文的代码阅读过程中,我发现仅仅通过文字来描述网络结构,不够详细,所以想绘制出网络结构图,更加具象化的描述出网络结构。想去花了,才发现之前都是通过在线绘图网站画的,费时费力,所以想找一些专门的网站化出比较规范并且高质量的图。一方面是为了方便讲解,提高论文的质量,另外一方面也是为了以后写论文打下良好的基础。 * 这篇文章会根据我以前的画图经验展开,以前是使用绘图软件,手动绘图。后来,看到了其他的方法,但是需要写一些代码,或者需要安装特定的软件,投入成本太大,就没有学。所以,本文分享的工

Blackoutdragon的博客 1万+

HDU3339 In Action(最短路+01背包)

In Action Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4189    Accepted Submission(s): 1341 Problem Description Since 1945, when t

叶孤心的专栏 1899

筑基篇第9节:CUDA内存管理API进阶

CUDA多维内存管理与零拷贝技术 本文介绍了CUDA中高效处理多维数据的内存管理技术。对于二维数据,使用cudaMallocPitch可确保内存对齐访问,提升75%的带宽利用率;三维数据则通过cudaMalloc3D实现切片对齐。配套的cudaMemcpy2D/3D函数能高效处理数据拷贝。此外,零拷贝内存技术允许内核直接访问主机内存,避免显存拷贝开销。这些技术对图像处理、科学计算等应用至关重要,能显著提升多维数据处理的性能。

PeterPan的博客 83

hdu 3339(01背包+最短路)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3339 大致题意是说:有n个电站,每个电站都有一定的电量,电站之间有一定距离,我们要从0点出发去占领一些电站,使得占领的电站电量之和超过总电量的一半,求达到条件所要走的最短距离。如果可能的话,输出距离,否则输出不可能。 思路:我们从0点开始派出一些tank去占领一些电站,坦克到每个电站都有一定距离,

几百个教授的专栏 556

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU-3339-In Action(最短路+01背包)

题目 题意:每个坦克从0出发到1-n个城市 最终停在哪个城市会得到这个城市的电力。总部有多辆坦克。问得到总电力&amp;gt;= 所有城市的总电力的一半。走过的路最短为多少。 最短路+背包。。 。 。注意背包要装满 。 #include &amp;lt;queue&amp;gt; #include &amp;lt;algorithm&amp;gt; #include &amp;lt;cstring&amp;gt; #include &amp

qq_42576687的博客 175

android 蓝牙通讯demo

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

HDU3339 最短路加01背包

题意大意就是说:有n个电站,每个电站都有一定的电量,电站之间有一定的距离,我们要从0点出发去占据一些电站,使得占据的电站电量之和不小于总电量的一半,求达到要求所要走的最短距离。若是可能的话,输出间隔,不然输出不成能。我们知道电站都是连通的,只要0点与任何一个电站连通,我们就可以占据所有电站,若是0点不与任何一个电站相连,就是不成能实现,也就是说0点到任何一个电站的间隔都是无穷。  

不吸血的Vampire 710

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HDU 3339 In Action 最短路+01背包

http://acm.hdu.edu.cn/showproblem.php?pid=3339 Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the gl...

xiji333的博客 254

HDU3339 - In Action - 最短路+01背包dp

1.题目描述: In Action Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5964    Accepted Submission(s): 2007 Problem Description S

终有绿洲摇曳在沙漠 352

hdu 3339 In Action(最短路+01背包)

题目:         链接点击打开链接 题意:         有N个发电站和M条路,给出每两条路之间的耗油量,then,N行代表发电站的能量。求最小耗油量,只有控制超过总能量的一半,才能成功,否则impossible。 思路:         求最少的耗油量,明显是最短路问题,然后,要求控制的电量要超过一半用01背包解决:V是总电量一半+1,dijkstra求得的dis[]是价值,每

young TO challenge! 413

In Action HDU - 3339 最短路+01背包

问题: Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the glo...

HXX904的博客 209

Hdu 3339 In Action[最短路+01背包]

题目链接:点击打开链接 由于最近又学习了一下最短路,开始切了几道题。 有很多人,估计一开始的都会理解错题意,这题的题意是,在0点有n多的tank,我们需要摧毁一些电厂,电厂有一定的电力,总体摧毁一半以上才算成功,否则就是失败。 如果摧毁成功的话,就输出最小的耗油量。 这道题竟然是最短路+01背包,好给力,唯一的遗憾就是没有想到,自己一开始也是有那么一点的一闪而过的念头,但是就是一闪,没

980

hdu 3339 In Action 最短路+01背包

题意:n个点m条边的无向图,点和边都有权值。 反复从0点出发,求获得大于点总权值一半的边的边权和。 因为只有100个点,所以直接floyd求最短路,然后一次01背包,DP[i]表示消耗i的油能摧毁的最多的电力。 #include #include #include using namespace std; #define INF 0x3f3f3f3f int n,m,a,b,c; in

766

HDU 3339 In Action 最短路+01背包

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3339题意从基地(0点)开出数量足够多的坦克去摧毁发电站,每个发电站有个能量值,要求摧毁的发电站的能量总和要超过所有发电站能量值总和的一半,最所有坦克运行的最短路径。思路又是看错题意,要求能量值超过一半(╥╯^╰╥)。求出0点到每个点的最短路,然后以所有发电站能量值总和为背包容量,到每个点的最短距为价值,每

chen_minghui的博客 236

hdu3339 In Action 最短路+01背包

//有n个电站,每一个电站能提供不同的power, //所有tank从0点出发,停在该电站就代表摧毁了该电站,tank从电站到电站之间需要耗费能量 //现在有无穷的tank,问最少需要耗费多少油能够摧毁一半以上的power //先用dijkstra求得到每个点的dis[i] //然后用一个01背包得到答案 #include<cstdio> #include<cstring> #include<ios

ijbuhv的专栏 916

HDU3339 In Action 【最短路】+【01背包】

<题目链接> 题目大意: 给出一个0~n组成的图,1~n的点上分布着值为pow的电站,给出图的m条边以及距离,从0出发到n个点中的x个点的行走距离和最小(因为是每炸一个点派出一辆坦克),且x个点的pow之和必须超过总的pow和的一半。 解题分析: 由于本题数据范围很小,只有100,所以我们能够用floyed算出0到任意一点的最短距离,然后将所有0可达的点看成物品,0到它们的最短...

weixin_30894389的博客 82
上一篇: hdu2923
下一篇: hdu2807
JustSteps
博客等级 码龄14年 48粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值