数论
我的程序跑快快
这个作者很懒,什么都没留下…
展开
-
HDU - 2110 Crisis of(思维 / 母函数)
思路:记:sum=∑i=1npi∗misum = \sum_{i=1}^{n}p_i*m_isum=i=1∑npi∗mi构造母函数:Πi=1n(∑j=0mi(pj∗xj∗pj))\Pi_{i=1}^{n}(\sum_{j=0}^{m_i}(p_j*x^{j*p_j}))Πi=1n(j=0∑mi(pj∗xj∗pj))展开之后,关于xxx的多项式:a0+a1∗x+a2∗x2+...原创 2019-10-31 21:10:50 · 239 阅读 · 0 评论 -
关于容斥原理和莫比乌斯反演理解
以题目 “HDU - 2204 Eddy’s爱好” 为例首先比较容易想到的是对于一个 [1,n][1,n][1 , n] 这 n 个数,可以写成 axaxa^x 的一共有 n1xn1xn^{\frac 1x} 个数字。 那么首先我们可以枚举 x ,就能完全不遗漏地考虑到所有满足情况的数字。但是,这之间一定会有数字重复考虑了,比如:如果一个数可以表示成 a12a12a^{12} 那么它就一定可...原创 2018-08-15 10:47:51 · 821 阅读 · 0 评论 -
2018年大连海事大学校赛(ACM竞赛高校联盟训练赛 第11场)题解
比赛地址:https://www.jisuanke.com/contest/1224(已添加到计蒜客题库)A.Alice and Bob博弈论+线段树博弈论是最经典的Nim博弈,用线段树维护区间sg函数的异或值,然后区间更新就可以做。注意要预处理出每个子游戏的sg函数值。代码:#include <iostream>#include <math.h>...原创 2018-04-08 11:25:42 · 1383 阅读 · 0 评论 -
HDU - 6053 TrickGCD(莫比乌斯反演+容斥思想+分块前缀和技巧)
题目大意:给你一个数组 A ,问你有多少不大于 A 的数组 B 使得 B 中所有元素的最大公因数不为1。(数组 B 不大于数组 A 就等价于,对于任意 A 数组中的元素 a [ i ] 和 B 数组中对应元素 b [ i ] ,均有:a [ i ] >= b [ i ])思路:容斥思想:该问题就可以转化成求有多少数组 B 满足:B 中的所有元素的最大公因数为 1。莫比乌斯反演:原创 2018-01-10 23:48:06 · 348 阅读 · 0 评论 -
HDU - 5213 Lucky(莫队算法+容斥思想)
题目大意:多次询问,每次询问两个区间[l1,r1],[l2,r2][l_1,r_1],[l_2,r_2]个选出一个元素,有多少种选择方法可以使选出的两数的和为定值 k 。原创 2017-10-31 09:51:00 · 322 阅读 · 0 评论 -
HDU - 5145 NPY and girls(莫队算法+乘法逆元)
题目大意:就是有个人生赢家有好多女朋友,然后他还把这些女朋友排成了一个序列,并且还知道每个女朋友所在的班级。他要多次约一个区间的所有女朋友出去玩。(一个班的女朋友可以看做是相同的)现在,对于给定的每个区间,他有多少种约这个区间所有女朋友出去玩的方式(顺序)。原创 2017-10-30 20:59:27 · 363 阅读 · 0 评论 -
CodeForces - 822D My pretty girl Noora(埃式筛素数+贪心)
题目大意:首先定义f(n):有n个人参加比赛,可以进行任意轮的比赛,每一轮是将他们分成任意组(必须保证每组人数相同),然后每组的所有人两两之间都必须进行一次比较。f(n)就表示确定第一名所需的最少比较次数。现在给你:l,r,t,让你求:∑i=lrti−l∗f(i)\sum_{i=l}^{r}{t^{i-l}*f(i)}。原创 2017-09-12 19:37:17 · 415 阅读 · 0 评论 -
HDU - 6169 Senior PanⅡ(dp+数论)
题目大意:多组测试数据,每组给你三个数:l,r,k;让你输出区间 [ l , r ] 内所有最小不为 1 的因数是 k 的数的和。(l,r,k≤1011)(l,r,k \le 10^{11})原创 2017-09-17 11:48:39 · 492 阅读 · 0 评论 -
2017百度之星初赛(B) 1001 Chess(思维+Lucas)
题目大意:给你一个 m*n (0< m <1000,0< n <1000)的棋盘,问你在上面放最多的棋子的摆放方法的种数。要求:对于每一个棋子,它的上面每一行的棋子都必须在它的左边。且每一行只能有一个棋子。原创 2017-08-14 10:49:35 · 532 阅读 · 2 评论 -
2017百度之星初赛(A) 1001 小C的倍数问题(基础数论)
题目大意:给你一个数p(2 < p <1e9),问你有多少数 x 满足:对于任意一个数,“它能被 x 整除”的充要条件是“把它化成 p 进制的数之后,把各个位的数相加也能被 x整除”。原创 2017-08-12 19:19:16 · 739 阅读 · 0 评论 -
HDU - 6129 Just do it(找规律)
其实暴力输出几组应该就会发现规律了。关于严格证明,有时间想起来会补的(想得起来的话)原创 2017-08-18 10:38:46 · 273 阅读 · 0 评论 -
蓝桥杯 买不到的数目 解题报告
题目大意:输入两个数:a,b,找出最大的c满足c不能表示成an+bm(n,m∈N∗)an+bm(n,m∈N*)。代码:#include<iostream>#include<math.h>#include<string.h>using namespace std;int dp[1050]={0};int main(){ int a,b; cin>>a>>b; if(a原创 2017-04-25 19:03:22 · 759 阅读 · 0 评论