
构造
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
csp模拟 命令方块【结论】【排序】
传送门求出一组字符串的排列满足对于任何三元组i<j<k,lcp(s[i],s[j])>lcp(s[i],s[k]),lcp(s[k],s[j])>lcp(s[k],s[i]).正经的证明是后缀数组。但我们可以感性理解这个结论:按字典序排序即可。感性理解:想象一个trie树。很明显,lcp长度是lca的深度。而lca越深,意味着这两个串的排名越接近。所以我们需要构...原创 2019-11-12 17:20:54 · 167 阅读 · 0 评论 -
csp模拟 药品试验【数学题】
传送门是的,这是个数学题。推导的题。以下证明来自luoyijie聚聚由概率和为1得令d为p的差分数组,即令则,而所以你就可以直接算了。#include<bits/stdc++.h>using namespace std;#define int long longint x,y,z,n,a,b;const ...原创 2019-11-08 20:03:53 · 260 阅读 · 0 评论 -
csp模拟 我的订书机之恋【树形结构】【哈希】
传送门事实上标题给的是两种做法。正解:一个合法答案只能是最小答案或者由两个答案子区间并集构成。(否则肯定会叉出去)那就有一个天然树形结构,用单调栈维护f_r表示右端点r最近的合法答案位置。令r向f_r连边,l向f_{l-1}连边。(当然,上述连边是反向的)倍增lca的深度-2就是答案,记得特判两个点相同的情况。#include<bits/stdc++.h>...原创 2019-11-06 20:14:49 · 304 阅读 · 0 评论 -
【bzoj2259】新型计算机【最短路建模】
传送门好题。调整一格代价1,我们就从调整的角度入手。很明显,我按照输入去做,什么代价也没有。也就是说,我从i向i+a[i]+1连边,代价为0。反之,挪一位代价为1。那我们只要把所有调整边都建出来就行。也就是说向前最多到i,向后最多到n+1。注意如果i+a[i]+1>n+1,直接向n+1连i+a[i]-n的边。利用最短路性质求最小代价。#include...原创 2019-10-28 17:10:19 · 169 阅读 · 0 评论