摘要: 传送门看到有人二分做的,明明理论复杂度过不了的么…有一个结论,答案是(最大逆序对差+1)/2(最大逆序对差+1)/2(最大逆序对差+1)/2具体考虑是应为如果序列是单增的话显然是不会影响答案的而如果是递减的话显然是取平均值会最小所以答案就是这样的啦#incl... 阅读全文
posted @ 2019-01-30 01:59 Stargazer_cykoi 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 传送门如果知道了并想到了对数的话就是水题了由于对数良好的性质log(a∗b)=log(a)+log(b)log(a*b)=log(a)+log(b)log(a∗b)=log(a)+log(b)所以我们可以将乘转化为对数来比较大小结果开始因为精度炸了好多次23... 阅读全文
posted @ 2019-01-30 01:50 Stargazer_cykoi 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 传送门可以发现对于一个集合内的数无论怎么操作都只会改变这些数的相对位置,而补集没有一点变化所以我们要求所有非集合的数必须是单调递增的(否则无论怎么操作都不能满足有序)则集合内的数要单调递减则我们要求的是字典序第kkk小的最长下降子序列对偶转换就变成了求字典序... 阅读全文
posted @ 2019-01-30 01:47 Stargazer_cykoi 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 传送门仔细回忆一下是怎么求最长递增子序列的?我们发现对于当前第iii位,用f[i]f[i]f[i]表示以iii为结尾的最长上升子序列的长度再用一个cntcntcnt表示数量那么当前f[i]=max(∑j=1nf[j]),cnt[i]=∑f[j]=f[i]cn... 阅读全文
posted @ 2019-01-30 01:34 Stargazer_cykoi 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 传送门简单模拟题考虑到每结束一个人都会直接从剩下的人里挑操行分最高的一个所以我们用一个优先队列按操行分存一下将来的时间排下序模拟一下就可以了,注意细节和分类讨论#includeusing namespace std;#define int long long... 阅读全文
posted @ 2019-01-30 01:20 Stargazer_cykoi 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 传送门dpdpdp简单题,才不是因为我去打答案的表才没去想正解呢考虑一个四维dpdpdpf[pos][i][j][k]f[pos][i][j][k]f[pos][i][j][k]表示当前处理到pospospos,三种颜色分别最近一次出现的位置是i,j,ki,... 阅读全文
posted @ 2019-01-30 01:15 Stargazer_cykoi 阅读(111) 评论(0) 推荐(0) 编辑