逆波兰式的求解,建立一个类栈容器,遍历给定的逆波兰表达式,遇到数字就push, 遇到操作符就进行出栈,连续出两次,因为给定的四则运算符都是双目的,这里注意下这两个操作数的先后顺序,因为对于加法和乘法没关系,但是对于减法和除法是有先后关系的。然后进行相应的运算,将结果push进栈中。
这里附带说明下python中进行除法运算与c,java系列中的除法的不同,就是向下取整的问题。这种不同表现在两个操...
分类:
编程语言 时间:
2014-07-06 12:22:02
阅读次数:
235
UVA 10831 - Gerg's Cake
题目链接
题意:说白了就是给定a, p,问有没有存在x^2 % p = a的解
思路:求出勒让德标记,判断如果大于等于0,就是有解,小于0无解
代码:
#include
#include
long long a, p;
long long pow_mod(long long x, long long k, lon...
分类:
其他好文 时间:
2014-07-06 11:38:05
阅读次数:
144
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1944
http://acm.hdu.edu.cn/showproblem.php?pid=1536
给定每一次可以取的石头数,给定很多种情况,每一种情况有若干堆石头,判断先手胜负。
SG函数打表,然后直接抑或,判断结果是否为0,第一次写SG函数,贴...
分类:
其他好文 时间:
2014-07-06 10:02:13
阅读次数:
196
好久没写codility的题了,一来没时间,二来有的题目不太好分析。这个题比较有意思,我还没有给出非常严格的证明。给定一棵树(无向无环图),从一个节点出发,每次选择一个节点,从起点到目的节点的路径上没经过的节点尽可能多,直到遍历完所有的节点。如果起点到两个目的节点的路径中没经过的节点同样多,则选择标号较小的节点作为目的节点。如此继续,直到遍历所有的节点,求按顺序选择了哪些目的节点?例如从2 开始,...
分类:
其他好文 时间:
2014-07-06 08:43:57
阅读次数:
149
这个题比较简单,好像也比较old,给定一个整数数组A,有N个元素,找到所有下标对(P,Q)满足 0 ≤ P ≤ Q 数据范围N [1..3*10^5]数组元素[-10^9, +10^9]要求时间复杂度O(N),空间复杂度O(N)。分析: 如果b[i] = max{a[i..N - 1]} ,则对每个i,我们找到最大的j,满足b[j]>=a[i],就可以了。这样做的目的是b,反映了后面还有没有比a...
分类:
其他好文 时间:
2014-07-06 08:30:20
阅读次数:
179
UVA 10555 - Dead Fraction
题目链接
题意:给定一个循环小数,不确定循环节,求出该小数用分数表示,并且分母最小的情况
思路:推个小公式
一个小数0.aaaaabbb... 表示为n/m形式,并且a为整数部分有c位, b为小数部分有d位
那么aaaaa.bbb...和aaaaabbb....分别可以表示为10c?(n/m)和10c+d?(n/m)
两式...
分类:
其他好文 时间:
2014-07-06 08:29:07
阅读次数:
351
题目链接:uva 10162 - Last Digit
题目大意:给定n,求s的个位的数值是多少。
解题思路:对于ii,重复周期为20,这样就有
1 4 7 6 5 6 3 6 9 01 6 3 6 5 6 7 4 9 0
但是这个周期的值是不为0的,总的话是100为一个大周期。
#include
#include
#include
using namespace s...
分类:
其他好文 时间:
2014-07-06 00:09:23
阅读次数:
239
给定一个点,除该点之外的其他所有点中,与该点的关系要么是共线,要么就是共点,也就是两点重合。
共线有三种情况:水平共线,垂直共线,倾斜的共线。合并下这三种情况就是斜率存在的共线和斜率不存在的共线。
那么我们的任务就是针对每个点,找出与其共线的这些情况中,共线最多的点的个数。
注意:最终的结果别忘了加上共点的个数。
class Solution:
def maxPoints(self, p...
分类:
编程语言 时间:
2014-07-05 23:52:29
阅读次数:
402
UVA 1341 - Different Digits
题目链接
题意:给定一个正整数n,求一个kn使得kn上用的数字最少,如果相同,则输出值最小的
思路:
首先利用鸽笼原理证明最多需要2个数字去组成
设一个数字k,组成k,kk,kkk,kkkk... %n之后余数必然在0 - (n - 1)之间,所以必然能选出两个余数相等的数字相减为0,这个数字就是由0和k组成的。
...
分类:
其他好文 时间:
2014-07-05 22:56:18
阅读次数:
289
递归的函数
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定一个函数 f(a, b, c):
如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1;
如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20);//前两个条件注意,输入的时候就可以解决掉...
分类:
其他好文 时间:
2014-07-05 22:54:59
阅读次数:
359