摘要:
2019.8.25 Link Description 遥远的星系中共有n颗行星,由m个双向虫洞所连接。两颗不同行星间最多有1个虫洞直接相连,但一个虫洞的两端可能连接同一颗行星。 一条星际旅行的航线需要满足以下要求:从任意一颗行星出发,在任意一颗行星上结束,总共经过m − 2个虫洞恰好2次,经过2个虫 阅读全文
摘要:
2019.8.23 ####3.1 题目描述 历史学家小A正在研究一个奇怪的王国的历史。当前阶段的任务是研究该国的交通。根据这个奇怪的王国的史书记载,史书开始记载前这个王国有 n 个城市(城市从 0 开 始标号),但所有城市之间都没有道路相连。 每一年,在位的国王会修建一条 x 到 y 的双向道路, 阅读全文
摘要:
欧拉函数: $1.\varphi(p)=p 1$ 证明:显然 $2.\varphi(i p)=p \varphi(i)$ , $if\space i \bmod p = 0$ 引理1:$\varphi(p^a)=(p 1) p^{a 1}$ 证明:比 $p^a$ 小的数一共有 $p^a 1$ 个,其 阅读全文
摘要:
2019.8.22 2021.5.29 Description 一个 \(n\) 个点的环,有点权。将环拆成至多 \(m\) 段,使得权值和最大的段最小。 Solution 之前写的博客是假做法,还是太年轻了,打算重写一遍。做过的题都想不起来了,幸好最后还是想到了正解。 考虑二分答案,关键在于 ch 阅读全文
摘要:
###余数求和 对于任意整数 \(x\in[1,n]\) 设 \(g(x)=\lfloor\frac{k}{\lfloor\frac{k}{x}\rfloor}\rfloor\) \(\because f(x)=\frac{k}{x}\) 单调递减 又 \((x)=\lfloor\frac{k}{\ 阅读全文
摘要:
Link ###题目描述 动态地维护一个以斜率为关键字的最长严格上升子序列。 解法 对于修改操作,只影响一个块,每次修改都暴力重构一下,计算出每个斜率并按块内斜率排序,最后存入一个vector中(其实并不需要排序,因为本身插入的时候就是按照“单调递增——小了就跳过,大了就插入并更新斜率最大值”)单次 阅读全文
摘要:
Link 我们首先不考虑题目中的两种情况,只考虑如何输出第k大的字串。很显然,有一个性质,首位字符越大,字串排名越靠后,我们可以考虑一个字符一个字符地去枚举(在后缀自动机上跑,字符必须存在),若第k大的子串是以当前字符开头的,那么就往下走,否则就继续枚举下一个字符,再减去以这个字符开头的子串个数。也 阅读全文
摘要:
Link ##动态维护LIS? 观察题目:在第 i 轮操作时,将数字 i 插入 插入的数字是当前最大的 如果答案与上次不同,新的LIS必以 i 结尾 以 i 结尾的LIS无法再伸长(因为比 i 小的都插入完了) 也就是说,加入 \(i+1\) 到 \(n\) 的数,不会对以 \(i\) 结尾的上升子 阅读全文
摘要:
基数排序是一种高效的排序算法,多用于处理字符串(不支持负数,实数排序效率不高) ##算法流程 · 基数排序就是以每一位的数值为关键字来排序,也就是说,是按位排序(一般从低位向高位枚举) inline void Qsort(){ for(int i=0;i<M;++i) b[i]=0;// b[i]表 阅读全文
摘要:
Link 容易想出状态 dp[t][i][j] ,表示当前在算第t行,这一行的状态为i,上一行的状态为j , 则状态转移方程就为 dp[t][i][j]=max{dp[t-1][j][k]}+pre[i] 其中k为上上行的状态,且i,j,k都满足题目要求,pre[i] 表示i在二进制下1的个数. 首 阅读全文