题目链接:http://codeforces.com/problemset/problem/340/A

这道题目理解不难,就是在[a, b]区间内,找出同时能够被x和y整除的个数。第一次想当然的开了两个2·109的数组,分别标记能被x和y的数字,内存受不了,返回CE。仔细想了下,开这么大的一个数组没有必要,直接在[a, b]枚举每一个数,能够同时整除x和y的数就统计下来,过了PT,然而很快就被hacked(还是第一次遇到的= =,不过也好,能帮助养成严谨的思维);  第三次,稍稍改良了算法,求x和y的最小公倍数,在[a, b]的范围内累加最小公倍数的个数,直到大于b为止,然而没考虑到最小公倍数有可能小于a,于是wa。第四次,改正这个错误后,再次PT,然后又被hacked。一题被hacked两次,前无古人,后无来者啊~~~彻底绝望,不知道哪里有错......第二天再做,重交被hacked的代码(比赛中貌似被hacked的数据没有给出的)TLE,算法太差啦!!!估计被hacked的原因就是如此吧。

说了那么多废话,步入正题。

先肯定往最小公倍数的方向想是正确的。问题就出在枚举那部分,2·109,数据量太大!不优化肯定过不了!由于是要统计同时被x和y整除的个数,那么符合条件的数肯定满足: 1 * M,2 * M,3 * M,......N * M(M表示x和y的最小公倍数)。问题就转化为在[a, b]中找到有多少个M。我的做法是,从a往后开始枚举,直到遇上第一个能同时被x和y整除的数(假设为 i );接着从b往前开始枚举,也是直到遇上第一个能同时被x和y整除的数(假设为 j )。最后的结果就是 ( j - i ) / 最小公倍数 + 1  。 这个算式的意思为:j / 最小公倍数:[1, b]之前有多少个能同时整除x和y的数,i / 最小公倍数:[1, a]之前有多少个能同时整除x和y的数,+1是因为相减之后大于等于a的第一个能同时整除x和y的数实质是没有统计的。

 #include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std; int gcd(int x, int y) // 求最小公倍数
{
while (x != y)
{
if (x > y)
x = x - y;
else
y = y - x;
}
return x;
} int main()
{
int x, y, a, b, i;
while (scanf("%d%d%d%d", &x, &y, &a, &b) != EOF)
{
int temp = x / gcd(x, y) * y;
// printf("temp = %d\n", temp);
i = (a > temp ? a : temp); // i 保证要在[a, b]区间内,以便后面的枚举操作
while (i % x || i % y) // 找出第一个在[a, b]区间中能同时整除x和y的数
i++;
// printf("i = %d\n", i);
while (b % x || b % y) // 找出最后一个在[a, b]区间中能同时整除x和y的数
b--;
// printf("b = %d\n", b);
printf("%d\n", (b - i) / temp + );
}
return ;
}

codeforces A. The Wall 解题报告的更多相关文章

  1. Codeforces Round 665 赛后解题报告(暂A-D)

    Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...

  2. Codeforces Round 662 赛后解题报告(A-E2)

    Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...

  3. 【LeetCode】554. Brick Wall 解题报告(Python)

    [LeetCode]554. Brick Wall 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fux ...

  4. Codeforces Round #277.5 解题报告

    又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...

  5. codeforces B. Simple Molecules 解题报告

    题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...

  6. codeforces 591A. Wizards' Duel 解题报告

    题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...

  7. codeforces 582A. GCD Table 解题报告

    题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...

  8. codeforces 581C. Developing Skills 解题报告

    题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...

  9. codeforces 577B. Modulo Sum 解题报告

    题目链接:http://codeforces.com/problemset/problem/577/B 题目意思:就是给出 n 个数(a1, a2, ..., an) 和 m,问能不能从这 n 个数中 ...

随机推荐

  1. Teradata SQL tips

    Question: Insert into table_name  (1),(2),.... Teradata 貌似不能同时插入,只能一条一条插入,报错. 后来改为: Insert into tabl ...

  2. 【poj1010】 STAMPS

    http://poj.org/problem?id=1010 (题目链接) 感到了英语深深的恶意... 题意(真的很难懂....) 第一行数字是邮票的面值,每一个数字就是一个不同的种类,哪怕面值相同. ...

  3. [NOIP2011] 提高组 洛谷P1315 观光公交

    题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2 ...

  4. bzoj2054 疯狂的馒头

    bzoj上现在找不到这题,所以目前只是过了样例,没有测 2054: 疯狂的馒头 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 715  Solved: ...

  5. HDU #3333

    Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Descript ...

  6. cf340 C. Watering Flowers

    C. Watering Flowers time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  7. 我的前端MVC之路

    大约十几个月前,了解到时下前端MVC之火爆,同事推荐我了解一下angular.当时也不是特别在意,只是稍稍阅读了一遍官方文档,并尝试了文档上的例子.其实当时也颇有震惊之感的,原来代码还可以这么写!看完 ...

  8. kindle paperwhite折腾记

    在亚马逊官网上买了一个kindle paperwhite 一代(849元) , 打算再买个皮套, 淘宝店  http://detail.tmall.com/item.htm?spm=a230r.1.1 ...

  9. Clover(资源管理器增强)

    Clover(资源管理器增强) 下载地址:http://www.orsoon.com/Soft/13157.html 功能: Windows Explorer 资源管理器的一个扩展,为其增加类似谷歌  ...

  10. socket基本

    fd_set用法: http://blog.sina.com.cn/s/blog_5c8d13830100erzs.htm socket连接: lpszHost="127.0.0.1&quo ...