随笔分类 -  容斥原理

摘要:题意很简单,就是给你一个数组大小为n的值从1到n,之后有m次操作,要么修改前面的数组中的某一项,要么是输出从x到y(包括边界)中的数与p互质的数的和。由于m很小(m<=1000)故,将修改的部分保存下来之后统计输出时,在判断修改的部分是否与p互质,若是要修改原来的,在修改现在的。注意,就是多次修改同一个地方,只记录最后一次。对于统计从x到y的与p互质数的和,有结果=数1到y的满足要求的结果-数1到x-1的满足要求的结果。而从1开始到n的数中与p互质的数的和的求法,就是个容斥原理的算法。剔除p中单个素因子的倍数,加上两个因子的倍数,接着在剔除三个素因子的倍数,直到所有的素因子结束。。/** 阅读全文
posted @ 2012-09-23 00:56 qingyezhu 阅读(366) 评论(2) 推荐(0)
摘要:/* * hdu1796.c * * Created on: 2011-10-3 * Author: bjfuwangzhu */#include<stdio.h>#define LL long long#define nmax 11int num[nmax], nlen;LL res;int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b);}void dfs(int start, int c, int lcm, int n) { int i; lcm = lcm / gcd(lcm, num[start... 阅读全文
posted @ 2011-10-10 16:50 qingyezhu 阅读(345) 评论(0) 推荐(0)