
真题
Absoler
这个作者很懒,什么都没留下…
展开
-
牛客多校graph games(部分分块+哈希)
https://ac.nowcoder.com/acm/contest/883/A 题目大意,给出一个无向图,设S(x)表示x的临近点集合,临近点即通过一条边直接相连的点。有两种操作,1是把边集合(读入顺序)从l到r的边状态反转(相连变断开,断开变相连),2是询问两个点的临近集是否相等。 这里首先涉及到的一个难点是如何表示临近集,我们采用异或哈希的方式,首先为所有点分配一个随机权值,这里用到了...原创 2020-04-26 11:59:41 · 305 阅读 · 0 评论 -
HDU6602线段树+思维
http://acm.hdu.edu.cn/showproblem.php?pid=6602 题意:给出一个1e5规模数列,数字范围也在1e5内,给出K,求最长子序列,使得序列中出现的任一数字都至少出现K次。 考虑枚举右端点,尺取法不好做,因为左端点没有简单的找法,,我们这样拆分问题:首先考虑每个数字的合法左端点的取法,易知对于数字a,若i出现不足K次,则左端点只能在最后一次a出现之后,即(最...原创 2019-10-19 21:14:36 · 229 阅读 · 0 评论 -
2016 北京 ICPC (部分)
I - A Boring Problem 题目大意 数列求和,其中每一项都是一个子段和的k次幂,例如: 给定原字符串为 “12345” 输出结果:1^k (1+2)^k+2^k (1+2+3)^k+(2+3)^k+3^k…… (1+2+3+4+5)^k+(2+3+4+5)^k+…+5^k 正常思路下,...原创 2018-07-17 18:35:28 · 494 阅读 · 0 评论 -
牛客网NOIP赛前集训营-普及组(第一场)
C 括号 题目大意:对于输入的一串括号“()))(()()((”,可以删去若干位(删除位置不完全相同时均算作两种操作),若想最终得到合法括号串,求共有多少种操作方法可选。 先说算法后解释: dp[i][j]表示,加入第i个元素后,能将前i个字符转化为有j个未配对左括号‘(’的方法数。 ...原创 2018-09-12 00:54:04 · 262 阅读 · 0 评论 -
一些数学知识补充
1 分数取模 需要对一个分数pq\frac{p}{q}qp取模时,若gcd(q,m)=1gcd(q,m)=1gcd(q,m)=1 则p∗q−1≡p×qm−2(modm)p*q^{-1} \equiv p\times q^{m-2}\pmod mp∗q−1≡p×qm−2(modm) 第二场A题,答案需令 1n−1\frac{1}{n-1}n−11 对 109+710^9+7109+7 取模...原创 2019-07-20 23:23:09 · 286 阅读 · 0 评论 -
单调队列
单调队列是一种在直觉上很容易想到的数据结构。有一个经典例子是滑动窗口问题,对于一串数字(长为n),存在一个在其上滑动的矩形窗(长为k),要求线性时间内求出每个窗口中的最大值。我们可以想见在窗口的每次右移后,新的最大值与原最大值会具有很密切的关系。我们可以设置一个单调减队列q,添加元素时从队尾添加,遇到比这个元素小的,全部剔除,因为这些元素既没有新元素大,位置又靠前,它们已经失去了“出场机会”。如果...原创 2019-07-26 18:09:32 · 124 阅读 · 0 评论 -
牛客多校2019——Big Integer——欧拉定理,质因数分解
题目链接 官方给的题解是这样的: 直接从别的博客复制过来了,有几点需要补充解释一下: d为满足的最小正整数,求它的目的是为了更方便的去求,因为它一定是d的倍数。 求g的时候,指数向上取整是为了保证j次方之后一定为d的倍数,当然大概率是会多乘几个质因数 强调k<=30这个界限是因为,在的极限情况下,k最多不会超过30,2^30=1073741824。而在这之...原创 2019-07-28 00:01:59 · 284 阅读 · 0 评论 -
字符串算法汇总
字符串哈希: 讲解 大意就是将字符串视为一个多位的数,用unsigned long long 保存,溢出可以视为对2^64取模。 回文树: 博客 另一篇博客 推荐配合OIWiki上的图食用 每个节点代表当前前缀的最大回文串后缀,next指向的是代表[通过前后加上一个新字符能得到的新回文串]的节点,suffix指向的是加入新字符后,该回文串的最大的回文后缀。有两个根,最终节点数...原创 2019-08-02 20:56:10 · 373 阅读 · 0 评论 -
Palindrome Mouse - 回文树 & dfs
这道题是牛客2019暑期多校第六场的C题,题目链接 大意是,给出一个字符串,对于它所有的回文子串,若其中某个是另一个的子串,则视其为一对,求总对数。 看到回文子串就想到了回文树。简单回顾一下,回文树每个节点代表以当前字符结尾的最长回文子串,next指向前后添上某个字符后更大的那个子串,fail(suffix)指向当前子串的最长回文后缀。初步的想法是,对于某个节点,它fail链上的所有节点以及反...原创 2019-08-14 19:14:19 · 168 阅读 · 0 评论