上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 65 下一页
摘要: 很久以前写过二分答案离线的做法,比较好理解。事实上这还是一个线段树合并+分裂的板子题,相比离线做法以更优的复杂度做了更多的事情。具体不说了。怎么交了一遍luogu上就跑第一了啊 阅读全文
posted @ 2019-01-01 13:27 Gloid 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 显然的做法是求出斯特林数,但没有什么优化空间。 考虑一种暴力dp,即设f[i]为i块积木的所有方案层数之和,g[i]为i块积木的方案数。转移时枚举第一层是哪些积木,于是有f[i]=g[i]+ΣC(i,j)·f[i-j],g[i]=ΣC(i,j)·g[i-j] (j=1~i)。 考虑优化 。我们发现这 阅读全文
posted @ 2019-01-01 01:24 Gloid 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 场外选手赛时只口胡出了CD感觉非常惨。只看了E并且还没看到题面里的wiki我能咋办 C:f只与gcd(n,k)有关。 D:考虑每种起始位置,对于跨越的两个排列,只有前一个排列的后缀单减时不产生贡献。答案就非常显然了。注意最后+1,因为这样没考虑n~1的排列。 E:根据题面给出的定理,n+1号点度数增 阅读全文
posted @ 2018-12-31 22:02 Gloid 阅读(153) 评论(0) 推荐(0) 编辑
摘要: A:阅读。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long 阅读全文
posted @ 2018-12-29 22:56 Gloid 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 考虑枚举相邻点距离差的比例。显然应使比例值gcd为1以保证不重复统计。确定比例之后,各维坐标的方案数就可以分开考虑。设比例之和为k,则若坐标上限为m,该维坐标取值方案数即为Σm-ki (i=1~⌊m/k⌋),也即⌊m/k⌋·m-k·(⌊m/k⌋+1)·⌊m/k⌋/2,设其为f(m,k)。总方案数即将 阅读全文
posted @ 2018-12-28 12:36 Gloid 阅读(149) 评论(0) 推荐(0) 编辑
摘要: NOI2018冒泡排序的一个子问题。 阅读全文
posted @ 2018-12-27 21:23 Gloid 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 打表可以发现相当于不存在长度>=3的递减子序列。 考虑枚举在哪一位第一次不卡限制。注意到该位一定会作为前缀最大值。判掉已确定位不合法的情况后,现在的问题即为求长度为i、首位>j的合法排列个数,设其为g[i][j]。 由于首位>j,1~j在排列中一定依次出现,并且在j出现之前,>j的部分也一定单增。于 阅读全文
posted @ 2018-12-27 21:19 Gloid 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 显然multiset求出每次用哪把剑。注意到除了p=1的情况,其他数据都保证了ai<pi,于是先特判一下p=1。比较坑的是还可能存在ai=pi,稍微考虑一下。 剩下的部分即解bix≡ai(mod pi)方程组。没有保证模数互质,于是excrt一发。excrt实际上就是不停exgcd合并两个方程。 这 阅读全文
posted @ 2018-12-26 22:13 Gloid 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 按海拔从大到小合并建出kruskal重构树,这样就能知道开车能到达哪些点,对这些点到1的最短路取min即可。最难的部分在于多组数据的初始化和数组大小的设置。 阅读全文
posted @ 2018-12-26 01:54 Gloid 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 即求b串有多少个本质不同的非空子串,在a串的给定区间内未出现。即使已经8102年并且马上就9102年了,还是要高举SA伟大旗帜不动摇。 考虑离线,将所有询问串及一开始给的串加分隔符连起来,求出SA。对于每个询问,我们对串的每个后缀,求出其在给定区间中最长的lcp是多少。这样就能得到不考虑本质不同时的 阅读全文
posted @ 2018-12-25 21:56 Gloid 阅读(486) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 65 下一页