noip模拟赛 遭遇

分析:暴力挺好打的,对于前30%的数据神搜,hi相同的数据将所有的建筑按照c从小到大排序,看最多能跳多少,ci=0的数据将所有的建筑按照h从小到大排序,枚举起点和终点,看能否跳这么多,取个max就可以了.这样70分就到手了.

      部分分的提示还是比较明显的,要消除一个参数的影响,那么就按照h从小到大排序,显然只有可能顺着跳过城市,不能跳过去又跳回来.那么就是一个比较简单的dp了:f[i][j]表示跳了i次,最后一次跳到j的最小花费,转移的话枚举j之前的k就能转移了,最后倒叙枚举i看哪一个f[i][j]<=T就可以了.

      多个参数有影响的常见策略是消除一个参数的影响,常见的办法就是排序,如果一个点不能经过多次,那么就想一个办法让它强行不经过这个点.

暴力:

#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;int n, T, ans, vis[1010];
bool flag1 = true, flag2 = true;struct node
{int c, h;
}e[55];bool cmp1(node a, node b)
{return a.c < b.c;
}bool cmp2(node a, node b)
{return a.h < b.h;
}void dfs(int u, int sum,int tot)
{ans = max(ans, tot + 1);vis[u] = 1;for (int i = 1; i <= n; i++){if (!vis[i]){int huafei = abs(e[i].h - e[u].h) + e[u].c;if (sum + huafei <= T)dfs(i, sum + huafei, tot + 1);}}
}int main()
{scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d", &e[i].c);if (e[i].c != 0)flag2 = false;}for (int i = 1; i <= n; i++){scanf("%d", &e[i].h);if (i != 1 && e[i].h != e[i - 1].h)flag1 = false;}scanf("%d", &T);if (n <= 5 || (!flag1 && !flag2)){for (int i = 1; i <= n; i++){memset(vis, 0, sizeof(vis));dfs(i,0,0);}printf("%d\n", ans);}elseif (flag1){sort(e + 1, e + 1 + n, cmp1);int res = 0, cur = 1;while (cur <= n && res <= T){ans++;res += e[cur].c;cur++;}printf("%d\n", ans - 1);}else{sort(e + 1, e + 1 + n, cmp2);for (int i = 1; i <= n; i++){int j = i + 1, res = 0;while (j <= n && res <= T){res += abs(e[j].h - e[j-1].h);j++;}ans = max(ans, j - i + 1);}printf("%d\n", ans - 1);}return 0;
}

正解:

#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;int n,T;
int f[60][60];struct node
{int c, h;
}e[60];bool cmp(node a, node b)
{return a.h < b.h;
}int main()
{memset(f, 127 / 3, sizeof(f));scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &e[i].c);for (int i = 1; i <= n; i++)scanf("%d", &e[i].h);scanf("%d", &T);sort(e + 1, e + 1 + n, cmp);f[0][1] = e[1].c;for (int i = 0; i <= n; i++)for (int j = 1; j <= n; j++)for (int k = j + 1; k <= n; k++)f[i + 1][k] = min(f[i + 1][k], f[i][j] + e[k].h - e[j].h + e[k].c);for (int i = n; i >= 0; i--)for (int j = 1; j <= n; j++)if (f[i][j] <= T){printf("%d\n", i + 1);return 0;}printf("0\n");return 0;
}

 

转载于:https://www.cnblogs.com/zbtrs/p/7763968.html

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

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

相关文章

揭开全景相机创业真相:国外一开源国内就自主

今年以来全景相机有了一个大爆发&#xff0c;国外Google、三星、诺基亚等大厂都进入了这个领域&#xff0c;国内也有很多厂商推出了全景相机。 Bubl全景相机国外一开源&#xff0c;国内就自主。这在VR&#xff08;虚拟现实&#xff09;领域体现的淋漓尽致——Google的Cardborad…

福大软工1816 · 团队现场编程实战(抽奖系统)

值得一看的补充版本演示视频 软工锦鲤在这里程序版本链接及说明 按时提交版本 以基础功能为主github链接&#xff1a;first version测试环境说明 本程序在python 3.6以上环境下运行操作说明&#xff1a; 键入抽奖关键词&#xff0c;支持&#xff1a;#我要红包#或“我要换组“或…

LeakCanary——直白的展现Android中的内存泄露

之前碰到的OOM问题&#xff0c;终于很直白的呈现在我的眼前&#xff1a;我尝试了MAT&#xff0c;但是发现不怎么会用。直到今天终于发现了这个新工具&#xff1a; 当我们的App中存在内存泄露时会在通知栏弹出通知&#xff1a; 当点击该通知时&#xff0c;会跳转到具体的页面&am…

老司机做VR视频,需要什么样的全景相机?

做为一个在全景内容领域摸爬滚打一年有余的老司机&#xff0c;经历了太多的坑。最近有不少朋友转行进入这个领域&#xff0c;问我买什么样的相机好。我现在项目太多&#xff0c;根本没空详尽解答。所以写下这篇文章&#xff0c;不懂得自己看吧。 说白了&#xff0c;买什么样子…

域乎曹胜虎:传统互联网“生病”了

11月17日&#xff0c;2018&#xff08;第12届&#xff09;创业周暨全球创业周中国站在上海盛大召开&#xff0c;由上海域乎信息技术有限公司&#xff08;以下简称“域乎”&#xff09;承办的区块链专场论坛——《区块链产业应用赋能精英论坛》成功举办&#xff0c;吸引了众多业…

