Infiniti

   :: 首页  :: 新随笔  ::  ::  :: 管理

2019年1月9日

摘要: 思路 :题意描述我也很绝望 。先说一下题意 : 给定长度为n数组a [ ],求a[ ] 的一个最大子序列(可以不连续),使得b [ i ]& b [ i - 1 ] ! = 0.求最大的 b数组的长度 题解:显然是DP,状态转移方程显然是dp[ i ] = m a x { dp [ k ] + 1 阅读全文
posted @ 2019-01-09 17:41 自由缚 阅读(91) 评论(0) 推荐(0) 编辑

摘要: 思路 :依旧是 分块 块内按照 r 排序 不同块按照 L排序,处理好增加 删除对结果的影响即可。 阅读全文
posted @ 2019-01-09 16:37 自由缚 阅读(116) 评论(0) 推荐(0) 编辑

摘要: 思路 :分块 思想 处理离线查询操作 对查询进行排序 在同一块内的按照 r 进行排序 不同块 的按照 L进行排序。 #include<bits/stdc++.h> using namespace std; #define maxn 56789 int n,m,col[maxn],cnt[maxn], 阅读全文
posted @ 2019-01-09 16:35 自由缚 阅读(138) 评论(0) 推荐(0) 编辑

摘要: dp[i]=min(dp[j]+(sum[i]-sum[j]+i-j-1-L)^2) (j=f[j](显然) 证明完毕 2.求斜率方程 因为dp[k]+(f[i]-f[k]-c)^2 using namespace std; #define ll long long #define maxn 56789 ll n,l,s[maxn],dp[maxn]; int head,tail,q[ma... 阅读全文
posted @ 2019-01-09 15:16 自由缚 阅读(121) 评论(0) 推荐(0) 编辑

摘要: 思路 : 1,用一个单调队列来维护解集。 2,假设队列中从头到尾已经有元素a b c。那么当d要入队的时候,我们维护队列的下凸性质, 即如果g[d,c]<g[c,b],那么就将c点删除。直到找到g[d,x]>=g[x,y]为止,并将d点加入在该位置中。 3,求解时候,从队头开始,如果已有元素a b 阅读全文
posted @ 2019-01-09 11:40 自由缚 阅读(210) 评论(0) 推荐(0) 编辑