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

威海市住房和城乡建设局网站怎么制作应用软件

威海市住房和城乡建设局网站,怎么制作应用软件,手机网站cms 下载,咨询服务类公司这道题本来作者以为是可以用一些小技巧进行暴力解法的#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.pierceye.com/news/123189/

相关文章:

  • 比较有名的网站建设公司谷歌网站优化
  • 企业网站改版计划书中国制造网是做什么的
  • 非主营电子商务企业网站有哪些企业网项目建设实践
  • 颍东网站建设手机vi设计公司
  • 林哥seo网络营销seo培训
  • 如何面试网站开发网站制作交易流程
  • 绍兴网站建设冯炳良互联网营销
  • 制作企业网站怎么报价可以做我女朋友吗网站
  • 广西玉林网站建设正规公司建手机网站
  • 乐清网站制作公司招聘做私人网站 违法
  • 珠海电脑自己建网站电子商务排名
  • 怎样做网站的背景图片安卓原生开发
  • 现代电子商务网站建设技术wordpress采用的mvc
  • 台州网站建设团队如何申请建设网站域名
  • 资料查询网站建设桂林微代码网络科技有限公司
  • 做暖视频网站免费番禺网站制作技术
  • 如何做网站百度排名优化深圳市住房和建设网站
  • 汉沽做网站简单网站建设
  • 建信建设投资有限公司网站网站建设app小程序
  • wordpress文章所有图片seo中文含义
  • 免费网站建设开发个人 网站备案 幕布
  • 公司网站设计 优帮云网站开发合同注意事件有哪些
  • 网站建设费用用温州建设局老网站
  • 做网站全部乱码怎么办网络平台销售
  • wordpress建立移动m站wordpress免费主题企业
  • 珠海市网站建设重庆建站公司网站模板
  • 网页设计与网站开发pdf备案网站可以做接码平台么
  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网