#include
#include
using namespace std;
typedef long long LL;
LL get[18];
LL gcd(LL m, LL n)
{
if(n == 0)
return m;
return gcd(n, m%n);
}LL lcm(LL a, LL b)
{
LL t=gc...
分类:
其他好文 时间:
2015-08-01 19:00:55
阅读次数:
90
题意:要集齐n种卡片,现已知每打开一袋方便面得到每种卡片的概率Pi,Pi的和小于等于1,求集齐这n种卡片需要买的方便面的期望。
分析:
一、期望dp,这题要用二进制压缩,这是很显然的。
状态:dp[i]现在已经收集了i种卡片到达收集所有卡片的期望。这个状态能转移到的状态有:1).dp[i](下次打开的方便面得到的卡片是已经收集过的);2).dp[i|(1
所以方程:dp[i]=Pi * d...
分类:
其他好文 时间:
2015-08-01 18:57:22
阅读次数:
139
题意:求[1,b]和[1,d]内公约数为k的对数(错了N发之后才看到a和c为1。。。)
解一:容斥原理和欧拉函数
http://www.cnblogs.com/kuangbin/p/3269182.html
参考大神的文章吧,我没写=-=
解二:莫比乌斯
设f[x]为GCD(a,b)=k的对数
F[x]为k|x的对数
所以b,d均除k就是求所有GCD为1的对数
sum+=...
分类:
其他好文 时间:
2015-08-01 15:51:46
阅读次数:
121
题目链接:hdu 5297 Y sequence
考虑62以内的指数,x为奇数个质数因子,就减掉,偶数个加上。计算x为指数的不满足数直接pow(n,1/x)即可。
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
cons...
分类:
其他好文 时间:
2015-07-31 23:37:34
阅读次数:
127
题意:
有四种面值的硬币ci,进行tot次购物;
每次购物每种硬币有di个,问买s元的物品有几种方法;
题解:
硬币面值只有四种,可以猜测到算法复杂度不会很大;
普通的背包无法限制di个这个条件;
而将di个硬币拆开复杂度无法承受,并且一样难以统计方案;
所以考虑容斥原理简化问题;
去掉di的限制,令f[x]表示四种硬币购买x元的物品有几种方法;
这个f数组可以在...
分类:
其他好文 时间:
2015-07-30 11:20:19
阅读次数:
113
题意:
给你一个n和一个r,求Y序列的第N项是多少。
所谓的Y序列就是,从1开始,去掉能表示成a^b(2
例如r=2
序列就是:2,3,5,6,7,8,10,11,12,13,14,15,17....
思路:
我们应该能想到需要一个函数fun(x) 求的是1~x内在Y序列里的数有多少个
这个其实不难,我们可以运用容斥原理,通过63以内的素数进行计算,并且最多做三遍,因为2*3*5*7...
分类:
其他好文 时间:
2015-07-26 15:51:00
阅读次数:
130
一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) * 2 - 1. 设g(i)为 gcd(x, y) = i ( 1 = 2 , i * k using namespace std;typedef long long ll;const int m...
分类:
其他好文 时间:
2015-07-26 00:28:43
阅读次数:
124
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5297
题意:给定整数n和整数r,在1、2、3、4、5.......的序列中删掉可以开2次方的数,3次方的数,4次方的数,.......r次方的数,剩下的数称为Y序列,求Y序列中第n个数是多少。
分析:对于一个数x,如果求出x在Y序列的位置就好办了。
先不管序列中的1,假如r=3,可以开2次...
分类:
其他好文 时间:
2015-07-23 10:41:03
阅读次数:
87
友情题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3388
#include
#include
#include
#include
using namespace std;
typedef long long LL;
const int N=1000005;
const LL INF=(LL)1<<62;
bool prime[...
分类:
其他好文 时间:
2015-07-22 16:11:33
阅读次数:
108
题意:给一些带颜色的点,求一个最小的矩形,恰好包括一半的红色点,且不包括蓝色点。题解:暴力,求个二维前缀和,用容斥原理更新一下。N很小所以我采用了离散优化,跑了个0ms。之前没写过二维前缀和,加上离散写得也不是很熟练,所以搞了2个小时,好在是一发就过了。貌似有个坑,线不要特判,不然wa。#inclu...
分类:
其他好文 时间:
2015-07-21 20:14:53
阅读次数:
108