数论
ln2037
用心雕琢我的艺术品。
展开
-
P3601 签到题【欧拉筛 + 欧拉函数】
题目背景这是一道签到题!建议做题之前仔细阅读数据范围!题目描述我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数。这题作为签到题,给出l和r,要求求∑i=lrqiandao(i) mod 666623333\sum_{i=l}^r qiandao(i)mod666623333∑i=lrqiandao(i) mod 666623333。输入格式一行两个整数,l、r。输出格式一行一个整数表示答案。输入输出样例输入 #1233 2333输出 #1105649原创 2020-10-01 18:56:58 · 310 阅读 · 1 评论 -
P2822 组合数问题 【组合数 + DP】
题目描述组合数 (nm)\binom{n}{m}(mn) 表示的是从 nnn 个物品中选出 mmm 个物品的方案数。举个例子,从 (1,2,3)(1,2,3)(1,2,3) 三个物品中选择两个物品可以有 (1,2),(1,3),(2,3)(1,2),(1,3),(2,3)(1,2),(1,3),(2,3) 这三种选择方法。根据组合数的定义,我们可以给出计算组合数 (nm)\binom{n}{m}(mn) 的一般公式:(nm)=n!m!(n−m)!\binom{n}{m}=\frac{n!}{m!(n原创 2020-10-01 18:53:35 · 244 阅读 · 0 评论 -
P1069 细胞分裂 【数论 + 欧拉筛】
题目描述HanksHanksHanks 博士是 BTBTBT (Bio−TechBio-TechBio−Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。HanksHanksHanks 博士手里现在有 NN N种细胞,编号从 1−N1-N1−N,一个第 ii i种细胞经过 111 秒钟可以分裂为SiS_iSi个同种细胞(SiS_iSi为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入M M原创 2020-09-30 21:01:08 · 243 阅读 · 0 评论 -
P1072 Hankson 的趣味题 【数论】
题目描述Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数 c1c_1c1 和 c2c_2c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0,a1,b0,b1 a_0,a_1,b_0,b_1a0,a1,b0,b1原创 2020-09-30 20:58:12 · 88 阅读 · 0 评论 -
P1835 素数密度 【欧拉筛 + 埃氏筛法】
题目描述给定区间[L,R] (L≤R≤2147483647,R-L≤1000000),请计算区间中素数的个数。输入格式两个数L和R。输出格式一行,区间中素数的个数。输入输出样例输入 #12 11输出 #15此题有一个坑。若一个数是INT_MAX,看起来用int是可以的。但若是把这个数+1了呢?#include <iostream>#include <algorithm>#include <cstring>using namespace st原创 2020-09-29 19:50:30 · 227 阅读 · 0 评论 -
素数线性筛(欧拉筛)
一个数可以分解为一个素数乘以另一个数。每个数被其最小的素因子筛去,就是素数线性筛。时间复杂度是O(n)。#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int maxn = 1e5 + 10;int flag[maxn];int prim[maxn];int tot;void getPrim() { for(int i = 2;原创 2020-09-29 19:47:38 · 118 阅读 · 0 评论 -
P2638 安全系统 【数论】
题目描述特斯拉公司的六位密码被轻松破解后,引发了人们对电动车的安全性能的怀疑。李华听闻后,自己设计了一套密码:假设安全系统中有n个储存区,每个储存区最多能存储存2个种类不同的信号(可以不储存任何信号)。有0和1这两种信号,其中0有a个,1有b个,单独一个0或1算一个信号。现要将这些信号储存在储存区中,0和1可以不用全部储存,一种不同的储存方案经过李华处理后就将是一串不同的密码。现在给出n,a,b,求可能的不同储存方案的个数。输入格式第一行:共3个整数,n,a,b。a,b≤50a,b\le 50a,b原创 2020-09-28 16:45:50 · 226 阅读 · 0 评论 -
P1469 找筷子 【数论】
题目描述经过一段时间的紧张筹备,电脑小组的“RP 餐厅”终于开业了,这天,经理 LXC 接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题:筷子!CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?输入格式第一行是一个整数,表示筷子的数量原创 2020-09-28 16:41:35 · 353 阅读 · 0 评论 -
E 做计数
题目描述这一天,牛牛与 牛魔王相遇了――然而这并不在 牛牛期望之中。牛魔王不出意料又给 牛牛一道看似很难的题目:求有多少个不同的正整数三元组 (i,j,k)\text{}(i,j,k)(i,j,k) 满足 i+j=k\sqrt i+\sqrt j=\sqrt ki+j=k,且 i×j≤ni\times j\leq ni×j≤n。牛牛并不会做,你能略施援手吗?当两个三元组 (i1...原创 2020-02-07 23:28:51 · 115 阅读 · 0 评论 -
整除分块
整除分块用于处理下面这种式子。对于单一的,某些地方的值是相同的,并且呈块状分布假设它的起始位置的下标为l,那么可以得到的是,它的结束位置的下标为int ans = 0;for(int l = 1, r = 0; l <= n; l++) {//l为左端点 r为右端点 r = n / (n / l); //}证明略...原创 2019-12-03 11:59:34 · 114 阅读 · 0 评论 -
I Strange Optimization
题目描述Bobo is facing a strange optimization problem.Given n, m, he is going to find a real number α\alphaα such that f(12+α)f(\frac{1}{2} + \alpha)f(21+α) is maximized, where f(t)=mini,j∈Z∣in−jm+t∣f...原创 2019-10-08 17:38:00 · 116 阅读 · 0 评论 -
L Nice Trick
题目描述Given n integers a1,a2,…,ana_1, a_2, \dots, a_na1,a2,…,an, Bobo knows how to compute the sum of triples S3=∑1≤i<j<k≤naiajak.S_3 = \sum_{1 \leq i < j < k \leq n} a_i a_j a_k.S3=∑1≤...原创 2019-10-08 14:14:17 · 139 阅读 · 0 评论