摘要:
题目大意 构造一个简单无向图,是所有的有度的点的度都是质数而且总共的边的数量的个数是质数。 思路 因为需要让所有的入度都为质数,所以我们可以找到两个相邻的质数 \(2,3\),因为这样即使增加了一条边那么这个节点的度也是质数。 先将这个图构成一个巨大的环,接着如果所有的边数并不是质数,那么就随便找两 阅读全文
摘要:
题目大意 给定两个正整数 \(l, r\),将 \(l\) 不断加 \(1\) 直到 \(l = r\),求出这一过程中 \(l\) 发生变化的位数总数。 \(1 \le l < r \le 10^9\)。 思路 假设从 \(l\) 处理到 \(r\) 变化的次数为 \(f(l,r)\)。 因为直接 阅读全文
摘要:
题目大意 求出从 \(l\) 至 \(r\) 中满足以下条件的 \((x,y)\) 的个数。 \(\gcd(x,y) \ne 1\) 且 \(\gcd(x,y)\ne x\) 且 \(\gcd(x,y)\ne y\)。 其中 \(1\le l\le r\le 10^6\)。 思路 正难则反,所以可以 阅读全文
摘要:
哈希 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 Hash 函数,我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相等,这就是哈希。 一般来说,哈希值都是使用 \(hash_i=(base\cdot hash_{i-1} +s_i)\%mod\) 这个 阅读全文
摘要:
题目大意 有一个由 \(H\) 行和 \(W\) 列组成的网格,每个单元格的边长为 \(1\) ,我们有 \(N\) 块瓷砖。第 \(i\) 个图块 (\(1\le i\le N\)) 是一个大小为 \(A_i\times B_i\) 的矩形。请判断是否有可能将这些图块放置在网格中,从而满足以下所有 阅读全文
摘要:
题目大意 在第 \((i,j)\) 个格子修建一个桥墩需要 \(a_{i,j}+1\) 的花费而且要求 \((i,0)\) 与 \((i,m)\) 必须修建桥墩并且桥墩之间的距离不得大于 \(d\)。现在需要求见 \(k\) 个连续的桥,求最小代价。 其中 \(1\le k\le n \le 100 阅读全文
摘要:
题目大意 有 \(n\) 个人投球,投了 \(m\) 次。第 \(i\) 次投球时想左、右或者随便一个方向投掷 \(r_i\) 个人。从第 \(x\) 个人开始投球,询问最后球在最后有可能在谁的手里。 其中 \(1\le n,m \le 1000,1\le x,r\le n,\sum n\cdot 阅读全文
摘要:
题目大意 令 \(d(x)\) 表示 \(x\) 的正因子数量,给定 \(n,q\)。现有两种操作: 给定 \(x\),令 \(n\gets n\cdot x\)。同时询问是否存在一个正整数 \(a\) 满足 \(\gcd(a,n)=1\) 且 \(d(n\cdot a)=n\)。 将 \(n\) 阅读全文
摘要:
题目大意 给定 \(l,r\) 和一个长为 \(r−l+1\) 的所有数都不相等的序列 \(a\)。请你找到任意一个数 \(x\) 满足序列 \(a\) 中的所有数异或上 \(x\) 后正好为 \([l,l+1,\cdots,r−1,r]\) 的一个排列。 \(t\) 组数据,\(1\leqslan 阅读全文
摘要:
题目大意 现在需要使用从小写字母 \(a\) 开始的 \(k\) 种字符,构造一个长度为 \(n\) 的字符串 \(s\),使满足 \(i,j\in[1,n-1],i\neq j\) 且 \(a_i=a_j,a_{i+1}=a_{j+1}\) 的数对的数量最少。 其中 \(1\le n \le 2\ 阅读全文
摘要:
题目大意 给定一个字符串,字符串中字符为 \(\texttt{D}\) 或 \(\texttt{R}\),代表两个团队。从 \(1\) 开始,每个人都有发言的权利,发言时,可以禁言一个人,使那个人以后都不能发言。 如果一圈发言完还有1个以上的人能发言,就从 \(1\) 重新开始,直到只有 \(1\) 阅读全文
摘要:
题目大意 给你 \(n(2\le n\le 2\times 10^5)\) 个,第 \(i\) 个点在第 \(x_i\) 行从 \(y_i\) 开始向 \(s_i\) 一直移动,判断是否会有点在运动时与其他点重合。 思路 因为每一个点只会在 \(y_i\) 行移动,所以每一行都是单独的,可以分开讨论 阅读全文
摘要:
题目大意 有 \(n\) 个人 \(m\) 个活动,告诉你每一个人对于活动喜欢程度的排序,你可以鸽掉一些活动。如果一个最喜欢的活动被鸽了,那么他就会参加次喜欢的,依次类推直到参加为止。 求参加人数最多的那个项目,参加人数最少是多少。 思路 做法: 首先模拟出每一个活动的参加人数,依次将人数最多的活动 阅读全文
摘要:
题目大意 就是普通的石子合并,但是添加了限制条件:每一堆石子合并的次数不能超过 \(k\) 次。 思路 对于普通的石子合并,将除了最大的石子外的所有的石子全部合并到最大的石子上肯定是最优的。 证明: 假设石子的重量为 \(a_1,a_2,a_3,\cdots ,a_{n+1},a_n\),且满足对于 阅读全文
摘要:
题目大意 给你一个 \(n\times n\) 的数组 \(C\),\(c_{i,j}=a_i+b_j\),求 \(a\) 数组与 \(b\) 数组,不保证有解,其中 \(1\le n\le 500,1\le c_{i,j}\le 10^9\),而且 \(a_i,b_i\) 都是非负整数。 \[\b 阅读全文
摘要:
题面大意 动物园里有 \(n\) 个动物,第 \(i\) 个动物害怕第 \(a_i\) 个动物,第 \(i\) 个动物价值 \(c_i\) 元。现在我要将这些动物全部卖掉。显然,卖掉的动物编号可以构成一个排列 \(p\)。 考虑卖掉这些动物时: 若 \(a_i\) 在 \(i\) 还没有卖掉之前就被 阅读全文
摘要:
题目大意 给你 \(n\) 个炸弹,第 \(i\) 个炸弹在 \((x_i,y_i)\) 的位置,可以将这一行与这一列的距离小于 \(k\) 的其他所有炸弹引爆,而且连锁的引爆不需要时间。每一秒你可以引爆一个炸弹,其中第 \(0\) 秒也可以引爆,并且第 \(i\) 个炸弹在第 \(timer_i\ 阅读全文
摘要:
在发布了文章 Treap 学习笔记后我认为我的平衡树能力已经登峰造极了。 但是 Treap 真 tmd 太难写了,所以我们的 czy 大佬开发除了一种可以优雅的踩爆 Treap 的绝佳方案。 #include<bits/stdc++.h> using namespace std; int n; st 阅读全文
摘要:
题目大意 有 \(2\times n\) 个人站成一排,然后给每个人分配一个 \(1\) 至 \(n\) 之间的数字,每种数字出现 \(2\) 次。 现在,你可以进行两种操作: 删除操作,将数字相同且相邻的两人删除,删除后两端剩下的队列合并。 交换操作,交换相邻两个人的位置。 每次,问至少操作多少次 阅读全文
摘要:
题目大意 给你一个机器人和机器人的 \(n\) 个运动,要求你在给出的运动路径的基础上设计一种不会走重复的路径的方法,注意只能减少原来的步数而不能增加,其中 \(1\le n\le 10^5\)。 思路 因为这道题目可以自由的配置路径并且要求机器人在最后回到原来的位置,那么就应该要到一种适合所有的移 阅读全文