首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
编辑最大序列求和示例的4个算法.
2024-08-24
[C++]四种方式求解最大子序列求和问题
问题 给定整数: A1,A2,-,An,求∑jk=iAk 的最大值(为方便起见,假设全部的整数均为负数,则最大子序列和为0) 比如 对于输入:-2,11,-4,13,-5,-2,答案为20,即从A2到A4 分析 这个问题之所以有意思.是由于存在非常多求解它的算法. 解法一:穷举遍历 老老实实的穷举出全部的可能,代码例如以下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 //计算并返回所
51nod 1258 序列求和 V4
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1258 1258 序列求和 V4 基准时间限制:8 秒 空间限制:131072 KB 分值: 1280 难度:9级算法题 收藏 关注 T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k,求S(n). 例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55. 由于结
51nod 1228 序列求和(伯努利数)
1228 序列求和 题目来源: HackerRank 基准时间限制:3 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注 T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k,求S(n). 例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55. 由于结果很大,输出S(n) Mod 1000000007的结果即可. Input 第1行:一个数T,表示后面用作输入测
HDU 5358 First One 求和(序列求和,优化)
题意:给定一个含n个元素的序列,求下式子的结果.S(i,j)表示为seq[i...j]之和.注:对于log20可视为1.数据量n<=105. 思路:即使能够在O(1)的时间内求得任意S,也是需要O(n*n)来求和的. 对于这种题,一般就是研究式子,看有什么办法可以减少复杂度. 看到式子中的向下取整符号了吗?很多数的取整结果是相同的,即使给个2147483647取整也只是30多而已(噗,忘了多少). 而对于这个式子,S最大也不会超过longlong,确切计算,小于234.那么取log之后的范围这么
51NOD 1258 序列求和 V4 [任意模数fft 多项式求逆元 伯努利数]
1258 序列求和 V4 题意:求\(S_m(n) = \sum_{i=1}^n i^m \mod 10^9+7\),多组数据,\(T \le 500, n \le 10^{18}, k \le 50000\) 等幂求和 多项式求逆元\(O(mlogm)\)预处理伯努利数,然后可以\(O(m)\)回答 因为是任意模数,所以要用拆系数fft 拆系数fft+多项式求逆元,写的爽死了 具体内容可能会写学习笔记 注意: 多项式求逆元里拆系数,不能只更新 .x= ,这样的话y还保留以前的值就错了 因为使用
【51Nod1258】序列求和V4(FFT)
[51Nod1258]序列求和V4(FFT) 题面 51Nod 多组数据,求: \[Ans=\sum_{i=1}^ni^k,n\le 10^{18},k\le50000\] 题解 预处理伯努利数,时间复杂度\(O(nlogn)\) 然后利用伯努利数求和即可. \[\sum_{i=1}^n i^k=\frac{1}{k+1}\sum_{i=0}^kB_iC_{k+1}^i(n+1)^{k+1-i}\] 预处理需要多项式求逆,因为模数不太好,所以需要\(MTT\) #include<iostream
HDU 2254 奥运(矩阵高速幂+二分等比序列求和)
HDU 2254 奥运(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 2254 奥运 题意: 中问题不解释. 分析: 依据floyd的算法,矩阵的k次方表示这个矩阵走了k步. 所以k天后就算矩阵的k次方. 这样就变成:初始矩阵的^[t1,t2]这个区间内的v[v1][v2]的和. 所以就是二分等比序列求和上场的时候了. 跟HDU 1588 Gauss Fibonacci的算法一样. 代码: /* * Author: illuz <iilluzen[at]gmail.com>
51nod_1236_序列求和 V3 _组合数学
51nod_1236_序列求和 V3 _组合数学 Fib(n)表示斐波那契数列的第n项,Fib(n) = Fib(n-1) + Fib(n-2).Fib(0) = 0, Fib(1) = 1. (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...) F(n, k) = Fib(n)^k(Fib(n)的k次幂). S(n, k) = F(1, k) + F(2, k) + ...... F(n, k). 例如:S(4, 2) = 1
HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和)
HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 1588 Gauss Fibonacci 题意: g(i)=k*i+b;i为变量. 给出k,b,n,M,问( f(g(0)) + f(g(1)) + ... + f(g(n)) ) % M的值. 分析: 把斐波那契的矩阵带进去,会发现这个是个等比序列. 推倒: S(g(i)) = F(b) + F(b+k) + F(b+2k) + .... + F(b+nk) // 设 A = {1
lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
入门训练 序列求和 时间限制:1.0s 内存限制:256.0MB 问题描述 求1+2+3+...+n的值. 输入格式 输入包括一个整数n. 输出格式 输出一行,包括一个整数,表示1+2+3+...+n的值. 样例输入 4 样例输出 10 样例输入 100 说明:有一些试题会给出多组样例输入输出以帮助你更好的做题. 一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低. 样例输出 5050 数据规模与约
Python 序列求和
#基于Python2.7 多数OJ题库的第一题便是A+B,A+B+C此类求和问题,之前初学Python时是这么做的: while True: try: a,b,c=raw_input().split() print int(a)+int(b)+int(c) except: break 还是C++的风格,今天刚在Vijos的实例程序上看到如下代码: #import sys #sys.stdin=open('in.txt','r') #sys.stdout=open('out.txt','w') w
51nod1236 序列求和 V3
这题炒鸡简单,只要第一步想对了后面顺风顺水QWQ(然鹅我没想到) 前置芝士: 斐波那契数列通项公式 等比数列求和公式 二项式定理 这题要求的就是 \(\sum_{i=1}^n Fib(i)^k\) ,其中 Fib 就是斐波那契数列 如果说没有 k 的话怎么做?仍然不会.jpg 于是我们直接想带 k 的答案吧... 我们考虑 把斐波那契数列的通项公式带进去! 然后鬼都知道怎么做了,就是一堆化式子: \[\begin{aligned}ANS=& \sum_{i=1}^n Fib(i)^k\\=&
51nod1236 序列求和 V3 【数学】
题目链接 51nod1236 题解 用特征方程求得斐波那契通项: \[f(n) = \frac{(\frac{1 + \sqrt{5}}{2})^{n} - (\frac{1 - \sqrt{5}}{2})^{n}}{\sqrt{5}}\] 那么 \[ \begin{aligned} ans &= \sum\limits_{i = 1}^{n} (\frac{(\frac{1 + \sqrt{5}}{2})^{i} - (\frac{1 - \sqrt{5}}{2})^{i}}{\sqrt{5}
51nod1229 序列求和 V2 【数学】
题目链接 B51nod1229 题解 我们要求 \[\sum\limits_{i = 1}^{n}i^{k}r^{i}\] 如果\(r = 1\),就是自然数幂求和,上伯努利数即可\(O(k^2)\) 否则,我们需要将式子进行变形 要与\(n\)无关 设 \[F(k) = \sum\limits_{i = 1}^{n} i^{k}r^{i}\] 自然数幂应该是不用去动了,两边乘个\(r\) \[rF(k) = \sum\limits_{i = 2}^{n + 1}r^{i}(i - 1)^{k}
51Nod 1228 序列求和
T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k,求S(n). 例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55. 由于结果很大,输出S(n) Mod 1000000007的结果即可. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 5000) 第2 - T + 1行:每行2个数,N, K中间用空格分割.(1 <= N <= 10^18
[51nod1236] 序列求和 V3(斐波那契数列)
题面 传送门 题解 把求和的柿子用斐波那契数列的通项公式展开 \[ \begin{aligned} Ans &=\sum\limits_{i = 1}^{n} \left(\frac{(\frac{1 + \sqrt{5}}{2})^{i} - (\frac{1 - \sqrt{5}}{2})^{i}}{\sqrt{5}}\right)^{k} \\ &= \left(\frac{1}{\sqrt{5}}\right)^{k}\sum\limits_{i = 1}^{n} \sum\lim
Codeup 25609 Problem I 习题5-10 分数序列求和
题目描述 有如下分数序列 2/1,3/2,5/3,8/5,13/8,21/13 - 求出次数列的前20项之和. 请将结果的数据类型定义为double类型. 输入 无 输出 小数点后保留6位小数,末尾输出换行. 样例输入 Copy 无 样例输出 Copy 32.660261 #include <stdio.h> #include <stdlib.h> int main() { double i=1.0,j=2.0,num,sum=2; int sqe; for(sqe=2;sqe&l
[51nod 1822]序列求和
\(k\leq 200000\) 考虑转化成枚举 \(k\) 的形式 我们错位相减! \[A_k=\sum_{i=1}^N i^K\times R^i \\ RA_k=\sum_{i=2}^{N+1} (i-1)^KR^i \\ (R-1)A_k=N^kR^{N+1}+\sum_{i=1}^{N}[(i-1)^k-i^k]R^i \] 二项式展开! \[(R-1)A_k=N^kR^{N+1}+\sum_{i=1}^{N}[\sum_{j=0}^k(-1)^{k-j}i^{j}-i^k]R^i \
51nod1228 序列求和(自然数幂和)
与UVA766 Sum of powers类似,见http://www.cnblogs.com/IMGavin/p/5948824.html 由于结果对MOD取模,使用逆元 #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<map> #in
51nod 1228 序列求和 ( 1^k+2^k+3^k+...+n^k )
C为组合数,B为伯努利数 具体推到过程略 参考博客:http://blog.csdn.net/acdreamers/article/details/38929067# (我的式子和博客中的不一样,不过思想是一样的) 具体见代码: + ; + ; LL C[maxn][maxn]; LL inv[maxn]; LL B[maxn]; LL n, k; void init() { scanf("%lld%lld", &n, &k); } void getC() { C[][
51nod1258 序列求和V4
T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k,求S(n). 例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55. 由于结果很大,输出S(n) Mod 1000000007的结果即可. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 500) 第2 - T + 1行:每行2个数,N, K中间用空格分割.(1 <= N <= 10^18,
热门专题
centos mount 重启失效
mui动态循环创建列表
c# 局域网访问权限
js能不能获取方法名
C# IQueryable和IEnumerable的区别
eclipse安装不上pydev
shell如何将一个BOF放进一个变量中
tbody 使用el-scrollbar
java 怎么调用basic auth接口
python读取txt内容保存
MFC IDC_PROGRESS 显示百分比
CVE-2012-2122(Mysql 身份认证绕过)
怎么把原生h5标签页面专户成uni-app 标签
showwindow关闭窗口
messager的聊天界面
IDEA 调试不了Spring源码
QSpacerItem 垂直
jakarta.el 冲突
openssh版本升级8.0
maven中profile的优先级