EOJ 3262 黑心啤酒厂

最大公约数。

计算$x$与$i$的最小公倍数,就是这些人至少需要和几杯,最小公倍数除以$x$就是要买几瓶。

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

long long x,n;

long long gcd(long long a,long long b)
{
	if(b==0) return a;
	return gcd(b,a%b);
}

int main()
{
	scanf("%lld%lld",&x,&n);
	for(long long i=2;i<=n;i++)
	{
		long long LCM = i*x/gcd(i,x);
		printf("%lld\n",LCM/x);
	}
	return 0;
}
时间: 2024-10-23 06:23:08

EOJ 3262 黑心啤酒厂的相关文章

POJ 3262 Protecting the flowers

http://poj.org/problem?id=3262 这道题和蝎子那道题是相同贪心思路 http://www.cnblogs.com/oscar-cnblogs/p/6329703.html //贪心方式一:列出函数关系式比较复杂//方式二:像蝎子那道题 先讨论两只 奶牛怎样送是最优的/*a1 b1a2 b2先送1 ans = 2*a1*b2先送2 ans = 2*b1*a2那么如果先送1 更优说明 2*a1*b2 < 2*b1*a2 --->> a1 / b1 < a2

codevs 3095 黑心的市长

3095 黑心的市长 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 钻石 Diamond 题目描述 Description A市有一条长Nkm的高速公路.有M个人各自想承包下a~b的路段. 这不给点钱是不行的,每人给ci元. 市长很黑心,想赚很多钱.如果同时允许多人承包同一路段,是不行的. 求市长最多赚多少钱. 输入描述 Input Description 正整数N  M M行,ai,bi,ci. 输出描述 Output Description 钱数 样例输入 Sample I

P2433 - 【BZOJ 3262三维偏序】陌上花开------三维偏序

P2433 - [BZOJ 3262三维偏序]陌上花开 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb.显然,两朵花可能有同样的属性.需要统计出评出每个等级的花的数量. Input 第一行为N,K (1 <= N <= 100,000, 1 <= K <= 200,

「BZOJ」「3262」陌上花开

CDQ分治 WA :在solve时,对y.z排序以后,没有处理「y.z相同」的情况,也就是说可能(1,2,3)这个点被放到了(2,2,3)的后面,也就是统计答案在前,插入该点在后……也就没有统计到! sad 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<iostream> 5 #include<algorithm> 6 using namespace s

【BZOJ】【3262】陌上花开

树套树 orz zyf 这题的思路……算是让我了解到了树套树的一种用途吧 三维...第一维排序,第二维树状数组,第三维treap 具体实现就是每个树状数组的节点保存一颗treap,然后就可以查询了. 好神啊…… 树套树可以方便的进行特殊的区间求和,大多数满足区间加法的运算都可以用树套树来搞,比如这题的对所有第二维坐标小于当前点(相当于一段前缀)求第三维坐标小于当前点的和.= =啊……就是一个特殊的前缀和嘛…… 1 /****************************************

bzoj 3262: 陌上花开 -- CDQ分治

3262: 陌上花开 Time Limit: 20 Sec  Memory Limit: 256 MB Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb.显然,两朵花可能有同样的属性.需要统计出评出每个等级的花的数量. Input 第一行为N,K (1 <= N <= 100,00

19:啤酒厂选址

总时间限制: 1000ms 内存限制: 65536kB描述海上有一个岛,在环海边上建有一条环岛高速公路,沿着公路有n(5 < n < 10000)个居民点,假设每个居民点有一个编号,从0开始,按顺时针依次从小到大(即,0,1,-,n-1)编号.在岛上啤酒很受青睐.某啤酒企业计划在岛上投资建一个啤酒厂,并根据啤酒需求每天向居住点送啤酒.已知两个相邻的居民点的距离以及每个居住点每天的啤酒需求量(假设每个居住点每天不超过2000桶).假定每单位长度的路程送一桶啤酒需要的费用恒定(为单位费用).请问,

POJ 3262 Protecting the Flowers 题解 《挑战程序设计竞赛》

题目:POJ - 3262 这道题,需要好好总结. 原来的思路是,依次计算出送走奶牛1~N会毁掉的花的数量,找出最小的,送走这头牛.然后又在剩下的奶牛中找可以使毁掉的花的数量最小的送走.如此循环直到全被送走. 对是对,只是也太繁琐了些,并且超时. 没有意识到其实这样的思路进行了很多次重复的比较. 后来看了别人的思路,发现可以先排序,一次就可以排好奶牛应该被送走的顺序. 刚开始觉得,这样很像之前做的Yogurt Factory题目,用动态规划记录每相邻两个牛的比较结果. 写完后发现不对,才发现又陷

poj -3262 Protecting the Flowers (贪心)

http://poj.org/problem?id=3262 开始一直是理解错题意了!!导致不停wa. 这题是农夫有n头牛在花园里啃花朵,然后农夫要把它们赶回棚子,每次只能赶一头牛,并且给出赶回每头牛需要的时间和牛在花园每分钟吃多少花朵,问你怎么安排让损失最小. 这题单独按time和eat排序都不行,得按它们的比率来排,如果是选择eat/time  则从大到小排,time/eat则从小到大排,但是不会严格证明. 1 #include <iostream> 2 #include <cstd