codeforces 397B On Corruption and Numbers-yy-(求区间内的整数能否凑成某一整数)

题意:求一段连续的整数能否凑成某一个整数n。区间内的整数使用次数不限

分析:这题的题面的硬币凑钱,所以我刚开始以为是dp,无限背包,但是发现不是背包问题,但我还是认为是个dp,于是写了一个转移方程,似乎是对的,准备写代码的时候才发现用dp的话,数组根本不可能开那么大 10^9,所以我确定不是dp,根据经验觉得应该是个yy题,于是开始手动找规律,发现:只要n在区间 k[l,r]里面,就能用区间内的整数凑成n,换句话说就是能找到一个合法的k即可,即:n/r <= n/l ,注意一点是:当n%r==0时左端点直接用n/r,否则要用n/r+1,这里要注意,在很多题都有这个小细节。

代码:

#include<iostream>
using namespace std;
int main()
{
	int t;
	int n,l,r;
	cin>>t;
	while(t--){
		cin>>n>>l>>r;
		int a=n/l;
		int b;
		if(n%r==0) b=n/r;
		else b=n/r+1;
		if(b<=a) cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 15:29:12

codeforces 397B On Corruption and Numbers-yy-(求区间内的整数能否凑成某一整数)的相关文章

HDU4622:Reincarnation(后缀数组,求区间内不同子串的个数)

Problem Description Now you are back,and have a task to do: Given you a string s consist of lower-case English letters only,denote f(s) as the number of distinct sub-string of s. And you have some query,each time you should calculate f(s[l...r]), s[l

HDU 4417 Super Mario(主席树求区间内的区间查询+离散化)

Super Mario Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5101    Accepted Submission(s): 2339 Problem Description Mario is world-famous plumber. His “burly” figure and amazing jumping abilit

hdu3709(求区间内平衡数的个数)数位dp

题意:题中平衡数的定义: 以一个位置作为平衡轴,然后左右其他数字本身大小作为重量,到平衡轴的距离作为全职,实现左右平衡(即杠杆原理平衡).然后为区间[x,y]内平衡数的个数. (0 ≤ x ≤ y ≤ 1018) 解法:数位dp.如果一个数的平衡数,那么它的平衡轴位置是确定的.原来一直尝试数位dp在dfs时候列举平衡轴的位置,后来才意识到可以提前枚举平衡轴位置,然后再dfs,这样比较好写.dp[mid][pre][wei];表示对称轴是mid,计算第pre个位置以后需要力矩大小wei的数的个数.

POJ 2761-Feed the dogs(划分树)求区间内第k小的数

Feed the dogs Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 17679   Accepted: 5561 Description Wind loves pretty dogs very much, and she has n pet dogs. So Jiajia has to feed the dogs every day for Wind. Jiajia loves Wind, but not the

SPOJ 3267 D-query(离散化+主席树求区间内不同数的个数)

DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j), you have to return the number of distinct elements in the

HDU 4343 多查询求区间内的最大不相交区间个数-思维&amp;贪心-卡时间&amp;二分&amp;剪枝

题意:给你一些区间,现在有m个查询,求出每个查询的区间内的最大的不相交区间个数 分析: 几天前那道说谎问题时用dp的摞箱子模型求的最大的不相交区间个数,但是这题不能用这个方法,因为这题是动态的查询,不可能每个查询dp一次,超时. 这题用贪心策略.求区间[l~r]里的最大不相交区间,贪心策略就应该先选该区间内右端点最小的,这样给以后待选的区间留下更大的空间,所以我们的做法就是先按照区间的右端点排序,然后每次查询依次挑出查询区间里右端点最小的,并且把查询区间的左端点更新为刚才挑出的区间的右端点(这个

Binary system(求区间内二进制中1的个数最多的数)

Description 给定一个范围[a,b]  (0<=a<b<=10^18) 求出该范围内二进制中1的个数最多的数,如果存在多个答案,输出最小的那个数 Input 输入数据有多组,每组数据输入两个整数a,b,表示区间[a, b]. Output 输出该区间内二进制的1最多的整数,如果有多个数二进制1的个数相同,输出最小的那个数. Sample Input 4 87 14 Sample Output 77 HINT 思路: 区间[a,b],如果a==b,输出a, 先把a,b化为二进制数

杭电 5053 the Sum of Cube(求区间内的立方和)打表法

Description A range is given, the begin and the end are both integers. You should sum the cube of all the integers in the range. Input The first line of the input is T(1 <= T <= 1000), which stands for the number of test cases you need to solve. Eac

数论_埃氏筛法(求区间内多少素数)

埃拉托斯特尼(公元前276-公元前194) 埃拉托斯特尼是古希腊著名的数学家.地理学家.天文学家.他先在亚历山大港学习,后又转至雅典.公元前236年,托勒密三世指定他为亚历山大图书馆的图书管理员和馆长.他跟阿基米德是好朋友.埃拉托斯特尼的主要贡献包括: 埃拉托斯特尼筛法:寻找素数的方法. 地理常数测量:日地间距的测量(现在称一个这样的距离为一个天文单位).地月间距的测量.测量赤道与黄道之间的偏角.地球半径测量等. 精确地图绘制:当时只有托勒密等级的人物能绘出同等级的地图. 算法数学原理:埃拉托斯