Algorithm --> 求1到n的和】的更多相关文章

求1到n的和 输入n,求和1到n,要求不能使用乘除法,不使用任何if while for 以及三目运算,怎么做? 版本一 static int f(int n) { n && (n += f(n - 1)); return n; } int main (int argc, char const *argv[]) { printf("%d\n", f(100)); return 0; } 版本二 C++11的 itoa() 和 accumulate(): #include…
最直白方法:时间复杂度是O(n3), 空间复杂度是常数 reference:http://blog.csdn.net/monkeyandy/article/details/7957263 /** ** copyright@andy ** http://blog.csdn.net/MonkeyAndy **/ 首先介绍动态规划方法的相关知识 动态规划方法的基本思想: 分成若干个子问题,先求解子问题,然后根据子问题的解求得原问题的解.经分解得到的子问题往往不是互相独立的.可重复利用! 其核心思想就是…
求阶乘末尾0的个数 (1)给定一个整数N,那么N的阶乘N!末尾有多少个0?比如:N=10,N!=3628800,N!的末尾有2个0. (2)求N!的二进制表示中最低位为1的位置. 第一题 考虑哪些数相乘能得到10,N!= K * 10M其中K不能被10整除,则N!末尾有M个0. 对N!进行质因数分解: N!=2X*3Y*5Z…,因为10=2*5,所以M与2和5的个数即X.Z有关.每一对2和5都可以得到10,故M=min(X,Z).因为能被2整除的数出现的频率要比能被5整除的数出现的频率高,所以M…
求N以内的真分数个数 For example, if N = 5, the number of possible irreducible fractions are 11 as below. 0 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1 Input Output 代码: #include <iostream> #include <cstdio> using namespace std; #define _DEBUG 0 #define MAX 10…
Count primes Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2719    Accepted Submission(s): 1386 Problem Description Easy question! Calculate how many primes between [1...n]!   Input Each line…
循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Markov不仅是一种技术,更是一种人生哲理,能启发我们很多. 一个信息爆炸的时代 一.信息的获取 首先要获得足够多的信息以及训练数据,才能保证所得信息中包含足够有价值的部分.但往往因为“面子”.“理子”.“懒"等原因,在有意无意间削弱了信息的获取能力. 二.信息的提取 信息中包含噪声,噪声中充斥着“有意无…
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练. 关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell. Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手. 所以,需要你阅读并点评至少一篇英文技术文章,…
重要知识点 1.基础知识 #include<bits/stdc++.h> //万能头文件 #include< algorithm > //包含sort函数 运用sort实现多关键字排序 bool cmp(Element a,Element b){ if(a.s1!=b.s1){ return a.s1>b.s1;//根据关键字s1降序 else //这里可以继续嵌套判断语句实现多关键字排序 return a.s2<b.s2;//根据关键字s2升序 } sort(list…
目录 1. 普通做法 2. Four Russian 算法 3. 随机数据的一种做法 4. 有关转 LCA 的做法 1.1. RMQ 转 LCA 再转 ±1RMQ(RMQ 标准算法) 1.2. 一个优化 2. RMQ 转 LCA 然后 tarjan 求 LCA 3. RMQ 转 LCA 然后 Schieber Vishkin algorithm 求 LCA 5. 一个 \(O(n\log^*n)\) - \(O(1)\) 的算法 1. 普通做法 ST 表:\(O(n\log n+q)\) Sqr…
瘋耔C++笔记 欢迎关注瘋耔新浪微博:http://weibo.com/cpjphone 参考:C++程序设计(谭浩强) 参考:http://c.biancheng.net/cpp/biancheng/cpp/rumen_8/ 博客原文:http://www.cnblogs.com/Ph-one/p/3974707.html 一.C++初步认识 1.C++输入.输出.头文件解释 #include<iostream> using namespace std ; int mian() { cout…
http://acm.hdu.edu.cn/showproblem.php?pid=3221 一晚上搞出来这么一道题..Mark. 给出这么一个程序.问funny函数调用了多少次. 我们定义数组为所求:f[1] = a,f[2] = b, f[3] = f[2]*f[3]......f[n] = f[n-1]*f[n-2].相应的值表示也可为a^1*b^0%p.a^0*b^1%p,a^1*b^1%p,.....a^fib[n-3]*b^fib[n-2]%p.即a,b的指数从n=3以后与fib数列…
5152. Brute-force Algorithm EXTREME Problem code: BFALG Please click here to download a PDF version of the contest problems. The problem is problem B in the PDF. But the data limits is slightly modified: 1≤P≤1000000 in the original description, but i…
求平方根问题 概述:本文介绍一个古老但是高效的求平方根的算法及其python实现,分析它为什么可以快速求解,并说明它为何就是牛顿迭代法的特例. 问题:求一个正实数的平方根. 给定正实数 \(m\),如何求其平方根\(\sqrt{m}\)? 你可能记住了一些完全平方数的平方根,比如\(4, 9, 16, 144, 256\)等.那其它数字(比如\(105.6\))的平方根怎么求呢? 实际上,正实数的平方根有很多算法可以求.这里介绍一个最早可能是巴比伦人发现的算法,叫做Heron's algorit…
Backpropagation algorithm(反向传播算法) Θij(l) is a real number. Forward propagation 上图是给出一个training example(x,y),是怎么进行forward propagation的. Backpropagation algorithm(一个trainning example) 因为我们是先求的δ(4),再求δ(3),再一层层往input layer那边推,所以叫做Backpropagation algorith…
问题 给定N个元素的数组,求第k大的数. 特例当k=0时,就是求最大值,当k=N-1时,就是求最小值. 应用顺序统计求top N排行榜 基本思想 使用快速排序方法中的分区思想,使得a[k]左侧没有更小的数,右侧没有更大的数 性能 快速选择算法的复杂度是N. 最坏情况下的复杂度是1/2N^2,但是可以通过预先洗牌来防止出现最坏情况 public static Comparable select(Comparable[] a, int k) { StdRandom.shuffle(a); int l…
树中求顶点A和B共同祖先 题目: 给定一颗树,以及两个顶点A和B,求最近的共同祖先,和包含的子顶点个数? 比如:给定如下图的树,以及顶点13和8,则共同祖先为3,以3为root的子顶点共有8个…
投资组和求最大利润 题目: 投资人出资一笔费用mount,投资给不同的公司(A,B,C....),求最大获取利润? 例如:投资400百万,给出两家公司A和B: 1.如果投资一百万给A公司,投资3百万给B工资,则获取14百万(5百万+9百万): 2.如果都投资给B公司,则获取15百万,所以应该投资给B公司: 故选择全部投给B公司. Invested Amount(Unit: KRW 100 million won) Company A Company B 条件: 1.给出投资额mount,以及公司…
爬楼梯求最大分数 如下图,最大分数是: 10+20+25+20=75.        要求: 1.每次只能走一步或者两步: 2.不能连续三步走一样的,即最多连续走两次一步,或者连续走两次两步: 3.必须走到最后一层台阶. 代码: #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define MAX 301 #define max(a, b) ((a) >…
求出A到B的最小步数 给定象棋盘,以及位置A和B, 求出从A到B的最小步数 代码: #include <cstdio> #include <iostream> #include <string.h> using namespace std; #define MAX 1000 //八个方向 ][] = { { , }, { , - }, { -, }, { -, - }, { -, - }, { -, }, { , - }, { , } }; int R, C; int…
一般的线性筛法 genPrime和genPrime2是筛法求素数的两种实现,一个思路,表示方法不同而已. #include<iostream> #include<math.h> #include<stdlib.h> using namespace std; ; //素数表范围 ]; //标志一个数是否为素数 ]; //素数表,下标从0开始 ; //素数个数 void genPrime(int max) { memset(flag, true, sizeof(flag))…
一.原理 Dijkstra所做的一个算法,双栈求值,用两个栈(一个保存运算符,一个用于保存操作数), 表达式由括号,运算符和操作数组成. (1).将操作数压入操作数栈 (2).将运算符压入运算符栈: (3).忽略左括号: (4).在遇到右括号时候,弹出一个运算符,弹出所需数量的操作数,并将运算符和操作数的运算结果压入操作数栈. 二.算法轨迹图 左括号忽略,右括号开始出栈计算 三.代码 import java.util.Scanner; import java.util.Stack; /** *…
作用:求一个字符串中的最长子串,同时还可以求所有子串的长度. 题目链接: https://vjudge.net/contest/254692#problem/B 最长回文串长度的代码: int Manacher(string s) { string t = "$#"; ; i < s.size(); ++i) { t += s[i]; t += "#"; } vector<); ; , id = , resLen = , resCenter = ; ;…
1473: L先生与质数V3 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1348  Solved: 147 [Submit][Status][Web Board] Description 在解决了上一个质数问题之后,L先生依然不甘心,他还想计算下更多范围内的质数,你能帮助他吗? Input 有多组测试例.(测试例数量<70)每个测试例一行,输入一个数字n(0<n<=3000000),输入0表示结束. Output 输出测试例编号和第N个…
求1+2+-+n 题目:求1+2+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A ? B : C). 分析:此题没多少实际意义,因为在软件开发中不会有这么变态的限制.但这道题能有效地考察发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度. 通常求1+2+-+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路.由于已经明确限制for和while的使用,循环已经不能再用了.同样,递归函数也需要用if语句或者条件…
求子数组的最大和 题目:输入一个整型数组,数组里有正数和负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值,要求时间复杂度为O(n).例如输入数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18. 分析:如果不考虑时间复杂度,可以枚举出所有子数组并求其和.但是由于长度为n的数组有O(n2)个子数组:且求一个长度为n的数组的和的时间复杂度为O(n).因此这种思路的时间是O(…
这个帖子讲得非常详细严谨,转一波. http://blog.csdn.net/lishuhuakai/article/details/9133961…
Description Once upon a time there was a greedy King who ordered his chief Architect to build a wall around the King's castle. The King was so greedy, that he would not listen to his Architect's proposals to build a beautiful brick wall with a perfec…
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorithm should run in linear time and in O(1) space. Hint: How many majority elements could it possibly have? Do you have a better hint? Suggest it! 这道题让我们…
深度学习掀开了机器学习的新篇章,目前深度学习应用于图像和语音已经产生了突破性的研究进展.深度学习一直被人们推崇为一种类似于人脑结构的人工智能算法,那为什么深度学习在语义分析领域仍然没有实质性的进展呢? 引用三年前一位网友的话来讲: “Steve Renals算了一下icassp录取文章题目中包含deep learning的数量,发现有44篇,而naacl则有0篇.有一种说法是,语言(词.句子.篇章等)属于人类认知过程中产生的高层认知抽象实体,而语音和图像属于较为底层的原始输入信号,所以后两者更适…
Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5646   Accepted: 1226 Description In an edge-weighted tree, the xor-length of a path p is defined as the xor sum of the weights of edges on p: ⊕ is the xor operator. We say a path the xor-l…