数论
V32122
这个作者很懒,什么都没留下…
展开
-
HDU6069(筛法 有新技巧)
HDU6069(筛法 有新技巧)题目链接解题思路:这道题是这是暑假集训我debug时间最长的一道题,从昨天下午到今天中午。刚开始的时候直接枚举的l-r之间的所有数的质因数,然后就TLE了,后来我就看了一下题解,发现了一种优化方法,暴力的做法是把l-r每个数的质因数都找一遍,这样比如l-r是1-8,4找过质因数2,6也找过质因数2,8也找过质因数2,效率不高。优化的方法是先把质数筛出来,然后去l-原创 2017-08-23 21:02:17 · 366 阅读 · 0 评论 -
CodeForces 546D(求质因数的个数)
CodeForces 546D(求质因数的个数)题目链接题目大意:求(a!/b!)的所有质因数个数的总和解题思路:刚开始的时候我是把所有的质数求出来存在一个数组里,对于每一个(a!/b!),求从(b+1)到a的每一个数的质因数的个数,然后再求和,这样在test 4的时候TLE了,然后我就去看了网上的题解,发现是把从1到5000000所有数的质因数全部都求出来,然后求一下前缀和,只要isprim原创 2017-08-15 22:51:47 · 677 阅读 · 0 评论 -
codeforces 550C Divisibility by Eight (暴力)
题目链接 :)题目大意:给出一组数,看去掉一部分数后能否是剩下的数被8整除解题思路:这道题最关键的就是要知道只要一个数的后三位可以被8整除,那么这个数就可以被8整除。证明比如一个数abcd=a*1000+b*100+c*10+d,其中1000可以被8整除所以只要剩余部分可以被8整除整个数就可被8整除。1000,10000……等都可以被8整除。知道这一点了数据范围只有100,可以直接暴力枚举AC原创 2017-08-21 20:11:28 · 303 阅读 · 0 评论 -
codeforces 264B Good Sequences
codeforces 264B Good Sequences题目链接题目大意:在给出的一个单调递增的数列中,求出最长子序列(该子串相邻两个元素不互质)的长度解题思路:在周赛的时候没有做出来,后来看了题解代码才明白。首先要开一个vector组,vector[i]中存的是i的所有因数,dp[i]的意思是因数含有i的最长子序列的长度。每次进来一个数我们就更新一遍这个数的因数所对的最长子序列的长度原创 2017-08-21 17:00:59 · 370 阅读 · 0 评论 -
codeforces Vasya and Petya's Game(筛选法)
codeforces Vasya and Petya’s Game(筛选法)题目链接题目大意:给一个数n,Vasya在1-n中想一个数k,每次Petya问这个数能否整除xx,求最少多少次询问Petya一定可以得出结果解题思路:素数只能整除自己,所以要想猜到素数本身必须要询问一次素数本身。素数的次幂只能整除自己或者素数或素数的次幂,比如8能整除2,4,8(2是素数本身,4是2的平方,8是二的三次原创 2017-08-21 10:20:24 · 364 阅读 · 0 评论 -
poj1061青蛙的约会(扩展欧几里得)
poj1061青蛙的约会(扩展欧几里得)题目链接解题思路:根据题目我们可以很容易的写出方程,设t是时间(x+mt)modL=(y+nt)modL(x+mt)modL=(y+nt)modL经过整理可以写成 (m−n)t−kL=(y−x)(m-n)t-kL=(y-x) 这里t和k是未知数,这时就构成了形如ax+by=d一个一元二次方程, a=m−na=m-nb=−kb=-kd原创 2017-08-18 15:02:26 · 362 阅读 · 0 评论 -
codeforces Round 323D Once again(周期数列的最长非递减子序列)
codeforces Round 323D Once again(周期数列的最长非递减子序列)题目链接题目大意:给一个n和t,求t个这样重复的数列 a1,a2......ana_1,a_2......a_n的最长非递减子序列解题思路:我看了很多博客,还是觉得这个解题思路对我来说有点难以理解,在n个循环里我们一定可以找到一个非递增子序列,而n之后的循环我们只需要往里插入重复次数最多的那个数原创 2017-08-17 16:36:03 · 491 阅读 · 0 评论 -
CodeForces 75C(最大公约数)
CodeForces 75C(最大公约数)题目链接题目大意:给a和b,求n次a和b在low和high之间的最大公约数解题思路:先求出a和b的最大公约数c,a和b的公约数一定是c的因数,枚举c的因数存在一个数组里,将数组排序求第一个大于high的因数的前一个因数,将其与low比较求第一个大于或者等于某数的时候要想到upper_bound 和low_bound代码#include<stdio.原创 2017-08-16 19:00:41 · 529 阅读 · 0 评论 -
codeforces 584D(哥德巴赫猜想)
codeforces 584D(哥德巴赫猜想)解题思路:分成三种情况, 首先k=1,即n本身就是一个质数,这样的话直接输出n本身就好了其次k=2,n为奇数,这样的话结果一定是一个奇数和一个偶数的和,2是唯一的偶质数,也就是说一定是2和(n-2)的和,这时只要判断(n-2)是不是质数,如果是,输出2和n-2 就可以了,一开始我只想到这,第三种情况没有想出来最后k=3,有两种情况三个奇数或者两原创 2017-08-16 14:45:14 · 471 阅读 · 0 评论 -
Codeforces 559C Gerald and Giant Chess(组合数学+DP)
Codeforces 559C Gerald and Giant Chess(组合数学+DP)题目大意:求一个矩形网格,从左上角到右下角不经过黑点的路径数知识点:组合数取模,在膜不超过十的五次方时可以用Lucas算法简化,本题中mod=10e9+7,所以不需要Lucas,直接预处理阶乘,在求组合数还要会求出逆元如果Cnm%p表原创 2018-02-06 10:17:41 · 378 阅读 · 0 评论