摘要:
C/C++运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2 - 负号运算符 -表 阅读全文
摘要:
?> Tips:\(\texttt{Winning isn't everything, but wanting it is.}\) 获胜并不能代表一切,而求胜心则可以。 我的各大OJ账号: AcWing:https://www.acwing.com/user/myspace/index/276481 阅读全文
摘要:
前言:原来的 tj 干了一堆什么建图啊之类的,但其实不要这么复杂。 注:下文中 \(n\) 是各成员名字列表。 从 \(K = 1\) 开整。如果情况是 \(n_i < n_{i + 1}< \cdots < n_j\),那么显然,咱就不知道关于成员 \(n_i,\cdots,n_j\) 的相对资历 阅读全文
摘要:
注:为了方便,下文以 \(Sum\) 代表 \(\sum_{i = 1}^{n} A_i\)。 \(N = 2 \times 10^5\),考虑二分答案。 所以,答案有单调性吗?或者说,可以二分吗? 当然!如果 \(x = k\) 时可以满足条件,那么 \(x = k - 1\) 时显然只会更少(上 阅读全文
摘要:
闲着没事儿水篇 tj 题目大意 题目大意极其粗暴,记得 \(10^8 \times 10^8 = 10^{16} > 2^{31}-1\) 会爆 int,开 long long 就好。 于是这个题就变成了一个读入输出优化模板题。这不又回去了。 另外,输入输出常数优化也很常用,抢最优解和骗分时都可以用 阅读全文
摘要:
一句话题意:给定一个带点权的有权无向连通图,求点 1 到所有其它点的最短路径。 首先,只有 1 一个起点,所以是单源最短路,又因为最大是 \(2 \times 10^5\),所以是优先队列(堆)优化过后的 Dijkstra。 所以,我们只需要解决点权的问题就好了。一种显而易见的想法是把与这条边的边权 阅读全文
摘要:
很好写(15 min 解决)但不好讲(跟别人讲了 20 min)的写法 QwQ…… 首先,咱先算出原式的范围。最小值(暂且记为 \(k\))的公式就是: \[k = \sum_{i = 1}^{N} L_i \]就是每一个最小可能值的和。 同理,最大值(我记为 \(w\))的公式就是: \[w= \ 阅读全文
摘要:
题目 Link 考虑到老师不能砍树,所以最少补种树就是把剩下那二位的种树数补成最多的那位。 这里介绍个小语法: max({a, b, c}); max(max(a, b), c); 两行代码都是在求 \(a, b, c\) 的最大值,但是第二个是两两求,第一个是整体求,稍微方便一点。 ACCode 阅读全文
摘要:
题目 Link 先找规律,不难发现: \[\left\{\begin{aligned} 0 + 9 = 9\\ 1 + 8 = 9\\ 2 + 7 = 9\\ 3 + 6 = 9\\ 9 + 0 = 9\\ \end{aligned}\right. \]所以,对于最后一位的转换,只需要求出 \(9 阅读全文
摘要:
题目 Link 前情提要:这个题是栈的经典入门题。 关于栈的详细内容可以看 OI-Wiki,这里简单说一下。 其实栈(stack)就相当于一个桶,有两种操作:从顶上(top)往里边扔东西(push)和拿东西(pop),底部不允许操作(不然就漏了)。 这里就有 \(3\) 种操作了: top:用来获取 阅读全文
摘要:
提供一种快速做法(31ms)~ 首先,枚举是必须的,但是可以快速枚举。 优化 1: 众所周知 \(\gcd(a, b) \times \operatorname{lcm}(a, b) = a \times b\),所以我们只需要枚举 \(a\) 就好了。 优化 2:\(a\) 最大也只用到 \(\s 阅读全文
摘要:
其实,这个题,只需要最简单的枚举,加上最简单的二分查找即可~ \(1 \le N \le 1000\)?枚举吧~ 咋枚举?显然,最好状态下 Bessie 的位置一定是某个 \(p_i\),否则差一个就会导致有个奶牛要说谎。所以我们枚举(理论来讲要先去个重,这样快一点,不过貌似数据没有重的~)\(p_ 阅读全文