自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1341)
  • 收藏
  • 关注

原创 2022山东省赛 B - Minimum Expression(dp)

题目链接:点击查看题目大意:给出一个长度为 nnn 的仅由数字 1−91-91−9 组成的字符串,问恰好添加 mmm 个加号后,等式的最小值是多少题目分析:不需要考虑前导 000,而且仅有加号,不难想到很经典的 dp[i][j]dp[i][j]dp[i][j],代表前 iii 个位置,划分了 jjj 段后的最小答案,转移方程也是经典的 dp[i][j]=min0≤k<i(dp[k][j−1])dp[i][j]=min_{0\le k < i}(dp[k][j-1])dp[i][j]=min0

2022-05-24 21:47:50 881 10

原创 GIT关于本地仓库从远程仓库 pull 的几个问题

在提出问题之前需要理解一下 pull 的底层原理,可以参考这篇博客:详解git pull和git fetch的区别然后提出几个在学习时的疑问,以及自己的理解(有些情况我没有实践,如有理解错误麻烦大牛指出):如果从远程仓库 pull 到本地仓库的话,会不会覆盖工作区?答:工作区是会被覆盖的,所以在 pull 之前需要将未完成的工作存到 stash 中,避免被覆盖。不过一般情况都是需要 push 的时候才会 pull,在 push 之前显然都会 commit ,所以这种情况发生的概率不大。为什么 p

2022-05-08 15:37:43 1652 3

原创 2022字节pico软件开发实习生面经 一面+二面+hr面(已offer)

四月中旬才意识到金三银四已经快结束了,收收心,准备了一下简历海投了好多大厂。不过到目前为止只有pico给了面试的机会,其他的大部分公司只给了笔试的机会。一开始觉得 pico 被字节收购了,而且在青岛刚好还有公司,天时地利人和,这不是实习的好机会嘛,然后就投了简历。没想到当天简历就被安排去评估了,不过评估了好几天,我看一直没动静,就让斌巨帮我联系了一下负责人。4.19(周一)下午催了一下 HR,立马就给我把简历过了,然后约了一面时间 4.22(周五)一面(46min)总之就是自我感觉良好(除了校园网),

2022-04-29 17:57:45 7022 20

原创 蓝桥杯 - 试题 H: 扫雷(思维)

题目大意:给出 nnn 个地雷和 mmm 个炸弹,都以 (x,y,r)(x,y,r)(x,y,r) 的形式给出,意义分别如下:对于每个地雷,位于点 (x,y)(x,y)(x,y),爆炸后会波及半径为 rrr 的圆形区域对于每个炸弹,会在点 (x,y)(x,y)(x,y) 爆炸,爆炸后会引爆半径为 rrr 的圆形区域内的地雷,随后地雷会 “连锁反应” 的爆炸问使用过 mmm 个炸弹后,一共可以引爆多少个地雷题目分析:(赛时读错题了,怪不得当时算复杂度的时候能多算一个 logloglog 出来).

2022-04-09 23:59:40 3114 8

原创 蓝桥杯 - 试题 J: 砍竹子(双向链表+堆/思维)

题目大意:给出一排 nnn 个竹子的高度,每次操作可以选择连续的,高度相同的竹子,使其高度变为 ⌊⌊H2+1⌋⌋\lfloor \sqrt{\lfloor \frac{H}{2}+1\rfloor} \rfloor⌊⌊2H​+1⌋​⌋,问最少需要执行多少次操作可以使得所有竹子都变成 111题目分析:最朴素的思路就是去模拟,赛时想到的也是这个思路,但是没时间去写了,就打了个 O(n2logn)O(n^2logn)O(n2logn) 的暴力骗了点分首先需要知道每次操作的一个性质,根号和除以二相结合,使得.

2022-04-09 21:00:43 1961 1

原创 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)

