\(\mathscr A\sim\)「OurOJ #47030」_ Link & Submission & Tags:「A.DP-计数 DP」「A.数学-Stirling 数/反演」「B.Tricks」 我们习惯于用组合数拆形如 \(l^k\) 的贡献,可惜 \(\mathcal O(nk^2)\) 的复杂度不被允许。我们需要找到更优秀的贡献拆分方法。 关于幂,可以想
\(\cal T_1\) \(\mathbb{D}\rm escription\) \(\mathbb{S}\rm olution\) $\mathbb{C}\rm ode $ \(\cal T_2\) 基因切割 \(\mathbb{D}\rm escription\) \(\mathbf{namespace\_std}\) 乘坐戴夫的时光机器穿越回了现代,成为了⼀名医学生。 这天,医院新进了一些 \(\rm dna\) 切
目录A - Tax Included PriceB - Village of M PeopleC - Coprime SetD - Hamiltonian Cycle 赛时 1h 才过一题,最后过了三题倒还好。 A - Tax Included Price 给定 \(t,n\),让所有正整数 \(i\) 变为 \(\left\lfloor\frac{100+t}{100} \times i \right \rfloor\) ,问第 \(n\) 个没出
D. Distribution in Metagonia 题面 题意 给你一个整数,要求你拆成这样的数的和:即每个数的质因子只能是2或者3, 且每个数之间不能互相整除。 思路 我们总是拆成 \((2^x* 3^y)* k\) 的形式,其中其中k显然是一个既不能被2整除也不能被3整除的奇数。对于这个k我们又可以拆解为 \((2^x*
链接:LeetCode [Leetcode]2108. 找出数组中的第一个回文字符串 给你一个字符串数组 words ,找出并返回数组中的 第一个回文字符串 。如果不存在满足要求的字符串,返回一个 空字符串 "" 。 回文字符串 的定义为:如果一个字符串正着读和反着读一样,那么该字符串就是一个 回文字符串 。 遍
这场比赛的题目名真的太不走心了。 \(\cal T_1\) 史莱姆 \(\rm A\) \(\mathbb{Description}\) 史莱姆有一串长度为 \(n\) 的彩灯,其中第 \(i\) 盏彩灯的颜色为 \(a_i\). 史莱姆将这串彩灯剪成若干段并装饰在房间里,每一段彩灯的美丽度为这段彩灯的颜色形成的集合的 \(\rm mex\)。由
AGC037 A - Dividing a String 洛谷传送门 AGC037A 分析 考虑每一段长度只可能是一或二,设 \(dp[i]\) 表示以 \(i\) 为结尾的前缀最多可以分成多少段。 如果 \(s[i]\) 和 \(s[i-1]\) 不同,那么 \(dp[i]=dp[i-1]+1\), 否则可以将 \(s[i-2,i-1]\) 分成一段,把 \(s[i]\) 分成一段,那么 \(
\(\cal T_1\) 回路 \(\mathbb{Description}\) 给定一张 \(n\) 个点的无向图,定义经过一个点 \(u\) 的非平凡回路为一条从 \(u\) 出发回到 \(u\) 的路径,并且至少包含一个简单环。你需要对于每个点,求出经过它的最小非平凡回路的长度 \(L\). 这个问题很困难,因此你只需要求出 \(\lceil
C 题目链接:2022 省选训练赛 Contest 18 C 题目大意 搭积木,有 n 行 m 列。 告诉你从正面和侧面长的样子,问你有多少种搭积木的方式使得满足要求。 思路 考虑先转换题意。 可以变成问你有多少个 \(n*m\) 的二维矩阵,使得每行和每列的最大值固定。 不难想到一个容斥的方法,考虑具体实现
老园丁与小司机 题目链接:2022 省选训练赛 Contest 15 C 题目大意 给你一棵树,然后有一些路径(满足路径的两端的点的 LCA 是其中之一),每个路径有选的费用。 然后要你花费最小的费用使得每个边都在选的至少一条路径中,或输出无解。 思路 考虑到路径的特别,我们可以有这么一种 DP。 设 \(f
智商训练中 缓慢更新中.jpg J. Jealous Split 想不到的转化方式系列( 最优的划分方案一定是和的平方的和最小的子段划分方案 这东西直接$wqs$二分+斜率优化解决就行了 下面证明一下这个结论 考虑一个划分点$k$ 不妨设将$k$右移到$k_1$之后,平方和会变小 也就是说,对于左侧来说,它增加
链接:LeetCode [Leetcode]2103. 环和杆 总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分布穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环: 第 i 对中的 第一个
The 14th Jilin Provincial Collegiate Programming Contest 目录The 14th Jilin Provincial Collegiate Programming ContestProblem A. ChordProblem B. Problem Select题解代码Problem C. String Game题解代码Problem D. TrieProblem E. Shorten the Array题解代码Problem F. Q
013D Piling Up 题目描述 点此看题 解法 还是把一开始的球确定了好 \(dp\),否则写出来的 \(dp\) 奇奇怪怪还不好优化。 枚举初始时有 \(x\) 个白球 \(n-x\) 个黑球,注意每一轮之后球数都是 \(n\),可以设 \(dp[i][j]\) 表示前 \(i\) 轮过后有 \(j\) 个白球对应序列方案数,我们考虑这一
比赛链接: https://codeforces.com/gym/102770 A. AD 2020 题目大意: 输入两个日期(日期范围是从 20000101 到 99991231),判断这两个日期及它们中间有多少个日期包含 202 这个子串。 思路: 预处理出每一个日期是否包含 202,然后做一个前缀和,询问的时候直接输出就行。 代码: #include <bits
E - Placing Rectangles 题目大意: 给你一个 \(X \times Y\) 的矩形,问你能不能塞入三个不重叠的面积分别大于等于 \(A, B, C\) 的矩形 思路: 首先能够想到贪心的思路,优先处理面积最大的矩形,再在剩余的区域内处理面积次大的矩形。但是这样就陷入了繁琐的分类讨论之中。 此时我们可以
stat 题目链接:2022 省选训练赛 Contest 06 B 题目大意 问你有多少对长度为 n 的排列的分数大于等于 k。 两个排列的分数是它们每一位取最大值的和。 思路 考虑固定一个排列按顺序,然后每个跟另外一个匹配,然后答案乘上排列的种数。 然后因为是最大值考虑从大往小 DP: 可以考虑每个数
tree 题目链接:2022 省选训练赛 Contest 05 A 题目大意 给你一棵树,每条边有长度,然后问你走树上 k 个不同点的最小路径长。 思路 你考虑先暴力树形 DP。 考虑一个路径的走法: 先枚举起点,然后以它为根,对于每棵子树先选一些走下去走上来,最后一棵子树走下去。(可以不走上来) 那不难想到一
permutation 题目链接:2022 省选训练赛 Contest 04 A 题目大意 给你一个排列,然后有一些位置告诉你了。 然后问你有多少种可能使得每个位置的数都不是它位置的编号。 思路 不难看出就一个限制条件 \(p_i\neq i\),我们可以容斥,每次是至少有 \(x\) 个位置出现了 \(p_i=i\) 的情况。 然
LeetCode笔记:Weekly Contest 279 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2164. Sort Even and Odd Indices Independently 1. 解题
DICBO,Document Image Binarization Contest,即文档图像二值化竞赛。在该比赛中,参赛者需要构建图像识别算法,提取出主办方所提供的手写体文档图像和机器打印文档图像中的二值化文本图像。 DIBCO2009 H-DIBCO2010 DIBCO2011 H-DIBCO2012 DIBCO2013 H-DIBCO2014 H-DIBCO2016 DIBCO20
CF#768(Div.2) CF只有两个小时的比赛时间,一旦出了点“小”差错 基本就废了 B题后来按照扭曲的题意想了好久一直WA,1h ran out很慌地看了C并A了 后来发现B实在简单很后悔又把B A了,然而比赛还剩18min,我还在rk2800 想着有没有可能把D做了 但看到standings上人均30min才A掉 于是感觉不
A #include <bits/stdc++.h> using namespace std; int main() { puts("All in!"); return 0; } B #include <bits/stdc++.h> using namespace std; int T, n, m, k; int main() { scanf("%d", &T); while (T -- ) {
题目链接 Andrew Stankevich Contest 22 A. Maximal Flows Dimension 题目大意 回顾网络流的定义:一张图的流函数 \(f:E\rightarrow \mathbb{R}\),是满足 容量限制、斜对称性、流量守恒性 的函数,即: \[f(u,v) \leq c(u,v)\\ f(u,v) = -f(v,u)\\ \forall x\in V-\{S,T\},\;\sum_{(u,x)
A 签到题 #include <bits/stdc++.h> using namespace std; int T, n; int main() { cin >> T; while (T -- ) { cin >> n; int sum = 0; vector<string> v1, v2; string s, str; for (int i = 1; i <