![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 59
SSL_LHNB
Violence Works Wonders
展开
-
来自学长的快乐AK题——Day8 荒地追猎
荒地追猎——数论 Description 数据规模 思路 设xi表示第i位的话就是 (∑i=0xi∗Bi)%(B−1)=0(\sum_{i=0}x_i*B^i)\%(B-1)=0(i=0∑xi∗Bi)%(B−1)=0 化简一下得: ∑i=0(xi∗Bi%(B−1))=0\sum_{i=0}(x_i*B^i\%(B-1))=0i=0∑(xi∗Bi%(B−1))=0 拆开单独的一个来看: xi∗Bi%(B−1)=(xi%(B−1))∗(Bi%(B−1))=(xi%(B−1))∗1x_i*B^i\%(原创 2021-08-25 15:58:20 · 55 阅读 · 0 评论 -
来自学长的快乐AK题——Day6 C
C——简单数论 Description 对于一个正整数N,若x满足,(N-0.5x)/(N-x)为正整数,则x为N的幸运数。 给出一个N,求出[1,N-1]所有N的幸运数, 先回答个数,在将幸运数从小到大输出。 输入 第一行一个正整数N。 输出 第一个整数为cnt,表示有多少个满足的幸运数,后面cnt个数,表示满足的幸运数。 数据规模 对于30%的数据,N<=10^8。 对于100%的数据,N<=10^14。 思路 进行简单的数学推导。 根据同余的数学定义(若(a−b)%p=0(a-b)\%p=原创 2021-08-19 21:59:03 · 71 阅读 · 0 评论 -
来自学长的快乐AK题——Day6 A
A——蜜汁数论 Description 给出多组n,m,求C(n,m)的奇偶性。 输入 输出 数据规模 思路 我看不懂题解的思路,但我有更骚的思路。 设sum[i]记录i!i!i!中质因子2的个数。 由于n,m最大到1e7,我们就可以进行预处理,像前缀和一样递推出所有sum[i](1≤i≤n1\leq i \leq n1≤i≤n)。 对于一个C(n,m),将其化简为(m+1)∗(m+2)∗...∗n(n−m)!\frac{(m+1)*(m+2)*...*n}{(n-m)!}(n−m)!(m+1)∗(原创 2021-08-18 10:38:13 · 65 阅读 · 0 评论 -
来自学长的快乐AK题——Day5 A
A——简单数论 Description 数据规模 思路 由于k是个位数,我们可以很容易的得到k重复n次后的数字:kk...k⏟n个k\underset{n个k}{\underbrace{kk...k}}n个kkk...k。 再对这个数进行拆分:kk...k⏟n个k=k∗11...1⏟n个1=k∗(10n−1+10n−2+...+100)\underset{n个k}{\underbrace{kk...k}}=k*\underset{n个1}{\underbrace{11...1}}=k*(10^{n-原创 2021-08-17 15:01:48 · 96 阅读 · 0 评论 -
来自学长的快乐AK题——Day1 D
D——简单的容斥+快速幂 Description 有n个人依次排队打饭,有m种饭菜可以选择,每个人可能选择其中一种,如果相邻排队的人打的菜一样,那么就会影响彼此吃饭的心情,求这个队伍中有人被影响心情的状态数,对100003取余。 思路 直接考虑有人被影响心情的方案数显然有些困难,但容易发现总方案数和没有人被影响心情的方案数更容易计算,我们就可以考虑容斥,用总方案数减去不合法的方案数,得到合法的方案数。 考虑队伍里的n个人,每个人都有m种选择,显然总方案数为mnm^nmn。 考虑没有人被影响心情的方案数,第一原创 2021-08-16 15:48:02 · 58 阅读 · 0 评论 -
来自学长的快乐AK题——Day4 D
D——数论 Description 给定n,求出所有正整数x,满足小于n,且x^2(%n)=1 将满足的x按从小到大的顺序依次换行输出 思路 (来自教练的高质量题解QAQ) 代码 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const ll N=2000000000; ll n,ans[10000000],cnt; i原创 2021-08-16 15:48:14 · 57 阅读 · 0 评论 -
来自学长的快乐AK题——Day3 D
D——简单数论 Description 定义: 设f(x)为x的约数个数 若对任意0<i<x都有f(i)<f(x),则称x为66数 给出一个正整数n,求出不大于n的最大66数 思路 (1):不同的质因子个数不会超过10,因为前10个质数的积为 2∗3∗5∗7∗11∗13∗17∗19∗23∗29=6,469,693,230>2∗1092*3*5*7*11*13*17*19*23*29=6,469,693,230>2∗10^92∗3∗5∗7∗11∗13∗17∗19∗23∗29=6,原创 2021-08-12 21:25:05 · 81 阅读 · 0 评论 -
来自学长的快乐AK题——Day4 A
A——简单的数论 Description 若数列A存在位置k,满足: ①i<k,ai<ai+1 ②i>=k,ai>ai+1 则称该数列为单峰数列。 给出正整数n,求全排列n中存在多少个单峰数列。 100%:2<=n<=10^18 思路 显然整个序列中最高的点必定是n,剩下的n-1个数按照递增的顺序排列在n的左边,或递减的顺序排列在n的右边。 而一旦确定n的左边或右边是哪些数,同时也能确定另一边排列的数字是哪些。排列的顺序又已经固定了(不是递增就是递减),也就是说,只要确定原创 2021-08-12 21:51:36 · 111 阅读 · 0 评论