[No0000112]ComputerInfo,C#获取计算机信息(cpu使用率,内存占用率,硬盘,网络信息)...

github地址&#xff1a;https://github.com/charygao/SmsComputerMonitor 软件用于实时监控当前系统资源等情况&#xff0c;并调用接口&#xff0c;当资源被超额占用时&#xff0c;发送警报到个人手机&#xff1b;界面模拟Console的显示方式&#xff0c;信息缓冲大小由配置决定…

I2C总线之(一)---概述

概述&#xff1a;IC 是Inter-Integrated Circuit的缩写&#xff0c;发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。 IC 只是用两条双向的线&#xff0c;一条 Serial Data Line (SDA) &#xff0c;另一条Serial Clock (SCL)。 SCL&#xf…

I2C总线之(二)---时序

一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时&#xff0c;规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态&#xff0c;即释放总线&#xff0c;由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义&#xff1a; 起始信…

微信小程序设置底部导航栏目方法

微信小程序底部想要有一个漂亮的导航栏目&#xff0c;不知道怎么制作&#xff0c;于是百度找到了本篇文章&#xff0c;分享给大家。 好了 小程序的头部标题 设置好了&#xff0c;我们来说说底部导航栏是如何实现的。 我们先来看个效果图 这里&#xff0c;我们添加了三个导航图标…

HTTP协议(3)浏览器的使用之查看源码

在做CTF的Web类题目时&#xff0c;推荐使用Firefox浏览器。下面介绍一些在解题过程中关于浏览器的常用技巧。首先就是查看源码。在做Web题目时&#xff0c;经常需要查看网站源码&#xff0c;有的flag直接就藏在源码中&#xff0c;有些题目则是在源码中给出提示和线索&#xff0…

Autofac IoC容器基本使用步骤【1】

原文&#xff1a;http://www.bkjia.com/Asp_Netjc/888119.html 【原文中有一个地方报错&#xff0c;下面已修改】 一.基本步骤: 1.设计适合控制反转(IoC)的应用程序 2.给应用程序Autofac 引用. 3.注册组件. 4.创建一个Container以备后用. 5.从Container创建一个 lifetime scop…

I2C总线之(三)---以C语言理解IIC

为了加深对I2C总线的理解&#xff0c;用C语言模拟IIC总线&#xff0c;边看源代码边读波形&#xff1a; 如下图所示的写操作的时序图&#xff1a; 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序” 完整的程序如下&#xff1a; #include<reg51.h>…

结对编程总结

这个项目我和我的结对伙伴共花了两个月时间&#xff0c;之所以选这个项目&#xff0c;因为我们之前都学习过Python&#xff0c;也做过类似的程序&#xff0c;相比较其他项目而言&#xff0c;这个项目更合适&#xff0c;也让我们对词频统计方面的知识加深了了解。写这个程序我们…

JavaScript初学者必看“new”

2019独角兽企业重金招聘Python工程师标准>>> 译者按: 本文简单的介绍了new, 更多的是介绍原型(prototype)&#xff0c;值得一读。 原文: JavaScript For Beginners: the ‘new’ operator 译者: Fundebug 为了保证可读性&#xff0c;本文采用意译而非直译。 <di…

libGDX-wiki发布

为方便大家学习和访问&#xff0c;我将libgdx的wiki爬取到doku-wiki下&#xff0c;专门建立了以下地址。欢迎大家来共同完善。 http://wiki.v5ent.com 转载于:https://www.cnblogs.com/mignet/p/ligbdx_wiki.html

I2C读写时序

1. I2C写时序图&#xff1a; 注意&#xff1a;最后一个byte后&#xff0c;结束标志在第十个CLK上升沿之后&#xff1a; 2. I2C读时序图&#xff1a; 注意&#xff1a;restart信号格式&#xff1b;读操作结束前最后一组clk的最后一个上升沿&#xff0c;主机应发送NACK&#xff0…

软件测试工具LoadRunner中如何定义SLA?--转载

软件测试工具LoadRunner中如何定义SLA&#xff1f; 浏览&#xff1a;2242|更新&#xff1a;2017-04-09 22:50SLA 是您为负载测试场景定义的具体目标。Analysis 将这些目标与软件测试工具LoadRunner在运行过程中收集和存储的性能相关数据进行比较&#xff0c;然后确定目标的 SLA…

骁龙820和KryoCPU:异构计算与定制计算的作用 【转】

本文转载自&#xff1a;https://www.douban.com/group/topic/89037625/ Qualcomm骁龙820处理器专为提供创新用户体验的顶级移动终端而设计。为实现消费者所期望的创新&#xff0c;移动处理器必须满足日益增长的计算需求且降低功耗&#xff0c;同时还要拥有比以往更低的温度&…

亚马逊Rekognition发布针对人脸检测、分析和识别功能的多项更新

今天亚马逊Rekognition针对人脸检测、分析和识别功能推出了一系列更新。这些更新将为用户带来多项能力的改今&#xff0c;包括从图像中检测出更多人脸、执行更高精度的人脸匹配以及获得图像中的人脸得到更准确的年龄、性别和情感属性。Amazon Rekognition的客户可以从今天开始使…

华为敏捷 DevOps 实践:产品经理如何开好敏捷回顾会议

开篇小故事&#xff1a;前几年&#xff0c;一本叫《沉思录》的书在国内突然曝光度很多&#xff0c;因为前某国家领导人“摆案头&#xff0c;读百遍”。《沉思录》是古罗马皇帝马可奥勒写给自己的书&#xff0c;内容大部分是在鞍马劳顿中写的。其实有一句“我们所听到的不过只是…