题意:求[a,b]与n互质的个数
思路:容斥原理的运用,提取n的素因子,先算出不与n互素的个数,容斥原理奇加偶减
#include
#include
#include
#include
#define ll long long
using namespace std;
const int MAXN = 70;
ll prime[MAXN];
ll a,b,n;
ll make(l...
分类:
其他好文 时间:
2014-07-22 23:05:55
阅读次数:
315
题目链接:uva 10773 - Back to Intermediate Math
题目大意:有一天河,宽d,水流速度v,船速u,问说垂直过河和最快过河的时间差,如果不能过河输出“can't determine”。
解题思路:将u的速度分解成水平方向和竖直方向的两个速度,使水平方向速度恰好为v,船即可垂直过河,速度为竖直方向速度。
#include
#includ...
分类:
其他好文 时间:
2014-07-22 23:04:12
阅读次数:
235
题目链接:uva 1530 - Floating Point Numbers
题目大意:给出一个16位的二进制数,用来表示一个浮点数,第一位为符号,1~7位表示一个十进制的数s,e=63-s;剩下的8位为小数部分,默认整数部分为1,得到f,然后最后a=f*2^e,要求用科学计数法输出a。
解题思路:模拟就好了,注意0的情况特殊处理,以及科学计数法的整数部分不能为0.
...
分类:
其他好文 时间:
2014-07-22 23:02:13
阅读次数:
250
题目和poj 上的一道题几乎一样。题意:已知n棵树距第一棵树的距离,求删掉m棵树后的 树之间
的最小距离 的最大值。思路:二分枚举最小的距离,注意二分的写法。 1 #include 2 #include 3 #include 4 #include 5
#include 6 #include...
分类:
其他好文 时间:
2014-07-22 22:59:15
阅读次数:
249
原题地址:http://oj.leetcode.com/problems/valid-number/题意:判断输入的字符串是否是合法的数。解题思路:这题只能用确定有穷状态自动机(DFA)来写会比较优雅。本文参考了http://blog.csdn.net/kenden23/article/detail...
分类:
编程语言 时间:
2014-05-02 00:04:57
阅读次数:
483
题意:在一个公司中要举办一个聚会,每一个员工有一个奉献值。为了和谐规定直接上下级不能一起出席。让你找出奉献值之和最大为多少。思路:dp[v][1]表示当前结点选,能获得的最大奉献值,dp[v][0]表示当前节点不选能获得的最大奉献值。状态转移:dp[v][0]
= max(dp[v][0], ∑ma...
分类:
其他好文 时间:
2014-05-01 22:30:47
阅读次数:
485
问题:对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法的执行效率尽可能高。 1 #include 2 using
namespace std; 3 //最简单的思路,除2有余数 4 int fun1(unsigned int a) 5 { 6 int coun...
分类:
其他好文 时间:
2014-05-01 19:47:34
阅读次数:
355
题目题意:给m个数字, q次询问, 询问b到e之间如果有重复数字就输出,
没有就输出OK思路:用f[i]数组 记录从i开始向后最近的有重复数字的 位置, 如 1 3 2 2, 则f[1] = 4;如果离a最近的重复数字的位置
都大于b, 就说明没有重复数字。f[]数组需要预处理,从后向前。 1 #i...
分类:
其他好文 时间:
2014-05-01 19:28:39
阅读次数:
286
题目链接:11806 - Cheerleaders
题意:在一个棋盘上,要求四周的四行必须有旗子,问有几种摆法。
思路:直接算很容易乱掉,利用容斥原理,可知AUBUCUD = |A| + |B| + |C| + |D| - |AB| - |BC| - |AC| - |AD| - |BD| - |CD| + |ABC| + |ABD| + |ACD| + |BCD| - |ABCD|
由此利用...
分类:
其他好文 时间:
2014-05-01 18:00:13
阅读次数:
380
题目链接:11401 - Triangle Counting
题意:有1,2,3....n的边,求最多能组成的三角形个数。
思路:利用三角形不等式,设最大边为x,那么y + z > x 得 x - y
然后y取取值,可以从1取到x - 1,y为n时候,有n - 1个解,那么总和为0 + 1 + 2 +...+ (x - 2) = (x - 1) * ( x- 2) / 2;
然后扣除掉重...
分类:
其他好文 时间:
2014-05-01 17:16:56
阅读次数:
284