摘要:
【学习笔记】分块 算法简介 分块是一种优雅的暴力,他的实现原理是将一段区间分割成一些长度相等的整块和一些散块进行暴力,有点类似线段树。 每一次操作时将区间分成中间的一些整块,和两端的一些散块。举一个例子,假设我们要对区间\([2,10]\)进行操作,假设整块的块长为\(3\),那么整个大区间就可以分 阅读全文
摘要:
【刷题笔记】[BalticOI 2024] Portal \(Solution\) 先注意到,题目中的图形是许多的自相似图形,要求能满足要求的单位图形的最大面积 先考虑只有一维的情况, 设几个传送门的坐标为 \((a_i,0)\) ``` 发现将整个图形平移后答案不会改变,所以不妨把一个传送门移动到 阅读全文
摘要:
【刷题笔记】Round Subset 思路 考虑最朴素的可行性\(DP\),设 \(f_{i,j,x,y}\) 表示前 \(i\) 个数,选了 \(j\) 个数,其中有 \(x\) 个 \(5\) \(y\) 个 \(2\) 时是否合法,但是枚举时间复杂度为 \(O(n*k*n*log_5^{10^ 阅读全文
摘要:
Candies 思路 朴素的算法 设\(f_{i,j}\)表示给前\(i\)个小朋友分\(j\)个糖的方案数, \[f_{i,j}=\sum_{k=0}^{min(a[i],j)}f_{i-1,j-k} \]注意到此时时间复杂度为\(O(n\times k^2)\) 想到用前缀和进行优化,设\(s_ 阅读全文
摘要:
【刷题笔记】Unbranched 题意 求\(N\)个点,\(M\)条边且满足以下条件的图的数量: 1.图中无自环; 2.每个点度数最多为2; 3.连通块大小的最大值恰好为L。 答案对 \(10^9+7\) 取模。 \(1\le M,L \le N,2\le N \le300\) 思路 注意构造出来 阅读全文
摘要:
【刷题笔记】[ABC281G] Farthest City 题意 求构造一个没有重边和自环【简单联通】的无向连通图,使得\(d[n]\)严格大于\(d[i]\),问有几种构造方案 思路 一道\(DP\)好题 \(DP\)有\(2\)种题型,求最优值问题,和计数问题。本题为计数问题。 因为在边权为1的 阅读全文
摘要:
次大值 思路 发现性质,对于一个数 \[a[i]\%a[j]\le a[i] \]当他取得最大值时\(a[i]<a[j]\) 于是对于前&n-1&大的数,他的贡献值就是他本身,所以我们只需要保存第\(n-1\),\(n-2\)大的数就可以。 但是此时要注意第\(n\)大的数的贡献值没有计算,由于\( 阅读全文
摘要:
2024.10.4 test 虹色的北斗七星 思路 题目要求 \[maxn-minn-len \]的最大值,其中\(maxn\)为区间的最大值,\(minn\)为区间的最小值,\(len\)为区间的长度 注意性质,最优的状态一定是区间的左右端点为最大值和最小值时。因为,如果区间左右端点不为最大值或最 阅读全文
摘要:
2019 CSP-J 题目整理 B-公交换乘 思路梳理 先想暴力算法,一遇到公交车,就在已出现过的优惠卷中寻找价格大于等于公交车票价,并且出现时间最早且没有用过的优惠卷,时间复杂度为 \(O(n^2)\),必然会炸。但是注意题目中给到的特殊性质,要求如果优惠卷有效,则 \[t_{bus}-t_{su 阅读全文
摘要:
2019 CSP-S 题目整理 A-格雷数 思路简介 思路很简单,如果编号在中点的左边那么就输出0,否则输出1,同时还要改变编号。 代码实现 #include<bits/stdc++.h> #define maxn 80 using namespace std; typedef __int128 i 阅读全文