选择最合适的语言做一个项目是非常重要的。但,熟练的掌握自己的武器,这也是非常重要的。

=====================================================================================================================

继续总结搜索类的题目,这一类的题目。眼下仅分析简单粗暴的dfs搜索,以及简单的剪枝。

參考的题目:

  1. http://acm.hdu.edu.cn/showproblem.php?pid=1864
  1. http://acm.hdu.edu.cn/showproblem.php?pid=1881

对于pid=1864,最大报销额的题目。细节部分非常多,改动了非常久才正确。

核心部分,加了搜索剪枝的:

  1. void cal(int t ,double money ,double remain)
  2. {
  3. if( t >= len)
  4. {
  5. if( money > max) max = money;//更新最大值
  6. return ;
  7. }
  8. if( money + remain <max) return ; //假设剩下的钱加上现有的钱 都达不到max,那么永远都达不到max, 所以直接返回
  9. cal(t+1, money, remain-mon[t]); //先不要这张发票
  10. if( money + mon[t] <=q)<span style="white-space:pre"> </span> //满足条件。要这张发票
  11. cal(t+1, money+mon[t], remain- mon[t]);
  12.  
  13. }

对于pid=1881。毕业bg的题目,要想到先排序。再处理数据,有选择的处理的问题。

核心部分是朴素的搜索dfs:

  1. void dfs(int i, int h, int time)
  2. {
  3. if(i >= n)
  4. {
  5. if( h > max) max = h;
  6. return ;
  7. }
  8. dfs(i+1, h, time);
  9. if( bg[i].l + time <= bg[i].t)
  10. dfs(i+1, h + bg[i].h, bg[i].l + time);
  11. }

依然上一个剪枝的版本号,也能够ac仅仅是时间变长了。也许是我剪枝的方式不正确,要么就是这道题的数据剪枝反而效果不好。由于之前已经排序了。

  1. void dfs(int i, int h, int time,int remain)//添加了数据的传输,以及比較
  2. {
  3. if(i >= n)
  4. {
  5. if( h > max) max = h;
  6. return ;
  7. }
  8. if( h + remain < max) return;
  9. dfs(i+1, h, time, remain - bg[i].h);
  10. if( bg[i].l + time <= bg[i].t)
  11. dfs(i+1, h + bg[i].h, bg[i].l + time, remain - bg[i].h);
  12.  
  13. }

版权声明:本文博主原创文章。博客,未经同意不得转载。

