• 十二省联考2019


    异或粽子(可持久化Trie、堆)

    超级钢琴+可持久化Trie???HNOI D1T1怎么不出这种送分题啊

    代码

    字符串问题(SAM、记搜)

    一切字符串问题用SAM就完事了

    把原串reverse,这样“某个(A)串是前面的(A)串支配的(B)串的前缀”的条件变成了后缀。而以某个串为后缀的串在SAM的fail树上体现为它的子树。所以我们可以在fail树上,每个点向其儿子连边,对于一个支配关系,(A)串对应状态向(B)串对应状态连边。这样原图的所有关系就体现为了一张图。判一下环、记搜求一下最长路即可。

    注意一点:“(A)串对应状态向(B)串对应状态连边”有可能会导致当前(A)串加入之后,会加入一个长度小于(B)串长度,但是和(B)串在SAM上处于同一状态的(A)串;也有可能存在两个不同的(A)串在同一个状态,有可能导致算错贡献。解决的方法就是在连边之前拆SAM上的点,让这两种情况不会出现,也就是让这两种情况对应的串处于不同的状态。

    最开始沙雕了,想着对dfn序线段树优化连边,然后常数就大了很多……

    代码

    骗分过样例(???)

    1_998244353就是(19^n mod 998244353)

    1?的模数看起来就很小,直接暴力

    1?+询问的(n)不是很大,把所有询问的(n) sort一遍,发现最近的两个(n)相差为(2),用这两个询问+暴力质因数分解就可以得到模数

    1wa_998244353的本质是暴力算快速幂然后爆了int。我也不知道怎么发现的有一个长度约为50000的循环节,直接预处理循环节和循环节之前的部分。

    2p是判断质数,Miller_rabin即可

    2u是计算莫比乌斯函数,暴力Pollard_rho只能过第一个点……

    筛出(10^6)范围内的质数,每一次询问将所有数的(10^6)范围内的质因子的贡献全部计算掉,那么剩下有贡献的部分只有三种情况:(p,p^2,pq(p , q in Prime))。对于(p)直接Miller_rabin,对于(p^2,pq)求一下平方根

    PS:这里的Miller_rabin只用(24251)做二次探测都可以过是什么鬼

    2g是求原根,(998244353)直接暴力,对于(2*3*5*7*11*13*19*23+1)考虑:先求出一个原根(g),把所有数(x)表示为(g^y)的形式,那么如果(x)是原根,那么(gcd(x , 2*3*5*7*11*13*19*23) = 1)

    2g+有一个模数不晓得,或许可以暴力求?鬼知道5h暴力能不能求出来

    代码

    皮配(背包)

    50pts很简单,设(dp_{i,j,k})表示考虑了前(i)个学校,蓝阵营(j)人、鸭派系(k)人的方案数,同一个学校一起转移。复杂度(O(TNM^2))

    对于(k=0)的情况,因为选择阵营和选择派系之间是独立的,选择哪个阵营不会影响选择哪个派系,反过来也一样。所以总方案数等于分配派系的方案数×分配阵营的方案数,两个分别背包一下。

    (k=30)时,会有(30)个城市在选择了阵营之后有某些学校不能选择某一个派系,而没有限制的城市跟(k=0)相同。我们可以把这(30)个城市单独拿出来做50pts的DP,对于其他的做k=0的DP。

    但是如果这(30)个城市的人数总和很大,复杂度仍然难以接受。但是注意到:对于有限制的城市中没有限制的学校,选择派系跟选择阵营仍然是无关的,所以并不需要在50pts的暴力做法中记录,而是可以放在k=0的DP中计算贡献。

    所以设(f_{i,j,k})表示考虑了前(i)个有限制的城市,这些城市的所有学校中选择蓝阵营的人数为(j),这些城市有限制的学校中选择鸭派系的人数为(k)的方案总数,(g_{i,j})表示考虑了前(i)个没有限制的城市,选择蓝阵营的总人数为(j)的方案数,(h_{i,j})表示考虑了前(i)个没有限制的学校,选择鸭派系的总人数为(j)的方案数。

    (f)的转移先枚举当前城市选择哪一个阵营,再对于有限制的学校考虑选择派系。而有限制的城市中无限制的学校选择派系的贡献则放入了(h)中进行计算。

    最后统计答案只需要枚举(f_{i,j,k})中的(j,k),这样(g)(h)的有效转移对应一段区间,前缀和一下。总复杂度(O(T(10K^2M + NM)))

    代码

    春节十二响(贪心、启发式合并)

    一条链的贪心就是:把元素放进两个堆里,每一次从两个堆里弹最大值,类似于启发式合并

    然后把它放到树上就可以了

    代码

    希望

    题解传送门

  • 相关阅读:
    关于C#静态函数什么时候被调用的问题
    Visual Studio调试之断点技巧篇
    使用MPLex实现语法高亮显示的功能
    Generate Ellipsoid画椭球用MATLAB
    matlab学习
    12.17 V155 Q169. 机经加感悟。
    GRE阅读
    Matlab7.0程序启动后自动退出问题
    远程打开MATLAB
    Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
  • 原文地址:https://www.cnblogs.com/Itst/p/10694453.html
Copyright © 2020-2023  润新知