数论
Glory_g
明日之我胸中有沟壑,立马振山河
展开
-
Codeforces Round #432 (Div. 2) D - Arpa and a list of numbers
题意 : 给出n个数,以及x,y。现在你可以对这n个数进行两种操作。把任意一个数删除,花费为x。把任意一个数加一,花费为y。现在要求操作后所有数gcd不为1(不互质),求最小花费。题解 : 这个题我们要考虑调和级数,怎么做呢,我们考虑最大公因数只可能是某个素数,如果不是素数,那么这个数一定不会最优的。这里面有一个套路。因为注意到 ai 的范围只有 1e6 的大小,所原创 2017-09-05 19:38:49 · 237 阅读 · 0 评论 -
UVA 1521 数论 + 贪心
题意 : 在1 - n 中任意猜数字,返回一个 gcd (x,a) x 是未确定的数字,a 是你猜的数字,问你猜多少次一定可以保证你能猜到这个数字.题解 :一开始我们想有n个数可能是答案 首先我们考虑 当 gcd (x,a) 的返回值 不是1 的时候 这个时候答案的范围至少减少一半 即 gcd (x,a) == 2 的时候减少一半,其他的情况都比这种情况减少的多 gcd (x,a) == k 的时候原创 2017-10-10 17:32:21 · 382 阅读 · 0 评论 -
ACM数论模版
#include<bits/stdc++.h>using namespace std;const int MAXN= 100005;const int mod = 1e9+7;typedef long long LL;LL c[1005][1005];LL mu[MAXN];LL euler[MAXN];int mu[MAXN];void Mubius()//莫比乌斯函数{转载 2017-10-27 17:04:42 · 258 阅读 · 0 评论 -
数论原根 及其求法
#include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> #include <math.h> #include <bitset> using namespace std; typedef long long LL; const int N = 1000010; bits转载 2017-10-27 16:35:27 · 5155 阅读 · 0 评论 -
codeforces 402D D. Upgrading Array
题解 : 一开始理解错了题意思 还 naive 的以为只能操作一次,理解了题意以后,我们可以发现这个题目,后面的不会影响前面的,怎么说的,就是靠后的除以一个 gcd 如果前面还能除则不会对前面造成影响,这样的话就是一种逆序的思维,剩下的就可以贪心的做了。#include <iostream>#include <cstring>#include <algorithm>#include <cst原创 2017-10-11 19:15:44 · 354 阅读 · 0 评论