简单搜索dfs, 简单的修剪搜索的更多相关文章

  1. 深度优先搜索DFS和广度优先搜索BFS简单解析(新手向)

    深度优先搜索DFS和广度优先搜索BFS简单解析 与树的遍历类似,图的遍历要求从某一点出发,每个点仅被访问一次,这个过程就是图的遍历.图的遍历常用的有深度优先搜索和广度优先搜索,这两者对于有向图和无向图 ...

  2. 深度优先搜索DFS和广度优先搜索BFS简单解析

    转自:https://www.cnblogs.com/FZfangzheng/p/8529132.html 深度优先搜索DFS和广度优先搜索BFS简单解析 与树的遍历类似,图的遍历要求从某一点出发,每 ...

  3. POJ 2243 简单搜索 (DFS BFS A*)

    题目大意:国际象棋给你一个起点和一个终点,按骑士的走法,从起点到终点的最少移动多少次. 求最少明显用bfs,下面给出三种搜索算法程序: // BFS #include<cstdio> #i ...

  4. [转载]SharePoint 2013搜索学习笔记之搜索构架简单概述

    Sharepoint搜索引擎主要由6种组件构成,他们分别是爬网组件,内容处理组件,分析处理组件,索引组件,查询处理组件,搜索管理组件.可以将这6种组件分别部署到Sharepoint场内的多个服务器上, ...

  5. SharePoint2010搜索的简单设置

    1.  开启搜索服务,管理中心 – 应用程序管理 – 服务应用程序 – 管理服务器上的服务 2.  点击进去,启动"SharePoint Foundation搜索"."S ...

  6. Django中Q搜索的简单应用

    本节涉及: 1.Q搜索在前后端的设计 2.Django中Queryset对象的序列化(由后端扔给前端的数据必然会经过序列化) 3.前端动态地构造表格以便显示(动态创建DOM对象) 思路: 用户通过前端 ...

  7. Sharepoint2013搜索学习笔记之搜索构架简单概述(一)

    Sharepoint搜索引擎主要由6种组件构成,他们分别是爬网组件,内容处理组件,分析处理组件,索引组件,查询处理组件,搜索管理组件.可以将这6种组件分别部署到Sharepoint场内的多个服务器上, ...

  8. 深度优先搜索(DFS)

    [算法入门] 郭志伟@SYSU:raphealguo(at)qq.com 2012/05/12 1.前言 深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法.它的思想是从一 ...

  9. 利用广度优先搜索(BFS)与深度优先搜索(DFS)实现岛屿个数的问题(java)

    需要说明一点,要成功运行本贴代码,需要重新复制我第一篇随笔<简单的循环队列>代码(版本有更新). 进入今天的主题. 今天这篇文章主要探讨广度优先搜索(BFS)结合队列和深度优先搜索(DFS ...

随机推荐

  1. hdu4857 逃生 bestcoder round1 A

    题目要求要求在满足约束条件的情况下,使小的序号尽力靠前. 坑点就在这里.小的序号尽量靠前并非代表字典序,它要求多种情况时,先使1靠前(可能1仅仅能在第2或第3位 那么就要使它在第2位),其次2,3. ...

  2. VS2008--无法找到“XXX.exe”的调试信息,或者调试信息不匹配

    ------解决方案----- 1. 关闭掉Visual Studio 实例. 2. 找到解决方案下的.suo文件并删除之. 3. 重新启动Visual Studio,或者直接双击.sln文件打开 4 ...

  3. Linux渗透+SSH内网转发

    http://www.jb51.net/hack/58514.html http://blog.chinaunix.net/uid-756931-id-353243.html http://blog. ...

  4. POJ 1205 Water Treatment Plants(递推)

    题意   建设一条河岸的污水处理系统  河岸有n个城市   每一个城市都能够自己处理污水 V   也能够把污水传到相邻的城市处理 >或<   除了你传给我我也传给你这样的情况   其他都是 ...

  5. C++0x新特性

    我是在一个帖子上摘抄的大神语录...感谢supermegaboy大神,给了详尽的解释 下文是一篇转载的Wikipedia的译文,从语言和库双方面概述了C++0x. 右值引用与转移语义 在标准C++语言 ...

  6. 多线程——达到Runnable介面

    部分博客(多线程--继承Thread类)介绍了java多线程的第一种实现方法--继承Thread类.这篇博客介绍另外一种方法--实现Runnable接口,并实现run方法. 还用上篇博客的样例.如今用 ...

  7. C#语音录制

    客服小妹是如何泡到手的——C#定时提醒·语音录制·语音播放·文件转录Demo——倾情奉献!   一.需求提出 客服小妹跟我说,每天要统计新加好友数,得先记下昨天的数目,然后查看今天的数目,还要相减,打 ...

  8. 【NOIP2002】矩形覆盖 DFS

    首先,我喜欢愤怒搜索,因为尽管说K<=4,的确K小于或等于3的. 当然某些K<=3还600ms的我就不加评论了. 好吧,可是怎么搜呢?我们考虑到矩形数量非常少,所以能够怒搜矩形. 一些神做 ...

  9. Java乔晓松-android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug

    由于android获取图片过大是会出现内存溢出的Bug 07-02 05:10:13.792: E/AndroidRuntime(6016): java.lang.OutOfMemoryError 解 ...

  10. simpleDateFormat日期格式转换

    1------------------------------------------------------------------------------------- package com.n ...