CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)
【题目链接】:click here~~
【题目大意】
一组题目的数目(n<=15),每一个题目有对应的难度,问你选择一定的题目(大于r个且小于l个)且选择后的题目里最小难度与最大难度差不小于x,求选择方案数。
【解题思路】:
DFS+回溯。
先发一发比較拙的代码:
- #include <bits/stdc++.h>
- using namespace std;
- const int N=1e5+10;
- int num[N],mum[N];
- int n,m,q,t,l,r;
- int top,ans,cnt;
- void dfs(int sum,int d,int x,int minn)///和。极值,当前循环。最小数
- {
- if(sum>=l&&sum<=r&&d>=q) ans++;
- if(sum>r) return;
- ///if(sum<l) return;当前累加的sum可能小于l
- for(int i=x;i<=n;++i)
- {
- dfs(sum+num[i],num[i]-minn,i+1,minn);
- }
- }
- int main()
- {
- while(cin>>n>>l>>r>>q)
- {
- ans=0;
- memset(num,0,sizeof(num));
- for(int i=1; i<=n; ++i) scanf("%d",&num[i]);
- sort(num+1,num+1+n);
- for(int i=1; i<=n; ++i)
- {
- dfs(num[i],0,i+1,num[i]);///为了參照最大和最小,引入最小数
- }
- printf("%d\n",ans);
- }
- return 0;
- }
CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)的更多相关文章
B. Preparing Olympiad You have n problems. You have estimated the difficulty of the i-th one as inte ...
B. Preparing Olympiad Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/550 ...
Preparing Olympiad time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
Generalized Palindromic Number Time Limit: 2 Seconds Memory Limit: 65536 KB A number that will ...
题目链接:A. Sereja and Swaps 题意:给定一个序列,能够交换k次,问交换完后的子序列最大值的最大值是多少 思路:暴力枚举每一个区间,然后每一个区间[l,r]之内的值先存在优先队列内, ...
就暴力枚举所有起点和终点就行了. 我做这题时想的太多了,最简单的暴力枚举起始点却没想到...应该先想最简单的方法,层层深入. #include<iostream> #include< ...
题意:给定 13 张麻将牌,问你是不是“听”牌,如果是输出“听”哪张. 析:这个题,很明显的暴力,就是在原来的基础上再放上一张牌,看看是不是能胡,想法很简单,也比较好实现,结果就是TLE,一直TLE, ...
A. time limit per test 1 second memory limit per test 256 megabytes input standard input output stan ...
A. Bear and Big Brother time limit per test:1 second memory limit per test:256 megabytes input:stand ...
随机推荐
前后端数据交互之数据接口 废话就不多说了,我们都知道,前端通常会通过后台提供的接口来获取数据来完成前端页面的渲染. 1.前端通过接口调用后台返回的数据 <!DOCTYPE html PUBLIC ...
之前做过一个拼车的项目,用到了百度地图,如今做电商项目,也遇到了要使用地图,可是刚来这公司不久项目不是自己做的,今天一个同事说定位那边有点问题,所以如今不忙,好好搞下地图,为了以后业务扩展或者出现故障 ...
DPI:每英寸像素数 简单的屏幕分辨率计算方法: DisplayMetrics metrics = this.getResources().getDisplayMetrics(); float den ...
多点触摸的实现步骤与单点触摸类似,setTouchEnabled(true)开启触摸功能,注冊触摸事件,重载多点触摸函数:ccTouchesBegan(開始).ccTouchesMoved(移动).c ...
4590: [Shoi2015]自动刷题机 题目:传送门 题解: 很明显的一道二分题. 对于二分性的判断:如果n越大,那么AC的题就越少,n越小,AC的题就越多,那么最大最小值都满足单调性,直接瞎搞. ...
可以包裹任意大小的html 变量在其包裹的任意区域都有效 单个变量可以和数组分开展示 最好放置在最下方执行js 数据结构 var data = { "id": "1280 ...
ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...
http://dayu.pw/svgcontrol/
** 虚拟机安装CentOS系统 以下步骤会连续给出截图,大家自行校对即可. 首先打开虚拟机,出现的界面如上一篇文章截图所示. ** 配置虚拟机 步骤: 1.点击“创建新的虚拟机” 2.选择“ ...
时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 512000kB 描述 华北电力大学可以抽象为一张有n个点m条边的无向图. 现在所有的边都断了. 修复每条边都有个不同 ...