数论+容斥原理 --hdu 上的几题

hdu 2841 :题意:是从(0,0)点可以看到的最多数目的树。

思路:易知对(x1,y1),(x2,y2),两点,若x1/y1=x2/y2,则只能看到一个,于是我们求最简的(x1,y1),则其他点可以表示为(K*x1,k*y1),由此转化为求x属于[1,m],y属于[1,n],gcd(x,y)=1的对数。可以枚举[1,n]的素因子用容斥原理求出。

hdu4135: 题意:是求[A,B]区间中与互质的数的个数。

思路: 分解C,得到素因子,运用容斥原理,即可。

hdu1796:题意: 给定一个集合M,和数n.求小于n的数中能被集合中的若干个数整除的数的个数。

思路:很明显的容斥原理,但是处理时注意,多个数能被n整除,则他们的最小公倍数能被n整除,有重复,可以用容斥原理。

hdu 1695:题意:给定区间[1,b],[1,d],k,求x属于[1,b],y属于[1,d]使得gcd(x,y)=k;

思路:gcd(x,y)=k的意思是,x,y去除k这个因子后,两者是互质的,于是我们就把此问题转换为求[1,x/k],[1,y/k],两个数互质的问题了,要注意的是此题数对是有序的,于是假设得到区间[1,m],[1,n],n>=m,则对于[1,m]我们用欧拉函数求,[m+1,n],我们用容斥原理求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值