摘要:
@(目录在此) 2021-07-08~2021-07-22总结--zhengjun 7.8 考试过程 一开始看到 \(A\) 题,一看就是大水题,按照题目中说的算就行了,但是中途出了点错,调试了一下,发现忘记把角度转成弧度在算三角函数了,然后就可以了。 然后看了 \(B\) 题,看起来特别像那个启发 阅读全文
摘要:
题目概述: 给你两个长度为 \(n\) 的字符串 \(a,b\),你需要找出 \(b\) 中有多少个不同的子串是 \(a\) 的子序列 思路: 可以枚举 \(a\) 中的子串,可是这样可能会有多个相同的子串被算了多次,那么,我们就可以用 \(Trie\) 树,然后从根节点开始向下搜,枚举每一个子串, 阅读全文
摘要:
题目大意 其实就是给你 \(n\),让你求这个式子: \[ \sum\limits_{d\in prime,d\le n}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}[\gcd(i,j)==d] \] 一看就是莫比乌斯反演,开始反演: \(\sum\limit 阅读全文
摘要:
这道题其实就是一个数位 \(dp\) 裸题,就是他这个前缀 \(0\) 有一点难处理,所以就多开一维就行了。 代码 #include<cstdio> #include<cstring> #define ll long long using namespace std; ll f[13][2][2][ 阅读全文
摘要:
一眼数位 \(dp\) 答案就是 \(sum_{1,r}-sum_{1,l-1}\),关键是如何求 \(sum_{1,num}\) 用 \(f_{i,j,0/1}\) 表示在第 \(i\) 位时,上一位填了 \(j\),是否顶到上界(就是比如说在 \(47\) 中,一开始选了 \(4\),那么顶到了 阅读全文
摘要:
首先,我们可以贪心一下,把报废的时间按升序排序。 然后每到一个建筑,如果这个建筑可以修,那么就修了它。 如果不能修,那么就要看了,如果已经修了一个修筑时间大于当前不能修的建筑的修筑时间,那么显然是选当前这个好一点。 代码 #include<cstdio> #include<queue> #inclu 阅读全文
摘要:
一眼看去就感觉是数位 \(dp\) 弱化版 + 路径输出 用 \(f_{i,0/1,j}\) 表示在从低到高的第 \(i\) 位,填了 \(0/1\),之前填了 \(j\) 个 \(1\) 的个数。 转移方程式显然就是: f[i][0][j]=f[i-1][0][j]+f[i-1][1][j]; f 阅读全文
摘要:
题目背景 \(zjzj\) 大佬最喜欢的,就是找到一些红的数学题,把他们改变成蓝的,紫的,甚至黑的。 题目描述 有一天, \(zjzj\) 大(jù)佬(ruò) 看到了 \(fxt\) 蒟(dà)蒻(lǎo)出的一道题 \(:\) \(wangshengjun33\) 与 \(275307894a 阅读全文
摘要:
题目传送门 这道题其实直接做就好了,枚举每一个数,把这个数拆分一下就行了。 代码: #include<cstdio> using namespace std; int sum[10001],l,r; int main(){ for(int i=1;i<=10000;i++){ int k=i,cnt 阅读全文
摘要:
树形 \(dp\) 用 \(f_i\) 表示在编号为 \(i\) 的子树中共有多少种方案。 显然,\(f_u=\prod\limits_{v\subseteq son_u}{f_v}+1\) 后面的那个 \(1\) 就是考虑自身不要的情况。最后答案要减掉这个 \(1\) 代码 #include<cs 阅读全文