摘要:
更新: 现博客为https://blog.chpu437.com (长期有效),之前的链接已经失效或不再更新。 我的博客现在迁移到了新地址:虽然我知道没人看 Github:https://chpu437.github.io/ Gitee:https://chpu437.gitee.io/ 由于国内访 阅读全文
摘要:
题面 我们将每个节点的最短距离记录为如下两个量:\(arr\) 和 \(into\),分别代表达到当前点的最短距离和满足当前节点前置条件的最短距离,最短距离在两者中取大值。 然后硬跑最短路就行了。 代码: # include <iostream> # include <cstdio> # inclu 阅读全文
摘要:
给定一个括号序列 \(s\),满足 \(|s| = m\)。你需要统计括号序列对 \((p,\ q)\) 的数量。 其中 \((p,\ q)\) 满足 \(|p| + |s| + |q| = n\),且 \(p + s + q\) 是一个合法的括号序列。 惨痛教训:不要形成思维定势!!! 一看到括号 阅读全文
摘要:
题面 我的 \(DP\) 好菜啊。。。 其实不难看出这个题是背包的,但问题是应该怎样设计转移。 可以看到题目一共给了 $4$ 个状态:当前时间,当前高度,当前生命,当前垃圾。 那对于这四个状态,我们该如何处理呢? 首先可以考虑到,我们在枚举垃圾的时候,为了保证时间有序从而使维持的生命时间足够转移到下 阅读全文
摘要:
题面 首先可以想到 $5$ 的倍数一定以 $5$ 或 $0$ 结尾,也就是我们选择的一段数字,只要保证结尾为 $0$ 或 $5$,前面数字是什么是无关答案,可以任选的。、 那么我们就先考虑在 a 这个串中如何统计答案,最后将 \(k\) 个串平起来的答案直接乘上去就好了。 对于字符串 a,记最高位为 阅读全文
摘要:
题面 \(DP\) + 最短路 外层可以看成是一个线性 \(DP\),就是枚举一下分割点,表示这一个区间内的路线相同,要求总价值最小。 内层我们需要计算一下一个区间的价值,其实就是跑一个最短路就行了。 对于不合法的路线跑最短路时标记出来不使用即可。 代码: # include <iostream> 阅读全文
摘要:
费马二平方定理 知道这个这题就完了 注意范围极大需要用 bitset 代码: # include <iostream> # include <cstdio> # include <bitset> // # define int long long # define MAXN 300000005 st 阅读全文
摘要:
题面 有一个 \(n\) 个数的序列,一开始所有的数都是 $0$,每次可以将一个区间 \([l,\ r](l \le r)\) 内的数 \(+1\),求到达最终状态的最少操作次数。 其实这个题的本质问题是枚举区间端点…… # include <iostream> # include <cstdio> 阅读全文
摘要:
题面 小 \(T\) 要给他的妹妹买礼物。他会不断的买,直到自己身上没有足够的钱来买任何一件礼物为止,他想知道有多少种方案符合他买礼物的方式。 我们认为两种选择方案不同当且仅当它们选取的的物品的集合不同。 因为答案可能很大,你只需要输出答案对 $10^7+7$ 取模的结果即可。 共有 \(n\) 件 阅读全文
摘要:
题面 有这样一个函数,函数的定义域为 \(N^*\),值域也是 \(N^*\),并且这个函数 \(f(x)\) 对任意正整数 \(n\) 满足:\(\sum\limits_{d|n}f(d)=n\) 现在给你 \(N\) 个数,要求 \(N\) 个数的函数值和。 数据范围 $10%$ 的数据,\(N 阅读全文