摘要:
## [原文献链接](https://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf) 本文所有思路全为原文献思路,只是做了解读 ## 后缀$Trie$的一些定义: $T$ :字符串 $\sum$ :字符集,即$T$中的字符组成的集合 $Q$ :后 阅读全文
摘要:
题目链接 挺有意思的一道题 题意:给定一个$2n$长度的数组$p$,要求构造一个长度也为$2n$的整数数组$q$,使得$q$满足从$q$中任选$n$个数字的积等于$q$中剩下$n$个数的和,求出$p$与$q$的最短距离 最短距离定义为对应元素差的绝对值之和 由于$q$的要求有点严苛,先考虑如何构造$ 阅读全文
摘要:
CF1798C Candy Store 点击查看代码 #include<bits/stdc++.h> #include<vector> #include<map> #include<queue> #define int long long #define inf 1e18 #define inc 0 阅读全文
摘要:
第一次接触连通块的插头dp 用最小表示法表示每个连通块,由于数据范围知道连通块最多为5个,所以用8进制即可 状态转移照模板推一推 需要注意的是对于上面来的连通块如果不连通的话需要考虑其是否还有其它地方与下方相连,如果没有则必须在此点往下相连,否则上方那个连通块将被孤立,不符合题意 但是左边而来的连通 阅读全文
摘要:
很巧妙的改变状态 $0$代表无插头,$1$代表有插头,且这个$"L"$还未拐弯,$2$代表有插头,且这个$"L"$已经拐过弯了 具体转移可以手推,用四进制即可 点击查看代码 #include<bits/stdc++.h> #include<unordered_map> #define int lon 阅读全文
摘要:
![](https://img2023.cnblogs.com/blog/1556169/202304/1556169-20230402173447546-1560349464.png) 阅读全文
摘要:
P5074 Eat the Trees 套着板子写,写了份四进制和二进制的 四进制中与板子不同的是其实插头不需要区分左右了,之前左右匹配的情况可以消去插头继续转移 注意特判全为0情况 四进制代码: 点击查看代码 #include<bits/stdc++.h> #include<unordered_m 阅读全文
摘要:
P3190 [HNOI2007]神奇游乐园 用$unordered_map$有个坑,写在了下面这个博客 https://www.luogu.com.cn/blog/zhouzhuo/gei-yong-unorderedmap-di-hou-ren-ti-gong-dai-ma 再贴一下代码吧 点击查 阅读全文
摘要:
学了好久。。。 细节在代码中,建议看其他题解,然后就着我的代码理解qwq 点击查看代码 #include<bits/stdc++.h> #include<unordered_map> #define int long long #define inf 1e18 #define inc 0xcfcfc 阅读全文
摘要:
题目链接 就拿此题来唤起我四年前的线段树优化残存的记忆吧 首先先考虑$n^2$算法: 设$f[i]$表示$1~i$能获得的最大利润 则$f[i]=max{f[j]-cost(j+1,i)+val(j+1,i)}$,其中$cost(i,j)$表示修好$[i,j]$需要的花费,$val(i,j)$表示修 阅读全文