摘要: 【题意】给定长度为n的序列A,求最长的区间满足区间内存在数字能整除区间所有数字,同时求所有方案。n<=5*10^5,Ai<2^31。 【算法】数论??? 【题解】首先一个区间的基准数一定是最小的数字。 以一个数字为基准数,左右扩展到的区间内的数字都不能再作为基准数(不会超过此时的区间,为同一个)。 阅读全文
posted @ 2017-08-10 16:38 ONION_CYC 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 【题意】n个数划分成k段,每段的价值为段内不同数字的数量,求最大总价值 【算法】DP+线段树 【题解】 f[i][j]表示前i个数字划分成j段的最大价值。 f[i][j]=max(f[k][j-1]+value(k+1,j)),j-1<=k<i。 暴力复杂度O(n^3*k),预处理value后复杂度 阅读全文
posted @ 2017-08-10 14:38 ONION_CYC 阅读(226) 评论(0) 推荐(0) 编辑