- 博客(7)
- 收藏
- 关注
原创 poj3904容斥原理
题意:从若干个数中找出a,b,c,d满足gcd(a,b,c,d)=1,求组数。 分析:我们从反面来考虑,即求出有多少组是不满足要求的。 把每个数素数分解,记录不重复素因子所能组成的因子,把这些因子的总数统计,并且统计每个因子是由多少个素因子组成 。 比如:这n个数中只含有2,3这两个质因数,且质因数中含2的有a个,含3的有b个,含6的有c个,那么答案便是C(n,4)-(C(a,
2016-09-26 19:43:18 458
原创 poj1845 质因数分解+等比数列求和
题意:求A^B约数之和。 分析:首先可以讲A分解质因数: A=p1^a1+p2^a2+p3^a3+……+pn^an 则A^B=p1^(a1*B)+p2^(a2*B)……+pn^(an*B) A^B的所有约数之和sum=[1+p1+p1^2+…+p1^(a1*B)][1+p2+p2^2+…+p2^(a2*B)][1+pn+pn^2+…+pn^(an*B)]. 之后就是用二分的
2016-09-25 21:55:40 478
原创 POJ1811 大质数判断+质因数分解
解决本题基于以下两步: —>1.素数判定(Miller-Rho) 由费马小定理 a^(p-1) % p=1 (其中p为质数) 可以随机取一个a,计算上式的结果是否为1而判断p是否为素数。 值得注意的是,通过上述方法正确率只有50%,解决方法是选择20个不同 的a只要有一个不满足上式,则可以判定p不是质数。 —>2.分解质因数(Pollar-Rho)
2016-09-15 16:27:22 758
原创 POJ 2449 A*k短路
题意:给出一个有向图,起点终点以及k,求k短路 思路:使用A*算法,首先预处理出每个点到终点的距离h[i],搜索时使用优先队列,关键字为(f + h[i]),其中f 是已经走的距离,i是当前走到的节点 注意:此题坑点巨多: 1)起点可能与终点相同,此时0不算最短路,故k++ 2)k短路不存在时,输出-1 3)由于是有向图,从Dijkstra时只能用反边,A*时只能用正边,否则MLE#inc
2016-09-08 19:45:55 420
原创 基础数论-反素数 ural1748
题意:求最小的0-n中约数个数最多的数,并输出其约数个数。 这道题目需要用到反素数的知识。 首先反素数满足以下性质: 反素数一定为连续的素数相乘; 第k个质因数的幂≥第(k-1)个。 剩下需要做的就只是dfs了。^_^#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using na
2016-09-05 21:01:30 420
原创 树形DP poj1155
题目大意:给出一棵树,一共n个节点(根节点为电视台),其中有m个叶子结点(用户)依次为n-m+1~n。 接下来n行描述非叶子节点1~n,首先是一个k,表示它有k个子节点。接下来,每两个数描述一个节点的编号及与这个节点的距离(经过此路线的费用)。 最后一行n-m+1包括这些点(用户)拥有的钱数。 本题要求的是电视台发送信号给很多用户,每个用户有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的
2016-09-03 16:36:18 315
原创 次小生成树(poj2831)
题目大意:给你一幅图,接下来是q个询问。每个询问的形式为: id c 表示询问把第id条边的长度改为c后,这条边是否存在于整个图的最小生成树中。做法:次小生成树。若用prim变形,记录一个数组mx[u][v] 表示在最小生成树中,连接u,v的路径中最长的一条边的长度。比较第id条边连接的u,v的mx[u][v] 。若c≤mx[u][v] ,则答案为Yes,否则为No。#inclu
2016-09-01 22:01:28 331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人