Sol 首先,考虑这个要怎么搞...让总和最大的方法就是选出当前集合中最大的两个数相加放入集合中就可以了,证明非常简单,当前集合的和为x,它的和只会一直往后增加,所以只需要找到最大的两个数的和加入便是最佳答案.知道了这个以后,手动递推一下就是一个斐波拉契数列. 然后斐波拉契数列数列自然可以矩乘,但是矩阵乘法不能解决负数斐波拉契问题.而且,一正一负就不是斐波拉契数列的递推了.递推应该是这个样子. \(F_2=F_1+F_0,F_3=F_2+F_1=F_1+F_1+F_0...F_n=F_1*(n-…
http://www.lydsy.com/JudgeOnline/problem.php?id=4547 本蒟蒻并不会矩乘求Fibonacci数列前缀和,所以果断分块打表,常数竟然比矩乘要小! PS:今天是长者90岁大寿,+1s #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int p = 10000007; const int bef[1002] =…
当序列中最大和次大都是负数的时候,其相加会是一个更小的负数,因此答案为(Σai)+(m1+m2)*k,如果最大是正数次大是负数,那么一直相加直到两个数都为正数,当最大和次大都是正数时,做一下矩阵乘法即可. 代码 #include<cstdio> #include<cstring> #include<algorithm> #define N 200010 #define P 10000007 using namespace std; typedef long long l…
[题目背景] 开学了,小奇在回地球的路上,遇到了一个棘手的问题. [问题描述] 简单来说,它要从标号为 1 的星球到标号为 n 的星球,某一些星球之间有航线. 由于超时空隧道的存在,从一个星球到另一个星球时间可能会倒流,而且,从星 球 a 到 b 耗费的时间和星球 b 到 a 耗费的时间不一定相同.宇宙法规定:“禁止在出发时间前到达目的地”.每艘飞船上都有速度调节装置,可以调节飞行的时间.其功能可以使得整次航程中所有两星球间的飞行时间增加或减少相同的整数值.你的任务是帮助它调整速度调节器,找出一…
[题目背景] 开学了,小奇在回地球的路上,遇到了一个棘手的问题. [问题描述] 简单来说,它要从标号为 1 的星球到标号为 n 的星球,某一些星球之间有航线. 由于超时空隧道的存在,从一个星球到另一个星球时间可能会倒流,而且,从星 球 a 到 b 耗费的时间和星球 b 到 a 耗费的时间不一定相同.宇宙法规定:“禁止在出发时间前到达目的地”.每艘飞船上都有速度调节装置,可以调节飞行的时间.其功能可以使得整次航程中所有两星球间的飞行时间增加或减少相同的整数值.你的任务是帮助它调整速度调节器,找出一…
[题目背景]小奇不小心让糖果散落到了地上,它对着满地的彩色糖果胡思乱想.[问题描述]有 N 个彩色糖果在平面上. 小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果.求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色.[输入格式]包含多组测试数据,第一行输入一个正整数 T 表示测试数据组数.接下来 T 组测试数据,对于每组测试数据,第一行输入两个正整数 N.K,分别表示点数和颜色数.接下来 N 行,每行描述一个点,前两个数 x, y (|x|, |y| ≤ 2^30 - 1)…
[BZOJ4548]小奇的糖果 Description 有 N 个彩色糖果在平面上.小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果.求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色. Input 包含多组测试数据,第一行输入一个正整数 T 表示测试数据组数. 接下来 T 组测试数据,对于每组测试数据,第一行输入两个正整数 N.K,分别表示点数和颜色数. 接下来 N 行,每行描述一个点,前两个数 x, y (|x|, |y| ≤ 2^30 - 1) 描述点的位置,最后一个数…
→原题传送门←(by Hzwer) 「题目背景」 小奇不小心让糖果散落到了地上,它对着满地的彩色糖果胡思乱想. 「问题描述」 有 N 个彩色糖果在平面上.小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果.求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色. 「输入格式」 包含多组测试数据,第一行输入一个正整数 T 表示测试数据组数. 接下来 T 组测试数据,对于每组测试数据,第一行输入两个正整数 N.K,分别表示点数和颜色数. 接下来 N 行,每行描述一个点,前两个数 x,…
[题目背景] 小奇总是在数学课上思考奇怪的问题. [问题描述] 给定一个长度为 n 的数列,以及 m 次询问,每次给出三个数 l,r 和 P, 询问 (a[l'] + a[l'+1] + ... + a[r']) mod P 的最小值. 其中 l <= l' <= r' <= r. 即模意义下的区间子串和最小值. [输入格式] 第一行包含两个正整数 n 和 m,表示数列的长度和询问的个数. 第二行为 n 个整数,为 a[1]..a[n]. 接下来 m 行,每行三个数 l,r 和 P,代表…