python
carson0408
热衷于编程,喜欢研究算法,挑战难题,享受AC的过程,希望自己能够不断进步,不断成长。
展开
-
大数乘法
题目描述:(题目来源于51nod 1028大数乘法V2) 大数乘法: 给出2个大整数A,B,计算A*B的结果。 Input 第1行:大数A 第2行:大数B (A,B的长度 = 0) Output 输出A * B Input示例 123456 234567 Output示例 28958703552 解题思路: 当两个十分庞大的数据相乘时,直接相乘可能会使结果溢出,原创 2017-08-24 10:25:41 · 1243 阅读 · 0 评论 -
数字游戏
代码实现:# -*-coding:utf-8 -*- while True: try: n = int(raw_input()) x = map(int, raw_input().split()) x.sort() x = [0] + x ans=sum(x)+1原创 2017-08-23 22:29:29 · 1225 阅读 · 0 评论 -
快速幂与快速矩阵幂(以大数下的斐波那契数列为例)
一般地,a^n的算法时间复杂度为o(n),但是如果n为大数,则运行时间过长,效率不高。因此,使用二分的思想降低时间复杂度,使其降至o(logn),则会使运行效率较大提升。二分思想如下图所示。 例如:2^8=2^4*2^4=(2^2*2^2)*(2^2*2^2)=((2*2)*(2*2))*((2*2)*(2*2)),只需计算4次,比原来的8次降低许多(这里多一次,是把第一次乘1也算上) 奇原创 2017-08-30 22:03:07 · 3616 阅读 · 0 评论 -
回文数组(搜狐编程)--python
题目描述:有一个数组正序和倒序相同,则这个数组被称为‘回文数组’。现在给定一个数组,要求对其进行插入数字,使其称为回文数组,求所有能实现方案中,使得最后回文数组和最小的方案,输出最终回文数组的和。 思路:求最大回文串,即求一个数组正序与倒序的最大公共串,并用一个二维数组dp进行记录和。注意判定条件,当s1[i]==s2[j]时,dp[i][j]=dp[i-1][j-1]+s1[i];否则dp[i原创 2017-09-17 21:53:35 · 1840 阅读 · 0 评论 -
k的倍数(同模相减-美团笔试编程题)
问题描述: 序列中任意个连续的元素组成的子序列成为该序列的子串。现在给你一个序列p和一个整数k,询问元素和是k的倍数的子串的最大长度。比如序列[1,2,3,4,5],给定的k为5,其中满足条件的串子串为[5],[2,3],[1,2,3,4,5].所以答案是5 输入描述: 第一行一个整数n (1 第二行n个整数的序列p(1 第三行含一个整数k(1 输出描述: 输出一个ANS,表示答案原创 2017-08-31 23:03:10 · 3917 阅读 · 0 评论 -
动态规划之错排问题以及相应的变形
一.错排原理 何谓错排?错排就是完全乱序,比如有n个人各有自己的编号, 链接:https://www.nowcoder.com/questionTerminal/95e35e7f6ad34821bc2958e37c08918b 来源:牛客网 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不原创 2017-12-29 09:50:41 · 1699 阅读 · 0 评论