题意有 $N$ 个野人,每个野人有初始所在的山洞 $C_i$、每次移动的山洞个数 $P_i$ 以及寿命 $L_i$ 。要求不存在有两个野人在同一年住在同一个洞穴,求山洞个数 $M$ 的最小值。其中 $N\le 15$ ,保证 $M\le 10^{6}$ 。题解$N$ 比较小,所以可以枚举 $M$ (没有单调性没法二分),然后 $O(N^{2})$ 进行检验。对每两个野人,题意可以化为要求下面...
题意给出 $y,z,p$ , 要求计算下列式子的值:$y^z\bmod p$满足 $x\times y\equiv z\ (\bmod \ p)$ 的最小非负整数 $x$;满足 $y^x\equiv z\ (\bmod \ p)$ 的最小非负整数 $x$。题解三合一题目。快速幂$\text{exgcd}$$\text{bsgs}$(保证了 $p$ 是质数所以不用 $\text{exbsgs}...
概述中国剩余定理可以求解同余方程组,如对下列方程组:$$\begin{cases}x\equiv a_1 \ (mod \ m_1) \\ x\equiv a_2 \ (mod \ m_2) \\ x\equiv a_3 \ (mod \ m_3) \\ \ldots \\ x\equiv a_n \ (mod \ m_n) \end{cases}$$求解最小的 $x$ 。求解令:$$M=...
背景网易云的linux版前段时间更新到了v1.2,写的是支持Ubuntu 18.04。然后我很开心的更新了,然后很开心的发现有口大锅:每次退出都要重新登录你tm有第一个bug那我不退出就完了结果还有:经常闪退,似乎和网络情况有关给网易云发了反馈,不知道有没有效果。回退于是就想到回退,但网易云官方并没有旧版本的链接。网上到处搜也没有什么解决方案。于是我就抱着试一试的想法去找了谷歌的网页快照,然...
题意求 $A^{B}$ 的约数和。对 $9901$ 取模。其中 $A,B\le 5\times 10^{7}$ 。题解将 $A$ 分解:$$A=\prod_{i=1}^n p_i^{a_i}$$那么约数和为:$$\prod_{i=1}^n \sum_{j=0}^{a_i\times B} {p_i}^j $$所以可以先预处理出 $\le \sqrt{A}$ 的质数,然后对 $A$ 进行分解...
这已经是我三刷这道题了(前两次是2017-08-09和2018-05-07),但靠自己还是没有推出来。果然这种题还是适合写个总结啊。题意两只青蛙分别从 $x \ , \ y$ 开始向数轴正方向跳,每 $-1s$ 可以分别跳 $m \ , \ n$ 。数轴是环形的,长度为 $l$ 。求它们相遇最少需要续的时间,如果不能相遇输出Impossible。题解设续的最少时间为 $t$ ,将题意转化为$...
庆祝第100篇文章完成!题意一棵有边权的树,有的节点是转播站,有的节点是用户节点。要让用户看到电视,代价为根节点到当前用户节点的路径和,重复的路径不重新计算。每个用户可以支付一定的钱。求在不亏本的情况下,最多可以让多少个用户看到电视。其中点数 $N\le 3000$ 。题解树上背包的裸题。用 $f[x][i]$ 表示在以 $x$ 节点为根的子树中选 $i$ 个用户的最大收益。转移方程式为:$...
题意给出 $S$ ,求所有正约数之和 $=S$ 的数。数据组数 $k\le 100$ , $S\le 2\times 10^{9}$ 。题解约数和为:$$\begin{matrix} \prod_{i=1}^n \end{matrix}\begin{matrix} \sum_{j=0}^{a_i} {p_i}^j \end{matrix}$$可以先预处理 $\le \sqrt{S}$ 的质数...
题意在树上放一些山贼集团的分部,每个分部可以收取根节点到它路径上所有节点的保护费。在节点 $i$ 建立分部 $j$ 花费 $s[i][j]$ 。对于每一个节点,如果它被多个分部收保护费,就可能产生收益或损失。求最优的放置方法,可以得到最大利润。其中点数 $N\le 100$ ,分部个数 $P\le 12$ 。题解看到 $P$ 的范围,显然可以对节点上放置分部的状态进行状压。因为每个分部收取的...
题意给出 $A,B$ ,求 $gcd(A,B)$ 。其中 $A,B\le 10^{3000}$ 。题解数据范围很大,显然要用二进制求 $gcd$ 。其它都是板子。#include<bits/stdc++.h>
using namespace std;
struct bigint {
int len,s[3005];
bigint() { memset(s,0,...
一年前做了然而却还是不会系列。题意给出 $a_0,a_1,b_0,b_1$ ,需要求 $x$ ,使得$$\begin{cases} gcd(x,a_0)=a_1 \\ lcm(x,b_0)=b_1 \end{cases}$$题解显然,对于$$gcd(x,y)=k$$我们可以将其化为$$gcd(\dfrac{x}{k},\dfrac{y}{k})=1$$又因为$$lcm(x,y)=k$$可以化...
题意一个有点权和边权的无向图,求 所有点权和为 $0$ 的子图 的最小生成树的权值和。其中点数 $N\le 16$ 。题解看了半天题才得到上面的题意,看到 $N\le 16$ ,显然是状压。用 $f[id]$ 表示当前点集状态为 $id$ 时的最优解,当 $i$ 和 $j$ 状态内的点权和为 $0$ 时,转移方程式很显然:$$f[i|j]=f[i]+\text{Kruskal}(j)$$对每...
时隔一年(差两天)来做还是不会做,甚至连我当时写的是什么都没看懂,这充分凸显了写博客的必要性。题意求 $\le N$ 的最大数 $x$ ,满足 $\forall 1\le i\le x$ ,$i$ 的约数个数 $<$ $x$ 的约数个数。题解直接上搜索。先预处理可能会被用到的质数表,对于每个质数,搜索它可能会被用几次,最后如果约数个数大于当前最大值 或 约数个数相等但数值较小 都对答案...
题意求:$$\dfrac {1}{x}+\dfrac {1}{y}=\dfrac {1}{n!}$$的正整数解 $(x,y)$ 的组数。题解对方程进行化简:$$\dfrac {x+y}{x\times y}=\dfrac {1}{n!}$$交叉相乘:$$x\times y=n!\times (x+y)$$化为 $y$ 的表达式:$$y=\dfrac{n!\times x}{x-n!}$$显然...
题意求所有在树上直径的节点。点数 $N\le 200000$ 。题解我百度谷歌搜了一圈硬是没看到一个像样的题解,去提交记录里面看代码读懂的方法。先跑第一遍 $dfs$ ,记录以 $x$ 为根的子树中深度的最大值 $mx[x]$ 和次大值 $mx2[x]$ ,两者相加再 $+1$ 即为这个子树的直径。然后再跑一遍,对于每个节点 $x$ ,遍历所有子节点 $y$ ,并对子节点向上最大深度 $up...