当前位置: 首页 > news >正文

上海工商信息查询网百度seoo优化软件

上海工商信息查询网,百度seoo优化软件,php开源网站,濮阳手机网站建设这道题本来作者以为是可以用一些小技巧进行暴力解法的#xff0c;但是后来试了一下#xff0c;不能过去全部数据。 下面是对半个的题解#xff1a; #includeiostream #includestdio.h #includecstring #includecstdlib #includecmath…这道题本来作者以为是可以用一些小技巧进行暴力解法的但是后来试了一下不能过去全部数据。 下面是对半个的题解 #includeiostream #includestdio.h #includecstring #includecstdlib #includecmath #includevector #includealgorithm #includestack #includequeue #includesstream #includemap #includelimits.h #includeset #define MAX 105 #define _for(i,a,b) for(int ia;i(b);i) #define ALL(x) x.begin(),x.end() using namespace std; typedef long long LL; int n, m, counts0; LL A, B; int res 0; struct fly {int times;int pan_xuan;int down; }; fly a[MAX]; bool cmp(fly a, fly b) {return a.times a.pan_xuan b.times b.pan_xuan; } int main() {ios::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);cin n;int i 0;while (n--){i 0;cin m;while (m--) {int t, d, l;cin t d l;a[i].times t;a[i].pan_xuan d;a[i].down l;i;}sort(a, a i, cmp);int flag 1;int sum 0;_for(j, 0, i) {if (j 0)sum a[j].times a[j].down;else {if (sum a[j].times a[j].pan_xuan) {sum a[j].down;}else{flag 0;break;}}}if (flag)cout YES endl;elsecout NO endl;}return 0; } 作者这里犯了一个错误每一个飞机都有可能是第一个降落的飞机作者一开始认为是时刻上谁最早谁就先降落结果并不是那个样子。后面的大体思路其实是正确的。 那么后来就与大佬们讨论一下发现这个题也是一道DFS的暴力题。 OK废话不多说那就开始; 注意这里作者认为方便的话可以定义结构体进行题解。如果我们开3个数组处理起来会很麻烦。 1.我们看到有飞机到达的时刻和盘旋的时间也就是可以等待的时间最后就是降落的时间。我们可以得出来什么结论呢刚开始我们就可以知道飞机的最早降落时间和最晚降落时间最早降落时间就是它到达飞机场的时刻最晚降落时间就是到达时刻加上盘旋的时间只要飞机在这个时间段之内就可以降落也就是说如果第i架飞机想要降落首先需要知道前面得i-1架飞机降落后总共用到的时间。如果说是在这个时间范围里那么这个飞机就可以降落否则不行。 2.我们开始考虑。因为每一架飞机都有可能是第一架飞机的降落所以这就涉及到一个排序问题了。也就是说我们可以把这个问题转化为排序型递归的题目。那么就需要有一个状态函数来判断是否选过这个飞机。OK那么我们套上模板。终止条件就是当我们遍历到最后一架飞机的时候就可以说是YES了。 有人问不对呀不应该是大于飞机的架数才可以吗假设我们需要降落三架飞机如果前两架都已经降落了我们还需要再判断第三架吗因为第三架都已经是最后一架飞机了所以我们直接就可以认为这种可能性是可以的。 3.不要忘记我们只是对于一个飞机深度搜索我们需要从每一个飞机为起点这样才能覆盖到所有可能性。 注意在dfs函数中将要进行递归的时候我用了一个if else语句。这里为什么这样判断呢你想一下如果说我们前几架飞机的降落时间还没有下一架飞机的开始时刻多那么也就是说我们需要等到下架飞机最早下降的时刻才能进行降落如果说在下一架飞机的那个允许时间范围内我们就可以直接接着刚刚已经用过的时间加上下架飞机的降落时间了。 上代码 #includeiostream #includestdio.h #includecstring #includecstdlib #includecmath #includevector #includealgorithm #includestack #includequeue #includesstream #includemap #includelimits.h #includeset #define MAX 15 #define _for(i,a,b) for(int ia;i(b);i) #define ALL(x) x.begin(),x.end() using namespace std; typedef long long LL; int n, m, counts0; LL A, B; int res 0; int st[MAX]; bool flag false; struct fly {int times;int pan_xuan;int down; }; fly a[MAX]; void dfs(int nums, int times) {if (nums m) {flag true;return;}for (int i 1; i m; i) {if (!st[i] times a[i].times a[i].pan_xuan)return;if (!st[i] times a[i].times a[i].pan_xuan) {st[i] 1;if (a[i].times times)dfs(nums 1, a[i].times a[i].down);elsedfs(nums 1, times a[i].down);st[i] 0;}} } int main() {ios::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);cin n;while (n--) {cin m;flag false;_for(i, 1, m 1) {cin a[i].times a[i].pan_xuan a[i].down;}_for(j, 1, m 1) {st[j] 1;dfs(1, a[j].times a[j].down);st[j] 0;}if (flag)cout YES endl;elsecout NO endl;}return 0; }
http://www.dnsts.com.cn/news/208981.html

相关文章:

  • 余姚住房和建设局网站快速开发网站
  • 网站支付开发wordpress和hugu
  • wordpress 主题 首页南京百度seo代理
  • 定西市建设网站费用如何防止网站挂马
  • 武义建设局网站首页泉州做网站工作室
  • 辽宁旅游网站开发网络管理网址
  • 推广引流吸引人的标题怎么做网站的排名优化
  • 公众号电影网站是怎么做的wordpress新建页面教程
  • 网站备案怎么注销关键词采集软件
  • 广州市网站建设品牌wordpress happywordz
  • 展示网站深圳seo
  • 酒店网站建设特色网页制作培训心得体会
  • 网站导航条图片素材建筑行业资讯网站
  • 西宁微信网站建设需要多少钱发布网站需要备案
  • 云网站建设的意义网站开发怎么学
  • 商城建网站qq邮箱在线登录网页版
  • 无锡网站开发商城网站前期推广
  • 防城港北京网站建设电商网站建设概念
  • 网站的支付系统怎么做个人网站可以做淘宝店铺名
  • 网站推广应该坚持什么策略广汉市建设局网站
  • 印刷网站 源码郑州装修公司口碑哪家好
  • 2008 iis 添加 网站 权限网络推广多少钱
  • org 结尾的网站注册要什么手续网页设计你若安好便是晴天作业
  • 南宁网站建设哪家公司实力强公司做网站 要准备哪些素材
  • 百度搜索优化怎么做优化大师使用心得
  • 上海定制网站建设公司wordpress工作原理
  • 凡科做网站怎么样基于WordPress的交流社区
  • 网络网站网站怎么做的漳州市长泰县建设局网站
  • 现在自己做网站卖东西行么广告营销案例100例
  • 六安门户网站建设哪家好营销策划方案设计的技巧