题目链接】:click here~~

题目大意

一组题目的数目(n<=15),每一个题目有对应的难度,问你选择一定的题目(大于r个且小于l个)且选择后的题目里最小难度与最大难度差不小于x,求选择方案数。

解题思路】:

DFS+回溯。

先发一发比較拙的代码:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int N=1e5+10;
  4. int num[N],mum[N];
  5. int n,m,q,t,l,r;
  6. int top,ans,cnt;
  7. void dfs(int sum,int d,int x,int minn)///和。极值,当前循环。最小数
  8. {
  9. if(sum>=l&&sum<=r&&d>=q) ans++;
  10. if(sum>r) return;
  11. ///if(sum<l) return;当前累加的sum可能小于l
  12. for(int i=x;i<=n;++i)
  13. {
  14. dfs(sum+num[i],num[i]-minn,i+1,minn);
  15. }
  16. }
  17. int main()
  18. {
  19. while(cin>>n>>l>>r>>q)
  20. {
  21. ans=0;
  22. memset(num,0,sizeof(num));
  23. for(int i=1; i<=n; ++i) scanf("%d",&num[i]);
  24. sort(num+1,num+1+n);
  25. for(int i=1; i<=n; ++i)
  26. {
  27. dfs(num[i],0,i+1,num[i]);///为了參照最大和最小,引入最小数
  28. }
  29. printf("%d\n",ans);
  30. }
  31. return 0;
  32. }

  33. CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)的更多相关文章

      1. codeforces B - Preparing Olympiaddfs或者状态压缩枚举)
      1. B. Preparing Olympiad You have n problems. You have estimated the difficulty of the i-th one as inte ...

      1. Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
      1. B. Preparing Olympiad Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/550 ...

      1. CF Preparing Olympiad (DFS)
      1. Preparing Olympiad time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

      1. [ACM] ZOJ 3816 Generalized Palindromic Number DFS,暴力枚举)
      1. Generalized Palindromic Number Time Limit: 2 Seconds      Memory Limit: 65536 KB A number that will ...

      1. Codeforces 425A Sereja and Swaps(暴力枚举)
      1. 题目链接:A. Sereja and Swaps 题意:给定一个序列,能够交换k次,问交换完后的子序列最大值的最大值是多少 思路:暴力枚举每一个区间,然后每一个区间[l,r]之内的值先存在优先队列内, ...

      1. Codeforces Round #253 (Div. 2)B(暴力枚举)
      1. 就暴力枚举所有起点和终点就行了. 我做这题时想的太多了,最简单的暴力枚举起始点却没想到...应该先想最简单的方法,层层深入. #include<iostream> #include< ...

      1. HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
      1. 题意:给定 13 张麻将牌,问你是不是“听”牌,如果是输出“听”哪张. 析:这个题,很明显的暴力,就是在原来的基础上再放上一张牌,看看是不是能胡,想法很简单,也比较好实现,结果就是TLE,一直TLE, ...

      1. codeforces 869A The Artful Expedient【暴力枚举/亦或性质】
      1. A. time limit per test 1 second memory limit per test 256 megabytes input standard input output stan ...

      1. Codeforces 791A Bear and Big Brother(暴力枚举,模拟)
      1. A. Bear and Big Brother time limit per test:1 second memory limit per test:256 megabytes input:stand ...

    1.  
    2. 随机推荐

        1. 前后端交互&交互接口
        1. 前后端数据交互之数据接口 废话就不多说了,我们都知道,前端通常会通过后台提供的接口来获取数据来完成前端页面的渲染. 1.前端通过接口调用后台返回的数据 <!DOCTYPE html PUBLIC ...

        1. 百度地图 key申请以及基础地图的演示
        1. 之前做过一个拼车的项目,用到了百度地图,如今做电商项目,也遇到了要使用地图,可是刚来这公司不久项目不是自己做的,今天一个同事说定位那边有点问题,所以如今不忙,好好搞下地图,为了以后业务扩展或者出现故障 ...

        1. 一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
        1. DPI:每英寸像素数 简单的屏幕分辨率计算方法: DisplayMetrics metrics = this.getResources().getDisplayMetrics(); float den ...

        1. Cocos2d-x 多点触摸
        1. 多点触摸的实现步骤与单点触摸类似,setTouchEnabled(true)开启触摸功能,注冊触摸事件,重载多点触摸函数:ccTouchesBegan(開始).ccTouchesMoved(移动).c ...

        1. bzoj4590: [Shoi2015]自动刷题机(二分答案)
        1. 4590: [Shoi2015]自动刷题机 题目:传送门 题解: 很明显的一道二分题. 对于二分性的判断:如果n越大,那么AC的题就越少,n越小,AC的题就越多,那么最大最小值都满足单调性,直接瞎搞. ...

        1. doT.js变量和数组混合读取方式
        1. 可以包裹任意大小的html 变量在其包裹的任意区域都有效 单个变量可以和数组分开展示 最好放置在最下方执行js 数据结构 var data = { "id": "1280 ...

        1. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作
        1. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

        1. SVG 贝塞尔曲线控制【方便设置】:贝塞尔曲线
        1. http://dayu.pw/svgcontrol/

        1. Linux安装(虚拟机)
        1. ** 虚拟机安装CentOS系统 以下步骤会连续给出截图,大家自行校对即可. 首先打开虚拟机,出现的界面如上一篇文章截图所示. ** 配置虚拟机 步骤: 1.点击“创建新的虚拟机”     2.选择“ ...

        1. 07:清泉-改(prime+堆)
        1. 时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  512000kB 描述 华北电力大学可以抽象为一张有n个点m条边的无向图. 现在所有的边都断了. 修复每条边都有个不同 ...