题目链接:点击查看题目大意:给出一个含有 nnn 个点的无向图,点权为一个字符串,每条边的边权为相邻两点的 LCSLCSLCS,本题的 LCSLCSLCS 定义为两个字符串的最长公共子串的长度求出这个无向图中的一个生成树,使得边权之和最大题目分析:多个字符串的子串问题,考虑广义后缀自动机首先将 nnn 个字符串扔到广义后缀自动机里去,顺便记录一下每个字符串在哪些节点中出现,然后按照子串长度做最大生成树就可以了。现在问题是,如果要将每个字符串所出现的节点都表示出来,会 TLE,原因是前缀的后缀太多了

2022-04-03 21:36:52 1275

原创 如何使用git for windows上传文件到git仓库

背景自己搭了个基于 gitea 的 git 仓库,但是在上传项目时发现一次最多只能上传五个文件,且目录结构无法正确识别,如果想要修改或删除的话非常麻烦需求对 git 仓库中的项目方便的进行增、删、改等操作正文参考:使用git将项目上传到github(最简单方法)HEXO个人博客发布遇到问题,hexo d错误:fatal: unable to auto-detect email address首先需要下载一个很好用的小插件,叫 git for windows 直接百度就可以搜到官网,但是下载速

2022-02-17 12:51:40 721

原创 威联通NAS通过宝塔面板实现域名统一端口访问

背景家用的宽带是联通的,自带公网 IP ,但是封锁了 80 端口和 443 端口,无法隐藏端口进行访问。因为前段时间一直在给 NAS 增加服务,都是通过公网 IP + 端口的形式通过路由器的端口映射访问服务,随着服务逐渐增多,端口名越来越乱,脑子快记不过来了需求能否通过不同域名的相同端口实现对不同服务的访问呢?比如我令 blog.xxx.xyz 和 git.xxx.xyz 两个域名都解析到我的公网 IP 上,但是 blog.xxx.xyz:8080 访问的是我自己的博客,而 git.xxx.xyz:8

2022-02-12 10:04:30 6685

原创 威联通NAS实现定时任务

百度搜到的教程本质上都是,“威联通底层就是Linux系统,可以通过ssh直接访问进入,然后利用crontab命令设置定时任务”乍一看没什么问题,但通过ssh访问进入的,是nas的固件,一不小心操作失误删掉了什么不该删的东西(比如我),就只能恢复出厂设置了所以有什么既安全又能经得起我们折腾的地方呢?既然我们需要一个Linux内核的操作系统使用crontab命令,那么在Container Station里直接用docker开一个ubuntu就可以了优点是可以尽情折腾,但缺点是每次重启后,容器也会重启,需要

2022-02-10 16:51:39 5627 1

原创 威联通NAS配置1.18.1Minecraft服务器

参考:威联通NAS使用Container搭建我的世界服务器,带网页管理面板Ubuntu下怎么退出vim编辑器我的世界MCSM面板搭建关于威联通nas开mc服务器的网上教程甚少,写篇博客预防日后忘记我的nas是TS-453Dmini,4核8G内存前置准备:有公网IP(没有公网IP需要内网穿透,会增加延迟)光猫改桥接模式,路由器可以实现端口映射正文Minecraft服务器的本质就是用一台电脑持续运行服务端,所以我们的处理思路就是在nas中开一个虚拟机一直运行服务端。刚好可以用威联通的Co

2022-02-10 16:00:39 3432 2

原创 2021ICPC(沈阳) - String Problem(后缀树+贪心)

题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串 sss,对于每个前缀来说,求出字典序最大的子串。题目分析:看到子串的字典序,感觉能用后缀树来做,参考了一下大佬的赛上代码: 香港中文大学(深圳)- 新手上路需要观察出本题的一个结论就是,答案一定是一个前缀的后缀,所以我们只需要求出每个答案子串的左端点即可。按照套路,对原串建立后缀树,按照字典序跑出 dfs 序 dfndfndfn,顺便维护一下每个节点首次出现的 endposendposendpos 。然后就可以用优先队列贪心了。记前缀

2021-11-22 18:36:57 839

原创 CodeForces - 1607D Blue-Red Permutation(贪心)

