08 2019 档案
摘要:题意: 给出$M$和$a数组$,询问每一个$d\in[1,M]$,有多少组数组满足:正好修改$k$个$a$数组里的数使得和原来不同,并且要$\leq M$,并且$gcd(a_1,a_2,\dots,a_n)=d$。 思路: 对于每一个$d$,即求$f(d)$:修改$k$个后$gcd(a_1,a_2,
阅读全文
摘要:题意: $Q\leq5000$次询问,每次问你有多少对$(x,y)$满足$x\in[1,n],y\in[1,m]$且$gcd(x,y)$的质因数分解个数小于等于$p$。$n,m,p\leq5e5$。 思路: 题目即求 $$ \sum_{k}\sum_{i=1}^n\sum_{j=1}^m[gcd(i
阅读全文
摘要:题意: 有一个$n n n$的三维直角坐标空间,问从$(0,0,0)$看能看到几个点。 思路: 按题意研究一下就会发现题目所求为。 $$ (\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n[gcd(i,j,k)==1])+(\sum_{i=1}^n\sum_{j=1}^n[g
阅读全文
摘要:莫比乌斯函数$\mu(n)$:有$n = p_1^{a_1} p_2^{a_2}\cdots p_t^{a_t}$,则 $$ \mu(n)= \left\{ \begin{aligned} 1\qquad& ,n=1\\ ( 1)^k \qquad&,n = p_1p_2\dots p_k,\for
阅读全文
摘要:题意: 给一个串$S$,$length\leq 1e5$,$Q\leq1e5$个询问,每次询问输出和$S_lS_{l+1}\dots S_r$长得一模一样的第$k$个子串的开头位置。 思路: 用后缀数组处理一下,那么所有相同子串最后的$sa$都会靠在一起,所以找到对应的$height$位置,然后向左
阅读全文
摘要:题意: 已知$A,B,C,D,P,n$以及 $$ \left\{ \begin{aligned} & F_1 = A \\ & F_2 = B\\ & F_n = C F_{n 2} + D F_{n 2}+\lfloor(\frac{P}{n})\rfloor \end{aligned} \rig
阅读全文
摘要:题意: 操作有:$1$.区间都加$a$;$2$.区间都乘$a$;$3$.区间都重置成$a$;$4$.询问区间幂次和$\sum_{i=l}^rnum[i]^p(p\in\{1,2,3\})$ 思路: 设一个数为$m sum+a$,加就变成了$m sum+a+a_2$,乘就变成了$m m_2 sum+a
阅读全文
摘要:题意: 操作有:区间加,区间乘,区间询问求和 思路: 设一个数为$m sum+a$,加就变成了$m sum+a+a_2$,乘就变成了$m m_2 sum+a m_2$,所以我们设两个标记$mul$表示乘,$add$表示加,然后如上转化。 代码: cpp include include include
阅读全文
摘要:题意: "传送门" 已知递推公式$x_i = a x_{i 1} + b\mod p$,$p$是素数,已知$x_0,a,b,p$,给出一个$n$和$v$,问你满足$x_i = v$且$i include include include include include include include
阅读全文
摘要:题意: "传送门" 给你$n(n include include include include include include include include include include include include using namespace std; typedef long lon
阅读全文
摘要:题意: "传送门" 三维长方体有$n m h include include include include include include include include include include include include using namespace std; typedef lo
阅读全文
摘要:题意: "传送门" 有$n$个点构成一个无向图,每条边有$L_i,R_i$表示这条边只能允许编号为$L_i\dots R_i$的人通过,现在问你最多有几个人能从$1$走到$n$。 思路: 我们可以枚举每个编号,然后看看能通过这个编号的所有边能否构成一个图使得$1$走到$n$,但是显然枚举点很不现实,
阅读全文
摘要:题意1.1: 求$\sum_{i=1}^n Fib^m\mod 1e9+9$,$n\in[1, 1e9], m\in[1, 1e4]$ 思路1.1 我们首先需要知道斐波那契数列的通项是:$Fib_i = \frac{\sqrt5}{5}[(\frac{1+\sqrt5}{2})^i (\frac{1
阅读全文
摘要:题意: "传送门" 已知$0 include include include include include include include include include include include include using namespace std; typedef long long
阅读全文
摘要:题意: 求$x^2 \equiv a \mod p$ 的所有整数解 思路: 二次剩余定理求解。 参考: "二次剩余Cipolla's algorithm学习笔记" 板子: 代码:
阅读全文
摘要:题意: 石子合并,问最小代价 思路: GarsiaWachs,朴素做法$O(n^2)$复杂度,实际上比这个稍微小点。平衡树优化能到$O(nlogn)$。 代码:
阅读全文
摘要:题意: 标记为$1 n$的竹子,$q$个询问,每次给出$l,r,x,y$。要求为砍区间$l,r$的柱子,要求砍$y$次把所有竹子砍完,每次砍的时候选一个高度,把比他高的都砍下来,并且这$y$次砍下来长度都相等,问第$x$次砍在什么高度。 思路: 显然就是要求选一个高度砍,使得剩下的高度为$(sum[
阅读全文
摘要:题意: "传送门" 给你$A,B,C$,要求你给出有多少对$(x, y)$满足$x\in [1,A],y\in [1,B]$,且满足以下任意一个条件:$x \& y C$或者$x \oplus y include include include include include include inc
阅读全文
摘要:题意: 给你$A J$的字母组成的日期,形式为$yyyy/mm/dd$。现给你$n$个这样的串$(ninline int weekday(int y, int m, int d){ $\qquad$if(m include include include include include includ
阅读全文
摘要:题意: 最低等级$level\ 1$,已知在$level\ i$操作一次需花费$a_i$,有概率$p_i$升级到$level\ i+1$,有$1 p_i$掉级到$x_i(x_i include include include include include include include inclu
阅读全文
摘要:```cpp struct Edge{ int to, next; int w; }edge[MAXM]; struct qnode{ int u; int c; qnode(int _u = 0, int _c = 0):u(_u), c(_c){} bool operator que; while(!que.empty()) que.p...
阅读全文
摘要:题意: 求最大流 思路: $1e5$条边,偷了一个超长的$HLPP$板子。复杂度$n^2 \sqrt{m}$。但通常在随机情况下并没有isap快。 板子: 代码: cpp include include include include include include include define i
阅读全文
摘要:题意: "传送门" 有一个空的队列,有$n( n include include include include include include include include include include include include include typedef long long ll;
阅读全文
摘要:题意: 给一些坐标,问用一个任意大小矩形去框这些点,能获得的最大权值。$n include include include include include include include include include include include include include typedef
阅读全文
摘要:题意: "传送门" 给一个串$str$,现得到他的所有回文子串的集合$set$,问有多少对$(s,t)$满足$s,t\in set$并且$s$是$t$的一个子串。 思路: 题意就是要求每个本质不同回文串的子串个数的和。建立回文树,那么对于每一个回文树上的节点来说,他的所有回文子串就是他$fail$链
阅读全文
摘要:题意: 给一个$n m$的图,有一个出口,已知$n m$最外面一圈一定是墙。给一串长度为$k$的走路的指令,问所有点按照这个指令走都能走到出口的最短长度是多少。如果走的方向是墙就待在原地。 思路: 显然直接模拟的复杂度为$O(n m k)$,高达$2e9$,那么我们模拟肯定是要模拟的。那我们想能不能
阅读全文
摘要:题意: 给一个长度为$m$的队列,现给定以下操作: $opt=0$,插入一个串,如果不在队里直接插入栈尾,如果超出$m$删队首;在队里就拿出来重新放到队尾,返回$v$值。 $opt=1$,问某串的前/中/后的串的$v$值是什么,不存在输出$Invalid$。 思路: 把串$Hash$,然后用双向链表
阅读全文
摘要:大略: 回文树本质是一棵树,有两个根,奇根下面都是奇回文,偶根下面是偶回文,偶根$fail$指向奇根,到奇根一定适配。 1. 求串$S$前缀$0 i$内本质不同回文串的个数 2. 求串$S$内每一个本质不同回文串出现的次数 3. 求串$S$内回文串的个数(其实就是$1$和$2$结合起来) 4. 求以
阅读全文
摘要:题意: 有$n$个数$a_1\cdots a_n$,现要你给出$k$个不相交的非降子序列,使得和最大。 思路: 费用流建图,每个点拆点,费用为$ a[i]$,然后和源点连边,和后面非降的数连边,源点和超级源点连一条容量$k$的边,跑费用流。 用$spfa$费用流$TLE$,这里因为不会出现负环,所以
阅读全文
摘要:题意: 已知任意大于$1$的整数$a = p_1^{q_1}p_2^{q_2} \cdots p_k^{q_k}$,现给出$a \in [2,1e18]$,求$min\{q_i\},q \in [1, k]$。即求质因数分解后,最小指数是多少。 思路: 因为$a \in [2,1e18]$,所以我们
阅读全文
摘要:题意: "传送门" 给$n$个集合,每个集合有一些数。给出$m$个询问,再给出$l$和$r$和一个数$v$,问你任意的$i \in[l,r]$的集合,能不能找出子集异或为$v$。简单点说,$v$能用$[l,r]$任意一个集合的子集异或和表示。 思路: 子集异或和显然是用线性基。我们用线段树维护任意区
阅读全文
摘要:题意: 已知 $X_i = a X_{i 1} + b X_{i 2}$,现给定$X_0,X_1,a,b$,询问$X^n \mod p$,其中$n include include include include include include include include include incl
阅读全文
摘要:题意: 问给定串有多少本质不同的子串? 思路: 子串必是某一后缀的前缀,假如是某一后缀$sa[k]$,那么会有$n sa[k] + 1$个前缀,但是其中有$height[k]$个和上一个重复,那么最终的贡献的新串为$n sa[k] + 1 height[k]$。故最终结果为$\sum_{i = 1}
阅读全文
摘要:题意: 已知某字符串$str$满足$str_1 max\{str_2,str_3 \cdots str_n\}$,现要求把这个字符串分成连续的三组,然后每组都翻转,问字典序最小是什么? 思路: 因为$str_1 max\{str_2,str_3 \cdots str_n\}$,所以第一部分直接翻转后
阅读全文

浙公网安备 33010602011771号