LuoguT37042 求子序列個數

2021-08-21 14:28:47 字數 661 閱讀 5412

給定序列 a, 求出 a 中本質不同的子串行 (包含空的子串行) 個數模 10^9+ 7 的結果.

乙個序列 b 是 a 的子串行需要滿足 a 刪掉某些元素後能夠得到 b.

兩個子串行中對應位置的數都相同我們就認為這兩個子串行本質相同

第一行包含乙個整數 n , 代表序列的長度.

接下來一行 n 個整數, 第 i 個數代表 ai.

輸出乙個整數代表答案.

5 2 3 1 3 2

對於 20% 的資料, n<=10.

對於 40% 的資料, n<=20

對於 70% 的資料, n<=100000; 1<=ai<=100

很奇怪的思路。

看**應該挺好懂的。

#include

#include

using

namespace

std;

#define r register

#define ull unsigned long long

ull a[1000007];

ull f[1000007];

ull s[1000007];

ull las[1000007];

int main()

cout

0;}

求子序列 DP

time limit 1 sec memory limit 128 mb submit 182 solved 8 submit status web board 給定乙個長度為n的數字序列a,從中選取乙個長為m的子串行b滿足 b i b i 1 0 2 i m 求最大的m。第一行輸入乙個整數t,代表...

分而治之 求子序列最大和

這裡只紀錄一下函式的思想 運用遞迴的思想,先後掃瞄左邊最大值,右邊最大值,和跨中點最大值,比較.int max3 int a,int b,int c int divideandconquer int list,int left,int right 下面是 分 的過程 center left righ...

COGS82 求子序列

這是一道經典題目了,劉汝佳在紫書上講解了三種方法,複雜度從o n3 o n2 o n 記得高一我寫這道題的時候迷迷糊糊的,對於o n 的演算法並不是很理解,今天我重新寫這道題並用o nlogn 的分治方法解決,也是為寫維護數列做準備。divide and conquer 分而治之的思想可以說是oi中...