题目链接:点击查看题目大意:给出一个长度为 nnn 的数列,每个数字有一个颜色,如果是蓝色,每次操作则可以减一;如果是红色,每次操作则可以加一。问有限次操作后,能否将数组变为一个长度为 nnn 的排列。题目分析:第一次做的时候用 multiset 乱搞过了,但感觉不算正解,看了题解后发现这不就是经典的一个贪心套路:区间和数字的最大匹配问题。先将区间按左端点排序,再将数字从小到大排序,然后用优先队列控制区间右端点是否过期就可以了。代码:// Problem: D. Blue-Red Permuta

2021-11-11 21:22:25 543

原创 CodeForces - 1593G Changing Brackets(思维)

题目链接:点击查看题目大意:给出一个长度为 nnn 的括号序列,其中包含了 {(,),[,]}\{(,),[,]\}{(,),[,]} 四种括号,现在可以进行两种操作:将括号反转,代价为 000,比如 [[[ 变为 ]]],))) 变为 (((将中括号变为小括号,代价为 111,比如 [[[ 变成 (((给出 qqq 次询问,每次询问需要回答使得区间 [l,r][l,r][l,r] 中的括号序列合法的最小代价。题目分析:因为反转括号是没有代价的,所以只需要关心括号的个数即可。手玩一下样例不难

2021-11-10 22:07:30 393

原创 2021CCPC(桂林) - Suffix Automaton(后缀树+线段树)

题目大意:给出一个长度为 nnn 的字符串,再给出 mmm 次询问,每次询问需要输出本质不同第 kkk 小的子串的起止位置。如果有多个答案,输出起点最小的那个。本题规定字符串大小的比较规则如下:首先按照长度排序长度相同的情况下,按字典序排序题目大意:首先还是利用后缀自动机将后缀树建出来,此时长度为 ddd 的本质不同的子串,可以用深度为 ddd 的所有节点集合表示出来。因为后缀自动机上的边都是压缩过后的,所以每条边代表的实质上是一个连续区间的子串。所以我们需要枚举深度 ddd,利用差分数.

2021-11-09 18:22:44 1430 6

原创 HDU - 5008 Boring String Problem(后缀树求本质不同第k大子串)

题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串,再给出 mmm 次询问,每次询问需要输出本质不同第 kkk 小的子串的起止位置。如果有多个答案,输出起点最小的那个。强制在线。题目分析:后缀树的模板题,在后缀树上按照字典序前序遍历维护一下前缀和(子串个数),然后对于每次询问就可以二分查找答案在哪个节点了。那么如何求后缀树呢?其实只需要将字符串反转一下,然后扔到后缀自动机里,此时求出的 parentparentparent 树就是后缀树了。原理也十分简单,考虑 parentparentpa

2021-11-09 14:10:19 576

原创 CodeForces - 1579G Minimal Coverage(dp)

题目链接:点击查看题目大意:给出 nnn 个长度不同的木棍。设第 i−1i-1i−1 次放置木棍后的终点为 xxx,那么第 iii 个木棍有且仅有两种放置方法:放到 [x+1,x+a[i]][x+1,x+a[i]][x+1,x+a[i]],终点变为 x+a[i]x+a[i]x+a[i]放到 [x−a[i],x−1][x-a[i],x-1][x−a[i],x−1],终点变为 x−a[i]x-a[i]x−a[i]问如何放置可以使得被覆盖的端点数最少题目分析:读懂题后不难想到 2n2^n2n 去暴力

2021-11-08 18:32:27 300

原创 2021年中国大学生程序设计竞赛 女生专场 - 热身赛 Problem C. 口算训练(质因子分解)

题目分析:判断 xxx 是 yyy 的倍数,等价于质因子分解后, yyy 中的每个质因子的出现次数都小于等于其在 xxx 中的出现次数。那么对于每次询问 [l,r,d][l,r,d][l,r,d],实质上就是将 ddd 质因子分解后,判断一下每个质因子在区间 [l,r][l,r][l,r] 中的出现次数。问题转换为了如何快速求解区间内某个质因子的出现次数。因为本题的值域特别小,所以考虑按值域分块,⌊100000⌋=316\lfloor \sqrt{100000} \rfloor=316⌊100000.

2021-11-01 18:44:28 795 4

原创 2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)- 占座位(最小割)

题目大意:给出一个 n∗mn*mn∗m 的矩阵,每个格子都有两个权值 aaa 和 bbb,分别代表花费和收益。一个格子被占,当且仅当:格子上有人格子的上下左右都有人格子被占可以获得收益 bbb,格子上有人需要花费 aaa,问如何分配可以使得收益最高。题目分析:很经典,但我不会的一个模型。拆点最小割,首先棋盘问题不难想到奇偶拆点,在此基础上将每个点再拆一下用来维护 bbb,再加点无穷大的边用来调和 aaa:上图中 x1x_1x1​ 和 x2x_2x2​ 是奇数点的入点和出点, y1y_1y1

2021-10-31 20:55:01 689 4

原创 2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)- 分组(矩阵快速幂套NTT优化dp)

题目链接:点击查看题目大意:给出 nnn 个连续的小球,每次可以选择单独的一个或者相邻的两个小球分成一组,允许有剩余的小球,问恰好分成 k∈{1,2,3,⋯ ,m}k\in\{1,2,3,\cdots,m\}k∈{1,2,3,⋯,m} 组的方案数分别是多少。题目分析:设 dp[i][j]dp[i][j]dp[i][j] 为前 iii 个小球分成 jjj 组的方案数,不难推出:dp[i][j]=dp[i−1][j]+dp[i−1][j−1]+dp[i−2][j−1]dp[i][j]=dp[i-1][j.

2021-10-25 10:41:32 711 2

原创 CodeForces - 1567C Carrying Conundrum(思维/状压)

题目链接:点击查看题目大意:规定加法中使用隔项进位,问给定的 nnn 有多少种方案可以通过 “隔项进位加法” 得到题目分析:隔项进位意味着奇偶位置位置的数字互不影响,所以将两个数字拿出来,设为 aaa 和 bbb。不难看出组合出某个数字 xxx 的方案为 x+1x+1x+1,即 {0+(x),1+(x−1),⋯ ,x+(0)}\{0+(x),1+(x-1),\cdots,x+(0)\}{0+(x),1+(x−1),⋯,x+(0)}。所以总方案数为 (a+1)∗(b+1)(a+1)*(b+1)(a+1)∗

2021-09-06 20:28:49 307 2

原创 CodeForces - 287C Lucky Permutation(构造)

题目链接:点击查看题目大意:构造一个合法的排列,满足 ppi=n−i+1p_{p_{i}}=n-i+1ppi​​=n−i+1题目分析:因为第四个样例的存在降低了本题的难度,不然感觉还是有点难度的一道题。52 5 3 1 4观察上面的这个构造方法,不难看出可以令四个数组成一个环,这样当 nnn 只有是 444 的倍数或者余数为 111 时才有解,多出来的那个数放到中间就好啦一组合法的环:i→i+1→n−i+1→n−i→ii\rightarrow i+1\rightarrow n-i+1 \ri

2021-08-27 17:39:44 410

原创 CodeForces - 1562E Rescue Niwen!(dp)

题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串 sss,将其子串按顺序展开成序列,即 {s1,s1s2,⋯ ,s1s2…sn,s2,s2s3,s2s3…sn,s3,s3s4,⋯ ,sn−1sn,sn}\{s_1,s_1s_2,\cdots ,s_1 s_2 \ldots s_n,s_2,s_2 s_3, s_2 s_3\ldots s_n,s_3,s_3 s_4,\cdots,s_{n-1}s_n,s_n\}{s1​,s1​s2​,⋯,s1​s2​…sn​,s2​,s2​s3​,s2​s3​

2021-08-27 17:02:24 300

原创 CodeForces - 1562D2 Two Hundred Twenty One (hard version)(二分)

题目链接:点击查看题目大意:定义一个前缀和公式 a1−a2+a3−a4+…=∑i=1n(−1)i−1⋅aia_1 - a_2 + a_3 - a_4 + \ldots=\sum\limits_{i=1}^n (-1)^{i-1} \cdot a_ia1​−a2​+a3​−a4​+…=i=1∑n​(−1)i−1⋅ai​,再给出一个长度为 nnn 的序列,只包含 {−1,1}\{-1,1\}{−1,1},然后 qqq 次询问,每次需要回答最少删除多少个数字可以使得区间 [l,r][l,r][l,r] 的前缀和

2021-08-27 14:47:32 231

原创 CodeForces - 468C Hack it!(构造+数位dp)

题目链接:点击查看题目大意:求出一段区间 [l,r][l,r][l,r] 的数位和对 aaa 取模后为 000。更具体的,设 f(x)f(x)f(x) 为 xxx 的数位和,本题需要求出一对 [l,r][l,r][l,r] ,满足 ∑i=lrf(i)≡0(moda)\sum\limits_{i=l}^{r}f(i)\equiv0\pmod ai=l∑r​f(i)≡0(moda)题目分析:假设一个上界为 inf=10kinf=10^{k}inf=10k,则一个数为 xxx 且 x<infx<i

2021-08-26 21:25:40 228

原创 HDU - 5381 The sum of gcd(莫队/线段树区间合并)

题目链接:点击查看题目大意:给出一个长度为 nnn 的序列,再给出 mmm 次询问,每次询问需要回答区间 [L,R][L,R][L,R] 内所有子区间的 gcdgcdgcd 之和。更具体的,对于询问 [L,R][L,R][L,R],输出 ∑l=LR∑r=lRgcd⁡{al,al+1,⋯ ,ar}\sum\limits_{l=L}^{R}\sum\limits_{r=l}^{R}\gcd\{a_l,a_{l+1},\cdots,a_r\}l=L∑R​r=l∑R​gcd{al​,al+1​,⋯,ar​}题目

2021-08-26 18:48:18 219

原创 CodeForces - 1561E Bottom-Tier Reversals(构造)

题目链接:点击查看题目大意:给出一个长度为 nnn 的排列,每次操作可以选择一个奇数长度的前缀然后反转,需要构造一种方案,使得在不超过 5n2\frac{5n}{2}25n​ 次操作后使得序列有序题目分析:挺有意思的一道构造题,手玩几组样例后不难发现每个位置在反转后,下标的奇偶性是不发生改变的,所以可以大胆猜测如果奇偶性满足条件的情况下,是一定可以构造出答案的。因为每次反转的是前缀,反过来想后缀是不会受到影响的,所以不妨倒着构造,先将 nnn 的位置放好,再放 n−1n-1n−1 如此。又因为每次操

2021-08-25 21:25:07 186

原创 洛谷 - P3899 [湖南集训]谈笑风生(dfs序+主席树/二维数点)

题目链接:点击查看题目大意:设 TTT 为一棵有根树,我们做如下的定义:设 aaa 和 bbb 为 TTT 中的两个不同节点。如果 aaa 是 bbb 的祖先,那么称“aaa 比 bbb 更为厉害”。设 aaa 和 bbb 为 TTT 中的两个不同节点。如果 aaa 与 bbb 在树上的距离不超过某个给定常数 xxx,那么称“ aaa 与 bbb 彼此彼此”。给定一棵 nnn 个节点的有根树 TTT,节点的编号为 111 到 nnn,根节点为 111 号节点。你需要回答 qqq 个询问,询问给

2021-08-23 21:26:40 415 4

原创 洛谷 - P4390 [BOI2007]Mokia 摩基亚(带修二维数点-四叉线段树/CDQ分治)

题目链接:点击查看题目大意:给出一个二维平面坐标系,需要执行数次操作,具体操作分为下列两种:1 x y a:坐标 (x,y)(x,y)(x,y) 加上 aaa 个点2 x1 y1 x2 y2:查询以 (x1,y1)(x_1,y_1)(x1​,y1​) 为左下角、(x2,y2)(x_2,y_2)(x2​,y2​) 为右上角的矩阵中有多少个点题目分析:三种做法,但是树套树内存不太够,所以拿不了满分。剩下的四叉树跑的巨慢,cdq分治表现还算不错。因为写 cdqcdqcdq 的时候询问和加点并不会冲突

2021-08-23 18:41:58 355

原创 洛谷 - P2163 [SHOI2007]园丁的烦恼(不带修二维数点-树状数组/主席树)

题目链接:点击查看题目大意:二维平面坐标系中给出 nnn 个坐标点,然后是 mmm 次询问,每次询问需要回答一个闭合矩阵中有多少个点题目分析:想挂树套树来着,但是复杂度有点大。本题不带修且可以离线,考虑将一个询问拆成四个二维前缀和的表示形式,然后就可以排个序直接用树状数组统计啦有个小细节就是当 xxx 坐标相同时,需要先加点然后再询问代码:// Problem: P2163 [SHOI2007]园丁的烦恼// Contest: Luogu// URL: https://www.luogu.co

2021-08-23 14:17:35 341 2

原创 Gym - 101173H Hangar Hurdles(bfs+克鲁斯卡尔重构树)

题目链接:点击查看题目大意:给出一个 n∗nn*nn∗n 的矩阵,有些位置存在障碍物,现在有 qqq 次询问,每次询问给出两个点 st=(x1,y1),ed=(x2,y2)st=(x1,y1),ed=(x2,y2)st=(x1,y1),ed=(x2,y2),需要回答从 ststst 开始推箱子,可以推到 ededed 的最大箱子的边长是多少题目分析:首先不难想到预处理出以每个点为中心时,可以放置箱子的最大边长,可以通过二维前缀和+二分的思路在 O(n2logn)O(n^2logn)O(n2logn) 的

2021-08-23 11:21:15 293

原创 CodeForces - 888G Xor-MST(贪心+字典树+最小生成树)

题目链接:点击查看题目大意:给出 nnn 个点,任意两个点之间的边权为 ai⊕aja_i\oplus a_jai​⊕aj​,求最小生成树题目分析:去年多校写过一样的模型,再拿出来写一遍回顾一下:牛客多校5 - Graph时间复杂度 O(nlog2n)O(nlog^2n)O(nlog2n),一层 logloglog 是字典树带着的,第二层 logloglog 是需要在子树中查询异或值最小代码:// Problem: Xor-MST// Contest: Virtual Judge - CodeFo

2021-08-22 17:19:00 194

原创 UOJ - #117. 欧拉回路(模板)

题目链接:点击查看题目大意:给出一个 nnn 个点 mmm 条边的图,可能是有向图或无向图,求一条欧拉回路题目分析:有个小坑点就是图必须是联通的代码:// Problem: #117. 欧拉回路// Contest: UOJ// URL: https://uoj.ac/problem/117// Memory Limit: 256 MB// Time Limit: 1000 ms// // Powered by CP Editor (https://cpeditor.org)// #

2021-08-22 16:15:26 166

原创 Kattis - icpccamp ICPC Camp(二分+贪心)

题目链接:点击查看题目大意:给出两种种类的数字分别 m1m_1m1​ 和 m2m_2m2​ 个,现在要求匹配 nnn 个不同种类的数字,每个数字只能使用一次,且两数之和不能超过 sss,输出任意两对数字之差最大值的最小值题目分析:首先二分答案将最值问题转换为检验问题。假如差值确定后,每个数字就会出现一个可匹配的区间,设数字为 xxx,差值为 ddd,则其可以匹配另一种类的数字区间为 [x−d,min⁡(x+d,s−x)][x-d,\min(x+d,s-x)][x−d,min(x+d,s−x)]于是

2021-08-22 15:26:09 372

原创 洛谷 - P7771 【模板】欧拉路径(Hierholzer算法)

题目链接:点击查看题目大意:给出一个 nnn 个点 mmm 条边的有向图,需要输出字典序最小的欧拉路径题目分析:个人感觉Hierholzer算法的精髓还是需要理解为什么答案时dfs时的后序遍历的逆序,而不是前序遍历代码:// Problem: P7771 【模板】欧拉路径// Contest: Luogu// URL: https://www.luogu.com.cn/problem/P7771// Memory Limit: 128 MB// Time Limit: 1000 ms//

2021-08-22 12:30:53 491

原创 HDU - 7091 重叠的子串(后缀自动机+set启发式合并+树上倍增)

题目链接:点击查看题目大意:给定一个只含小写字母的字符串 sss 和 qqq 次询问,每次询问给定一个字符串,以 s[l..r]s[l..r]s[l..r] 的形式给出,判断 sss 中是否存在两个或多个出现的有重叠部分的给定子串。比如在 “ababa”“ababa”“ababa” 中,两个 “aba”“aba”“aba” 子串就重叠于中间的字母 “a”“a”“a”,而两个 “ab”“ab”“ab” 子串就没有发生重叠。TTT 组数据。题目分析:对字符串 sss 建立 SAMSAMSAM 然后建出 pa

2021-08-21 23:12:53 271

原创 2021HDU多校10 - 7084 Pty loves string(KMPnext树+主席树+dfs序)

题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串 sss,需要回答 qqq 次询问,每次询问给出一对 (x,y)(x,y)(x,y) ,意思是用 sss 的前缀 s[1:x]s[1:x]s[1:x] 和后缀 s[n−y+1:n]s[n-y+1:n]s[n−y+1:n] 拼起来后得到一个新的字符串 ttt,问 ttt 在 sss 中的出现次数题目分析:考虑对于一对询问 (x,y)(x,y)(x,y) 得到的 ttt,存在 s[l:r]=ts[l:r]=ts[l:r]=t,设断点为 x′=l+x

2021-08-20 21:43:59 426 1

原创 2020ICPC沈阳 - United in Stormwind(推公式+FWT+SOSdp)

题目链接:点击查看题目大意:规定一张试卷上有 mmm 个问题,每个问题只有 A,BA,BA,B 两个选项,现在给出 nnn 张试卷。需要选择一个问题的子集,使得有大于等于 kkk 对试卷的答案是不完全相同的,问这样的子集有多少个题目分析:若将选项转换为 000 或 111,试卷视为 010101 串,那么两个试卷相同,当且仅当异或和等于 000。设 aia_iai​ 为第 iii 个试卷所代表的 010101 串, F(S)F(S)F(S) 为异或和等于 SSS 的 010101 串对的个数,则F(

2021-08-20 20:00:00 4273 1

原创 CodeForces - 1560F2 Nearest Beautiful Number (hard version)(二分+数位dp)

题目链接:点击查看题目大意:给出一个十进制数字 nnn 和一个约束 kkk,问大于等于 nnn 且满足不同的数位个数小于等于 kkk 的最小的数字是多少题目分析:自己写的贪心太丑了,就不放上来丢人了偷的杨大佬的trick,对于某个数字 xxx,如果可以快速求出区间 [1,x][1,x][1,x] 中有多少个数字满足不同的数位个数小于等于 kkk 的话,显然这个答案是具有单调性的考虑二分答案,然后用数位dp快速求解这个过程,dp[pos][state][k]dp[pos][state][k]dp[po

2021-08-19 22:59:19 215 4

原创 2021牛客多校9 - Cells(推公式+NTT)

题目链接:点击查看题目大意:初始时给出 nnn 个点,分别为 {(0,a0),(0,a1),⋯ ,(0,an)}\{(0,a_0),(0,a_1),\cdots,(0,a_n)\}{(0,a0​),(0,a1​),⋯,(0,an​)},每次可以向下走或向左走,问到达点 {(1,0),(2,0),⋯ ,(n,0)}\{(1,0),(2,0),\cdots,(n,0)\}{(1,0),(2,0),⋯,(n,0)} 且路径不相交的方案数题目分析:有向图路径不相交方案数问题,考虑 LGVLGVLGV 定理,实质

2021-08-18 12:45:54 273

原创 CodeForces - 1559D2 Mocha and Diana (Hard Version)(思维)

题目链接:点击查看题目大意:给出两棵森林,每次可以同时在两个森林中增加同一条边,问最多可以增加多少条边,使得两个森林仍然还是森林题目分析:结论参考至:https://blog.csdn.net/RunningBeef/article/details/119738571?utm_source=app&app_version=4.13.0&code=app_1562916241&uLinkId=usr1mkqgl919blen首先对于所有的点尝试与点 111 建边,此后考虑除了点

2021-08-17 20:09:30 316 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除