数论
文章平均质量分 67
雪融了就该花开
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #753 (Div. 3)题解
A. Linear Keyboard给你一个包含26个键的键盘,每个键对应一个小写拉丁字母。你需要在键盘上打出一个单词,单词由小写拉丁字母组成。为了打印出该单词你需要移动到对应的按键上,花费的时间是相邻按键在键盘上的位置差(取绝对值)。Input:第一行的整数,表示测试用例的数量,随后两行是测试用例的描述;第一行是长度为26的a~z组成的小写字符串keyboard。第二行是需要打出的单词s。Output:输出在给出的键盘上打出单词s需要花费的最小时间。(实际上顺序打出单词没有什么原创 2021-11-21 22:33:27 · 1371 阅读 · 3 评论 -
Codeforces Round #685 (Div. 2)E2. Bitwise Queries (Hard Version)题解(数学竞赛/组合构造题)
题目链接:https://codeforces.com/contest/1451/problem/E2大意:这是一个人机交互题。一共有N个[0, N-1]的整数,其中N是2的幂次。允许每次人指定其中两个数字与AND、OR、XOR其中一种运算,查询其计算后得到的结果。最多查询N + 1次,复现出整个数组每个数字的值。思路:记我们的原始的数组为A数组。定理一:对于非负整数x与y,有:x + y = (x xor y) + 2 * (x and y)证明:按照比特位,按位计算。.原创 2021-07-15 23:23:53 · 157 阅读 · 1 评论 -
类欧几里得算法整理
整理来源于网上博客:1、https://blog.csdn.net/hzj1054689699/article/details/769538902、https://blog.csdn.net/ha_ing/article/details/99887508?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-1&spm=1001.2101.3001.4242欧几里得算法,就是辗转相除法。gcd原创 2021-07-09 10:29:46 · 180 阅读 · 1 评论 -
【统一省选2021 B卷】取模(数论)
题目传送门:https://uoj.ac/problem/627题目大意:数据范围:题解:对于每个值不同的a[k],把其余的数字根据%a[k]的值排个序得到数组b,然后b[i]+b[j] % a[k] = b[i]+b[j]或者 b[i] + b[j] - a[k]。所以要么双指针枚举b[i]+b[j]<a[k],要么直接是取最大的b[i]+b[j]-a[k],也就是b[n-1]+b[n-2]-a[k]。直接枚举每一个k就可以拿起码60分了。。。那么我们根据a[k]从大到小枚.原创 2021-06-30 11:53:22 · 255 阅读 · 1 评论