ICode9

精准搜索请尝试: 精确搜索
  • 字符串 后缀自动机 lgP5341题解2022-01-10 16:01:07

    SAM一道很裸的题。。。 题意很明确,不再阐述。 做法很简单:找到所有出现次数为 \(k\) 的子串,然后统计。 怎么找到这些字符串呢?SAM 只能找出等价类啊。 注意 parent tree 的父亲节点的长度 +1 即该等价类中长度最短的字符串,那么若我们先通过拓扑排序求出每个等价类在原串中出现次次数

  • [清华集训2016] Alice 和 Bob 又在玩游戏2021-12-31 08:34:42

    \(\text{Solution}\) 第一道有向图 \(SG\) 函数的博弈论 有根树,设 \(f[x]\) 表示以 \(x\) 为根子树的 \(SG\) 值 对于分裂的图的 \(SG\) 值为每个小联通图 \(SG\) 的异或值 考虑每次操作后形成的图的 \(SG\) 值,这些为原图的可达状态 那么 \(f[x]\) 就是这些值的 \(mex\) 为方便转

  • CF1006E - Military Problem(搜索技术+图论+树/省选级)2021-12-21 22:04:55

    CF1006E - Military Problem(源地址自⇔CF1006E) 目录CF1006E - Military Problem(源地址自⇔CF1006E)Problemtag题意思路AC代码(伪代码)错误次数 Problem tag ⇔搜索技术、⇔图论、⇔树、⇔省选级(*1600) 题意 军队传递消息依照某种规律,如下: 消息的传递总是以树的形式,从上级层层下传,传

  • luogu P5631 最小mex生成树2021-12-17 08:00:33

    https://www.luogu.com.cn/problem/P5631 类似SUM那题 挖掉某一块后看是否还是能构成生成树 考虑分治,用按秩合并并查集来维护联通性 code: #include<bits/stdc++.h> #define N 2000050 using namespace std; struct E { int u, v, c; } e[N]; int cmp(E x, E y) { return

  • 学习笔记:树上启发式合并(dsu on tree)2021-12-10 23:05:36

    DSU on tree ! 解决树上问题的利器,复杂度虽然没有长链剖分优秀,不过思考简单而且代码优美,是树上维护答案的好帮手。 例题:DSU on tree 应用范围 解决一些子树的离线静态问题,巧妙地将暴力 \(O(n^2)\) 的复杂度优化到 \(O(nlogn)\)。 算法思路 回溯整棵树维护子树大小以及重儿子,为后

  • AT4995 [AGC034E] Complete Compress2021-12-09 20:01:58

    https://www.luogu.com.cn/problem/AT4995 枚举最后移动到的那个点,然后考虑DP 设 f [ u ] f[u] f[u]表示以

  • Solution -「CTS 2019」「洛谷 P5404」氪金手游2021-12-04 18:02:27

    \(\mathcal{Description}\)   Link.   有 \(n\) 张卡牌,第 \(i\) 张的权值 \(w_i\in\{1,2,3\}\),且取值为 \(k\) 的概率正比于 \(p_{i,k}\)。依照此规则确定权值后,你不停抽卡,每次抽到第 \(i\) 张卡牌的概率正比于 \(w_i\),直到所有卡都被抽过至少一次。   此后,记 \(t_i\) 表示

  • noip模拟832021-11-13 07:31:33

    noip模拟83 今天的4个题有3个数据是错的,就nm离谱,冲了T1的正解,T2部分分少取了个模数少了30。。。 最后100+30+30+0 T1 两种做法,一种是直接维护区间加和以及区间乘机%大质数,另一种直接维护多重集hash,数剖实现一下就行了 #include<bits/stdc++.h> #define ll long long using namespa

  • noip模拟832021-11-12 20:34:29

    noip模拟83 solutions 真难,真难,真难,难死我了!!! 所以我啥时候可以\(AK\)一次啊??? 今天好多自己应该会的但是没有做出来。。。 T1 树上排列 这就是一个可重集哈希大板子题,可是我竟然忘记了!!?? 考场上一直想着要用线段树判重,害,真脑残!。。 所以我莫名其妙的开发了一个序列判重的办法 直接\(se

  • 多校冲刺 noip 11.102021-11-11 07:31:10

    多校冲刺 noip 11.10 仍然是不太行,又挂分了,不爽 T1 开挂 最后的数字集合是一定的 直接用\(set\)维护数字集合,尽量找最近的匹配,可以让小的变化大些 我考场上怕被卡常,还写了一个链表版的 set #include<bits/stdc++.h> using namespace std; #define int long long #define fo(i,x,y

  • [HDU6643] Ridiculous Netizens2021-11-09 11:01:46

    一、题目 点此看题 有一棵大小为 \(n\) 的无根树,问有多少个连通块的点权之积小于等于 \(m\) \(n\leq 2000,m\leq 10^6\) 二、解法 不难想到树上背包的做法,但是因为乘法并没有适于背包的性质所以直接 \(\tt T\) 飞了(我还抱有幻想写过一发) 再深层地往下想其实是乘法不支持合并,那么我

  • P3224 [HNOI2012]永无乡(合并线段树)2021-11-07 19:31:34

    Jisoo 这是一种叫线段树合并的东西。 为了简化,我们需要动态开点。 并且一开始为每一个节点建一个线段树,当然是动态开点的 然后合并就行了,相同的线段树节点加起来,只有一个有的就返回另一个 记一个根,并且并查集一下。 #include<cstdio> #include<iostream> #include<cstring> #inclu

  • CF1286E Fedya the Potter Strikes Back2021-11-06 22:02:09

    \(\Large\texttt{CF1286E Fedya the Potter Strikes Back }\) 期望理论复杂度是 \(\mathcal O(n\alpha(n))\),理论上是吊打了表算,但是好像实际并不优于一些 \(\mathcal O(n\log n)\) 的提交。 思路 对于我们需要动态维护的这个答案,先做个归类,将所有有贡献的区间 \([L, R]\),令其为点

  • 2021-11-06 NOIP多校联考总结2021-11-06 14:01:52

    2021-11-06 NOIP多校联考总结 1.时间安排分析题目:7:40---7:49T1:7:49---9:33T2...T3:9:34---12:06T4... 1.时间安排 分析题目:7:40—7:49   大概看完了题目,T4好像是原题?!,先去写T1,因为T2期望还有T3的DP(?)都不好写 T1:7:49—9:33   7:49—9:33 T1存储所有ATK大

  • 洛谷 P5018 [NOIP2018 普及组] 对称二叉树(树哈希)2021-10-31 11:02:13

    传送门 传送门 判断节点u的子树是否是对称二叉树的方法: 判断hash1[l[u]]是否等于hash2[r[u]]。 其中hash1中存的是按照根左右的顺序的哈希值,hash2存的是按照根右左顺序的哈希值。 当两个hash值相等时,即为对称二叉树。 单哈希和双哈希貌似都不太稳定,而用自然溢出即可AC本题。 AC代

  • 21.10.27模拟 P4157 [SCOI2006]整数划分2021-10-27 21:34:13

    证明见luogu,我是打表发现这个规律的。但是这个规律也很显然吧。任何大于5的自然数都可以拆成若干个2,3的和,拆成2,3再乘肯定更大 namespace solve { int num2, num3; const int Len = 1007, W = 1000000000; struct hp { lxl x[Len]; int siz; inline void trim() { wh

  • 文艺平衡树【模板】【Splay】2021-10-27 20:34:04

    >Link luogu P3391 >Description 给你一个初始为 1 ~ n 的序列 不断对一些区间进行翻转操作 输出最终的序列 >解题思路 放放其他大佬的Splay讲解 orz 这里简单说一下Splay: 相对于treap,不用用随机数(大家都知道随机数这种东西就是看rp的嘛);两者都是二叉查找树(好像是废话 然后

  • 洛谷 P1533 可怜的狗狗2021-10-16 08:00:45

    Description 洛谷传送门 Solution 这道题似乎能用很多种方法来做,我用的 \(fhq-treap\)。 本来我想的是维护两只平衡树,一个用来找区间,另一个来找区间最大值。 想了一会发现想假了。这样做完全不对。 于是去题解区看了一眼题解,发现似乎可以用莫队来做,但是没找到 \(fhq-treap\) 的题

  • [考试总结]ZROI-21-NOIP-CSP7连-DAY6 总结2021-10-10 18:31:07

    #T1 聚会 #题意简述 给定一个长度为 \(n(n\leq5\times10^5)\) 的 01 串,一个位置 \(x\) 的价值为 \(x\) 到离它最近 1 的距离,问价值和。多组数据。 #大体思路 从两个方向分别扫一遍即可。 #Code #define ll long long const int N = 5e5; const ll INF = 1e12; char s[N]; int t,

  • NOIP模拟712021-10-08 10:01:56

    T1 签到题 解题思路 每个点的度数对于 \(c\) 取 \(\bmod\) 有余数答案的贡献就加一。 证明太难,略。。。。 code #include <bits/stdc++.h> #define int long long #define ull unsigned long long #define f() cout<<"Failed"<<endl using namespace std; inline int read() {

  • P3412 仓鼠找sugar II 题解2021-10-07 19:03:45

    P3412 仓鼠找sugar II P3412 仓鼠找sugar II 根据期望的线性性质我们考虑对于每一条边进行计算贡献。 我们可以考虑先算方案数再除以总的点对。 根据期望的定义本质上就是平均数,那么对于一条边 u →

  • CF1578 J2021-10-07 14:03:52

    题目 树上每个节点都有自己的需要权值,\(0\) 号点为根与源点,每次从 \(0\) 号点发 \(d\) 的权值,一个点接到权值之后会查看自己的儿子:如果有儿子还没有被满足,那么就会将权值平分给没有被满足的儿子。否则如果自己没被满足,就给自己留下权值,如果自己已经满足了,就把多余的权值返还给父亲

  • 大鱼吃小鱼(fhq-treap/线段树二分+贪心)2021-10-06 19:59:18

    大鱼吃小鱼 descriptionsolutioncode description 《大鱼吃小鱼》是一款经典的儿童益智类游戏,在游戏中,玩家所操控的“大鱼”只能吃掉体积严格小于自己的“小鱼”,然后玩家所操控的“大鱼”的体积就会增加“小鱼”的体积这么多的量。 知名主播 Bychaha 是《大鱼吃小鱼》这

  • 10月4日模拟赛题解2021-10-06 18:03:41

    T1 码灵鼠 \text{T1 码灵鼠} T1 码灵鼠 Description \text{Description} Description 对于数列

  • HDU6138 Fleet of the Eternal Throne (GSAM)2021-10-04 11:01:22

    HDU6138 Fleet of the Eternal Throne Mean 给定\(n\)个字符串,\(m\)次询问\((m<=100)\),每次询问第\(L\)个字符串和第\(R\)个字符串的所有公共子串中,最长的公共子串,满足其是\(n\)个字符串中任意一个的前缀,输出其最长的长度。 Sol GSAM 注意到\(m\)只有100,每次暴力的将询问的\(L\)串

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有