摘要:
"http://uoj.ac/problem/35" 以前做后缀数组的题直接粘模板。。。现在重新写一下模板 注意用来基数排序的数组一定要开到N。 c++ include include include using namespace std; const int N = 100003; int t1 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=1494" 这道题。。因为k很小,而且我们只关心连续的k个节点的连通性,所以把连续的k个点轮廓线上的连通性的最小表示当做状态来转移。 转移可以构造一个矩阵,构造矩阵不难想,但挺麻烦的。。。 时间复杂度$ 阅读全文
摘要:
"http://acm.timus.ru/problem.aspx?space=1&num=1519" 调了好久啊。参考(抄)的 "iwtwiioi的题解" 。 如果想要题解,题解在《基于连通性状态压缩的动态规划问题》。 我肯定讲得不如题解清楚QAQ,所以还是不讲了(╯‵□′)╯︵┻━┻ 连通性状压 阅读全文
摘要:
"http://acm.hdu.edu.cn/showproblem.php?pid=3037" Lucas定理模板。 现在才写,noip滚粗前兆QAQ c++ include include include using namespace std; typedef long long ll; in 阅读全文
摘要:
"http://codevs.cn/problem/1288/" loli秘制面向高一的搜索,好难啊QAQ 我本来想按照分母从大到小搜,因为这样分母从小到大枚举到的第一个可行方案就是最优方案。 但貌似会T。。。 所以按照分母从小往大搜,分母得有个上界。 设分母为$num$,则$\frac{step} 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4582" 排好序后用两个指针直接$O(n)$扫,貌似这个东西学名"two pointers"? c++ include include include include using namespace 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4581" 考虑$O(n^3)$暴力。 实际上枚举最靠边的三个点就可以了,最多有12个点。 还是暴力= = 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4579" 把时间倒过来,只是加点,并查集维护连通块。 c++ include include include using namespace std; const int N = 200003; st 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=3445" 加倍的边一定在最短路上(否则继续走最短路)。 最短路长度是O(n)的,暴力扫最短路上的每条边,再暴力dijkstra,时间复杂度$O(n^3)$。 话说堆优dij的复杂度到底多少?$O((n 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4580" 区间dp,f(i,j)表示区间[i,j]全部合成一个数,这个数是多少。 可以归纳证明[i,j]如果可以合成一个数,那么只能合成这一个数 c++ include include include 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=3754" 核心思想:暴力枚举所有可能的平均数,对每个平均数排序后Kruskal。 正确的答案一定是最小的,枚举到正确的平均数后一定会算出正确答案。 枚举的平均数太多了,险些TLE。每两个相邻的整数$a 阅读全文
摘要:
"http://www.51nod.com/onlineJudge/questionCode.html !problemId=1501" dp求出环状不连续的前缀和,剩下东西都可以算出来,比较繁琐。 时间复杂度$O(n+m)$。 c++ include include include using n 阅读全文
摘要:
"http://www.51nod.com/onlineJudge/questionCode.html !problemId=1622" 简单题。。直接暴力快速幂 阅读全文
摘要:
"http://www.51nod.com/onlineJudge/questionCode.html !problemId=1616" 这道题主要是查询一个数是不是原有集合的一个子集的所有数的gcd。 只要枚举一个数的倍数暴力判断就可以了,时间复杂度$O(alna),a=10^6$ c++ inc 阅读全文
摘要:
"http://www.51nod.com/onlineJudge/questionCode.html !problemId=1674" 对区间分治,统计$[l,r]$中经过mid的区间的答案。 我的做法是从mid向右扫到r,统计出所有$[mid,i],mid\leq i \leq r$的and和o 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=2541" "https://vijos.org/p/1366" loli秘制大爆搜_(:з」∠)_坑了好久啊QAQ一上午花了2h+写这道题,最后WA了2个点,调了一下午多。 在矩形一条边上的所有位置都 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=1065" "https://vijos.org/p/1826" 好难的题啊TWT ∈我这辈子也想不出来系列~ 题解详见2009年的论文徐源盛《对一类动态规划问题的研究》。 这道题我第一眼一脸懵逼。。。 阅读全文
摘要:
"http://poj.org/problem?id=1390" 黑书上的例题,感觉我这辈子是想不到这样的dp了QAQ $f(i,j,k)$表示将$i$到$j$合并,并且假设未来会有$k$个与$a_j$同色的方块与$j$相连的最大得分。 如果直接消去第$j$个区域和未来会接到$j$后面的$k$块,那 阅读全文
摘要:
"http://noi.openjudge.cn/ch0204/8463/" 挺恶心的一道简单分治。 一开始准备非递归。 大if判断,后来发现代码量过长,决定大打表判断后继情况,后来发现序号不对称。 最后发现非递归分治非常不可做。 采用递归和坐标变换,降低了编程复杂度和思维复杂度。 坐标变换的思想十 阅读全文
摘要:
"http://uoj.ac/contest/35/problem/246" 神奇!我这辈子是想不出这样的算法了。 对区间长度分类讨论: "题解很好的~" 我已经弱到爆了,看完题解后还想了一晚上。 题解中“利用$r_y$进行计算更新答案”的具体方法是记录以当前点为右端点,任意两个数的差值的最小值大于 阅读全文