分类-题解

题意求一个位数 $\geq 2$ 的 $2^{k}$ 进制数 $r$ ,满足:化为二进制后位数 $\le w$每一位上的数依次递增其中 $k\le 9 \ , \ k\le w\le 30000$ ,保证 $r$ 化为 $10$ 进制的位数 $\le 200$ 。题解对于条件 $1$ ,显然 $r$ 的位数 $L \le \lceil \dfrac{w}{k}\rceil $ 。当 $L\l...
   题解    0 条评论
提高+/省选-
题意给出 $A,B,X_1,p,t$ ,数列 $X_i$ 满足递推式:$$X_{i+1}\equiv A\times X_i+B\pmod p$$求使 $X_i\equiv t\pmod p$ 成立的最小的 $i$ 。题解一般情况列出来找下规律:$$\begin{cases}X_2\equiv A\times X_1+B\pmod p \\X_3\equiv A^{2}\times X_1+...
   题解    0 条评论
省选/NOI-
题意有 $N$ 个野人,每个野人有初始所在的山洞 $C_i$、每次移动的山洞个数 $P_i$ 以及寿命 $L_i$ 。要求不存在有两个野人在同一年住在同一个洞穴,求山洞个数 $M$ 的最小值。其中 $N\le 15$ ,保证 $M\le 10^{6}$ 。题解$N$ 比较小,所以可以枚举 $M$ (没有单调性没法二分),然后 $O(N^{2})$ 进行检验。对每两个野人,题意可以化为要求下面...
   题解    0 条评论
省选/NOI-
题意给出 $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}...
   题解    0 条评论
省选/NOI-
题意求 $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$ 进行分解...
   题解    0 条评论
这已经是我三刷这道题了(前两次是2017-08-09和2018-05-07),但靠自己还是没有推出来。果然这种题还是适合写个总结啊。题意两只青蛙分别从 $x \ , \ y$ 开始向数轴正方向跳,每 $-1s$ 可以分别跳 $m \ , \ n$ 。数轴是环形的,长度为 $l$ 。求它们相遇最少需要续的时间,如果不能相遇输出Impossible。题解设续的最少时间为 $t$ ,将题意转化为$...
   题解    0 条评论
提高+/省选-
庆祝第100篇文章完成!题意一棵有边权的树,有的节点是转播站,有的节点是用户节点。要让用户看到电视,代价为根节点到当前用户节点的路径和,重复的路径不重新计算。每个用户可以支付一定的钱。求在不亏本的情况下,最多可以让多少个用户看到电视。其中点数 $N\le 3000$ 。题解树上背包的裸题。用 $f[x][i]$ 表示在以 $x$ 节点为根的子树中选 $i$ 个用户的最大收益。转移方程式为:$...
   题解    0 条评论
提高+/省选-
题意给出 $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}$ 的质数...
   题解    0 条评论
省选/NOI-
题意在树上放一些山贼集团的分部,每个分部可以收取根节点到它路径上所有节点的保护费。在节点 $i$ 建立分部 $j$ 花费 $s[i][j]$ 。对于每一个节点,如果它被多个分部收保护费,就可能产生收益或损失。求最优的放置方法,可以得到最大利润。其中点数 $N\le 100$ ,分部个数 $P\le 12$ 。题解看到 $P$ 的范围,显然可以对节点上放置分部的状态进行状压。因为每个分部收取的...
   题解    0 条评论
省选/NOI-
题意给出 $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,...
   题解    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 条评论
提高+/省选-
题意一个有点权和边权的无向图,求 所有点权和为 $0$ 的子图 的最小生成树的权值和。其中点数 $N\le 16$ 。题解看了半天题才得到上面的题意,看到 $N\le 16$ ,显然是状压。用 $f[id]$ 表示当前点集状态为 $id$ 时的最优解,当 $i$ 和 $j$ 状态内的点权和为 $0$ 时,转移方程式很显然:$$f[i|j]=f[i]+\text{Kruskal}(j)$$对每...
   题解    0 条评论
时隔一年(差两天)来做还是不会做,甚至连我当时写的是什么都没看懂,这充分凸显了写博客的必要性。题意求 $\le N$ 的最大数 $x$ ,满足 $\forall 1\le i\le x$ ,$i$ 的约数个数 $<$ $x$ 的约数个数。题解直接上搜索。先预处理可能会被用到的质数表,对于每个质数,搜索它可能会被用几次,最后如果约数个数大于当前最大值 或 约数个数相等但数值较小 都对答案...
   题解    0 条评论
提高+/省选-
题意求:$$\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}{n!-x}$$显然...
   题解    0 条评论
提高+/省选-
题意求所有在树上直径的节点。点数 $N\le 200000$ 。题解我百度谷歌搜了一圈硬是没看到一个像样的题解,去提交记录里面看代码读懂的方法。先跑第一遍 $dfs$ ,记录以 $x$ 为根的子树中深度的最大值 $mx[x]$ 和次大值 $mx2[x]$ ,两者相加再 $+1$ 即为这个子树的直径。然后再跑一遍,对于每个节点 $x$ ,遍历所有子节点 $y$ ,并对子节点向上最大深度 $up...
   题解    0 条评论