HDU 5514 Frogs (容斥原理+因子分解)】的更多相关文章

题目链接 题意:有n只青蛙,m个石头(围成圆圈).第i只青蛙每次只能条ai个石头,问最后所有青蛙跳过的石头的下标总和是多少? 题解:暴力肯定会超时,首先分解出m的因子,自己本身不用分,因为石头编号是0到m-1,第i只青蛙只能走到gcd(ai, m)的位置,我们就可以把m的因子提取出来,然后对青蛙能走到的因子位置打标记.两个数组,第一个数组a代表是否能走到该因子,第二个数组b表示是否已经加过了,加过了几次,遍历到那个因子的时候要加上(a[i]-b[i])倍的数,这个数很可能是负数.至于公式利用等差…
题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=5514 题意 : 有m个石子围成一圈, 有n只青蛙从跳石子, 都从0号石子开始, 每只能越过a[i]个石子 问所有被至少踩过一次的石子的序号之和 思路 : 不难发现, 从0开始, 每次越过a[i]个石子, 那么gcd(a[i], m)的倍数都能被经过 石子 k * (gcd(a[i], m)) < m 的都被算入 但如果按单独每个a[i]来计算对答案的贡献, 肯定会有重复, 重复部分就是lcm(a…
Frogs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1315    Accepted Submission(s): 443 Problem Description There are m stones lying on a circle, and n frogs are jumping over them.The stones a…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5514 [题目大意] m个石子围成一圈,标号为0~m-1,现在有n只青蛙,每只每次跳a[i]个石子, 问能被青蛙跳到的石子一共有几个 [题解] 我们发现k*gcd(m,a[i])的位置均可以被跳到,那么我们首先筛出m的约数, 判断其是否被覆盖到,不考虑重复的情况下, 每个被覆盖到的约数的贡献为x*((m-1)/x)*((m-1)/x+1)/2, 但是约数的倍数也为约数的情况被重复计算,因此我们按约…
Frogs Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5514 Description There are m stones lying on a circle, and n frogs are jumping over them.The stones are numbered from 0 to m−1 and the frogs are numbered fro…
Frogs Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 551464-bit integer IO format: %I64d      Java class name: Main There are m stones lying on a circle, and n frogs are jumping over them.The stones are numb…
题意: 有\(m(1 \leq m \leq 10^9)\)个石子排成一圈,编号分别为\(0,1,2 \cdots m-1\). 现在在\(0\)号石头上有\(n(1 \leq n \leq 10^4)\)只青蛙.第\(i\)只青蛙每次能往前跳\(a_i\)步,但是他们跳的次数不加限制. 如果一块石头能至少被一只青蛙跳上去,那么称这块石头被占领了. 求所有可能被占领的石头的编号和. 分析: 首先我们应该发现这样一个事实: 每次向前跳\(a_i\)步的效果和跳\(GCD(a_i, m)\)步是一样…
题意:有n只青蛙,m个石头(围成圆圈).第i只青蛙每次只能条ai个石头,问最后所有青蛙跳过的石头的下标总和是多少? 析:首先可以知道的是第 i 只青蛙可以跳到 k * gcd(ai, m),然后我就计算所有的等差数列,但是好像如果全算,那么就可能会有重复,所以我们考虑用容斥原理. 先把 m 的所有因数都求出来,然后把 gcd(ai, m),都标记一下,然后再去计算,多了就减去,少了就加. 代码如下: #pragma comment(linker, "/STACK:1024000000,10240…
Frogs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1509    Accepted Submission(s): 498 Problem Description  to m−1 and the frogs are numbered from 1 to n. The i-th frog can jump over exactly …
Frogs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 4904    Accepted Submission(s): 1631 Problem Description There are m stones lying on a circle, and n frogs are jumping over them.The stones…