E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数论———组合数学
Sum of Digits(
数论
+思维)
如果要让答案最小,显然我们是希望不进位的,因为一旦进位,会让对答案的贡献减少9*进位次数(这样明显会让答案变大).所以我们优先考虑不进位的。其实只要(n-(1+k)*k/2)%(k+1)即可。((1+k)*k/2)是后面k个数个位上比答案大的差值。那如果不满足就要考虑是否存在进位情况产生了,为了让答案最小,结论是:每个数最多只进一次位。那么如果答案是两位数以上,让十位最大为8即可。#include
悭吝韶华
·
2020-08-17 05:02
CF
牛客练习赛23(题解)
这题刚看到的时候还以为是DP,或者是
数论
(前几天做这类题做疯了),但一看数据范围……果断排除。重新看了一下托米有的硬币的面值,这不就是贪心吗,每次能用面值大的就用面值大的,然后就很开心地去写代码了。
lahlah_
·
2020-08-17 04:12
nowcoder
数论
基础知识补充
一、阶
数论
术语其在
数论
中的定义为:设a,p是整数,有:anΞ1(modp)可以使上式成立的最小正整数n叫做a模p的阶。
黎明前的沉睡forever
·
2020-08-17 04:15
暑期项目
ACM
数论
基础之一_______质因数分解
也就是每一个数都可以分解成素数相乘的结果只是简单的代码,相信大家都看得懂吧,于是我就不啰嗦了#include#include#include#include#include#include#includeusingnamespacestd;vectorv;intmain(){intn;while(scanf("%d",&n)!=EOF){v.clear();intok=n;for(inti=2;o
zhao9642
·
2020-08-17 04:50
hdu2044(
组合数学
)
题意:蜜蜂在蜂巢里爬,只能向右爬,不能回头,问从a到b有几种路线;易得way[i]=way[i-1]+way[i-2];将way[a]和way[b]赋值1,然后递推;#include#includelonglongway[55];intmain(){intt;scanf("%d",&t);inta,b;while(t--){scanf("%d%d",&a,&b);way[a]=1;way[a+1]
二分查找
·
2020-08-17 04:35
组合数学
codeforces 1295D Same GCDs
数论
欧拉函数
https://vjudge.net/problem/CodeForces-1295D题目大意:给定n、mn、mn、m,对于任意x(0#defineINF0x3f3f3f3fusingnamespacestd;typedeflonglongll;lleuler(lln)//得到φ(n){llret=n,i;for(i=2;i*i1)//素数情况ret-=ret/n;returnret;}llgcd
csu_xiji
·
2020-08-17 04:53
数论
数论
欧拉函数
欧拉降幂
ACM
数论
总结
断断续续的学习
数论
已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总结。学过的东西不能忘啊。。。
xieshimao
·
2020-08-17 04:53
ACM总结
算法
c
51nod – 1627 瞬间移动(
组合数学
)
/.51nod.com/Challenge/Problem.html#problemId=1627有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第n行第m列的格子有几种方案,答案对1000000007取模。每次每行每列都至少加1,至多走到终点的行列,所以行列可以单独分开看,行从1走到n,列从1走到
wulalalawu
·
2020-08-17 04:54
组合数学
最大公约数和最小公倍数的经典求法(C++)及例题实战练习
最大公约数和最小公倍数的经典求法(C++)最小公倍数:
数论
中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数求最小公倍数算法
笑着的程序员
·
2020-08-17 04:56
C++
笔记
算法
c++
HDU-6825 Set1【2020 Multi-University Training Contest 5】【
组合数学
】
题目HDU-6825题意值为1-n的n个数的集合(n为奇数),每次进行一次操作:删除集合中最小的数,同时随机删除集合中的另一个数,进行(n-1)/2次这样的操作,最终剩下一个数,现在问集合1-n每个数最终被留下的概率题解我们定义操作中选择最小的数删除为操作1,随机删除的为操作2;我们考虑每个i最终留下的方案,首先当i前面的数大于等于后边的数时才有可能会被留下来,即i-1>=n-i;因为如果前边的数
arc3102
·
2020-08-17 04:27
笔记
快速求组合数
1同余同余是
数论
中的重要概念。给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m
-Coca
·
2020-08-17 03:25
算法与数据结构
辣鸡(ljh) NOIP模拟赛 模拟 平面几何
数论
化学相关(雾)
【题目描述】辣鸡ljhNOI之后就退役了,然后就滚去学文化课了。然而在上化学课的时候,数学和化学都不好的ljh却被一道简单题难住了,受到了大佬的嘲笑。题目描述是这样的:在一个二维平面上有一层水分子,请问形成了多少个氢键?这个二维平面可以看做一个类似棋盘的东西,每个格子可以容纳一个水分子,左下角的格子为(0,0),这个格子右边的格子为(1,0),上方格子为(0,1),以此类推。辣鸡ljh当然不会做了
weixin_34376986
·
2020-08-17 03:30
HDU 4828
这题是《
组合数学
》的习题中的一道。。。。。。当初不会。。。。。想到一个证明:填入2n个数,把填在上方的数的位置填上+1,下方的填上-1。
weixin_30421809
·
2020-08-17 03:51
数论
,
组合数学
相关
内容同余定理的应用gcd快速幂快速乘同余定理的应用最简单的应用:(a+b)%p==(a%p+b%p)%p(a-b)%p==(a%p-b%p)%pa*b%p==((a%p)*(b%p))%p其实就是加减乘的运算都可以边运算边取模,这和运算结果出来后再取模是一样的。比如:(a+b*c-d)%p==(a%p+b%p*c%p-d%p)%p。目的:防止结果太大,爆类型。理解:用竖式计算理解:当计算(356+
weixin_30402343
·
2020-08-17 03:19
模板 -
组合数学
- (新)
其实一般都只是求一个组合数:constllMOD=1e9+7;constintMAXN=1e6;llinv[MAXN+5],fac[MAXN+5],invfac[MAXN+5];voidinit_inv(intn=MAXN,llmod=MOD){inv[1]=1;for(inti=2;i>=1;}returnres;}//2.快速乘a*b%mod防止乘法溢出llinlinellqmut(lla,l
weixin_30367945
·
2020-08-17 03:16
【
数论
】勒让德定理(笔记)
勒让德定理是用来求n!的素因子分解的一个定理,表述为:记素数p的指数为Lp,Lp(n!)=∑[n/pk](k>=1).维基百科有详细的证明一个要用到该定理的问题:uvalive5828求一个最大的数d,满足:1.能分解成不同的因子,这些因子不能超过n;2.是一个完全平方数.输入n输出d%1000000007分析:为满足完全平方数只需素分解后所有素数p的指数是偶数,因此这个最容易满足的条件我们放在最
weixin_30367169
·
2020-08-17 03:15
模板:
组合数学
组合数学
组合数取模为方便,记C(n,m)=Cnm=(nm)C(n,m)=C_n^m=\binom{n}{m}C(n,m)=Cnm=(mn)。
wu-kan
·
2020-08-17 03:40
acm
模板
POJ-1850-Code-
组合数学
http://poj.org/problem?id=1850本题其实并不难。。。自己给自己吓到了。。看了复杂的题解。。。和3252的思路一样,要求当前字符串的位置,设当前长度为x1、先求len#include#include#include#include#include#include#include#include#includeusingnamespacestd;__int64inf=15;
yuhong_liu
·
2020-08-17 03:34
hdu 4366 Card Collector(
组合数学
:容斥定理)
题意是给出买零食中奖第i个卡片的概率p[i]求最少买多少包零食可以凑齐所有卡片就没读懂样例是怎么来的...据说官方解题报告写的是用如下的方法做:后来想了下大概是这样:0.10.410.500要中第一个卡片需要买1/0.1==10包零食//这里剩余的9包可能含有卡片2要中第二个卡片需要买1/0.4==2.5包零食//这里剩余的7.5包可能含有卡片1而10+2.5包零食中除去含有另一个卡片的情况10+
殷华
·
2020-08-17 02:55
数学/数论
数论
常用内容——数根
对于数根可能接触的不多,但是我觉得这里还是应该做一下简单的总结和介绍数根数根(又称数字根Digitalroot)是自然数的一种性质,每个自然数都有一个数根。数根是将一正整数的各个位数相加(即横向相加),若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止,最后得到的数字就是该数的数根数根的性质root(a+b)=root(root(a)+root(b))root(a*b)=r
tick_tokc97
·
2020-08-17 02:41
ACM-数论
【ACM训练六】
数论
入门
素数问题素数判定枚举:2-n(时间复杂度:O(n))优化:2-[√n](时间复杂度:O(√n))素数筛如何筛出2到n中所有素数?枚举:时间复杂度O(n√n)素数筛:通过预处理,做到每次O(1)判断一个数(某个范围内)是否为素数。埃氏筛:初始将所有数(从2开始)默认为素数,从小到大遍历每个数x,如果x是素数,那么将2x,3x,4x……划掉,即标记成非素数优化:每次改为划掉x2,x2+x,x2+2x…
三分天注定
·
2020-08-17 02:00
ACM
[kuangbin带你飞]专题十四
数论
基础
A-Bi-shoeandPhi-shoe——筛素数题意一个竹竿长度为p,它的score值就是比p长度小且与且与p互质的数字总数,比如9有1,2,4,5,7,8这六个数那它的score就是6。给你T组数据,每组n个学生,每个学生都有一个幸运数字,求出要求买nnn个竹子每个竹子的score都要大于或等于该学生的幸运数字,每个竹竿长度就是花费,求最小花费。思路ppp长度小且与且与ppp互质的数字总数就是
Miserable_ccf
·
2020-08-17 02:27
基础数论
Kuangbin刷题
数论
板子
//筛法求MAXN范围以内的素数表,其中需要借用一个bool数组visvoidprime_table(){inti,j;for(i=2;i1)ans*=(n-1);returnans;}//求a与b的最大公约数,其中b>aintgcd(inta,intb){if(a>b)swap(a,b);while(a){intt=b%a;b=a;a=t;}returnb;}//扩展欧几里得,ax+by=c,求
rain_falls
·
2020-08-17 02:14
NOIP
算法
数论
的基础入门(初读
数论
概论有感)(acm知识储备)
在寒假自己对自己的硬核知识进行了充电,这本书是学长极力推荐的,是专门给数学系的学生进行对
数论
进行全面认识和理解的入门书籍,虽然自己是计算机的,但是并不影响去阅读它,读的过程中就发现了,书中不少数学系的知识映入眼帘
洋-葱
·
2020-08-17 02:39
个人感悟
ACM
组合数学
模板
排列:不可重复排列:可重复排列:从n个取可重复k个排列数为:圆排列:错位排列:指数母函数定义:组合:不可重复组合:可重复组合:不相邻组合:从n个取m个不相邻组合数为:组合常用公式:帕斯卡恒等式:普通母函数定义:常见数列:斐波那契数列:卡特兰数列:递归公式1:递归公式2:组合公式1:组合公式2:全排列/*================================================
ankoye
·
2020-08-17 02:06
ACM
Two Divisors【GCD
数论
】
Youaregivennnintegersa1,a2,…,ana1,a2,…,an.Foreachaiaifinditstwodivisorsd1>1d1>1andd2>1d2>1suchthatgcd(d1+d2,ai)=1gcd(d1+d2,ai)=1(wheregcd(a,b)gcd(a,b)isthegreatestcommondivisorofaaandbb)orsaythatthere
Andres_Lionel
·
2020-08-17 02:00
数论
数论
基础 1
1.欧几里得算法(辗转相除法)递归写法:intgcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}更简洁的写法:intgcd(inta,intb){returnb?gcd(b,a%b):a;}扩展:求最大公倍数lcmlcm(a,b)=(a*b)/gcd(a,b);//为了防止a*b超longlong溢出//所以建议这样写lcm(a,b)=a/g
不想悲伤到天明
·
2020-08-17 02:57
#
数论
ACM
数论
入门题(附代码解释)
HDU2710MaxFactor(素数筛选)POJ2142TheBalance(扩展欧几里得)POJ1061青蛙的约会(扩展欧几里得)洛谷P1069细胞分裂(质数分解)HDU2866SpecialPrime(
数论
SpongeBob_Y
·
2020-08-17 02:24
数论
【天梯】
数论
入门-1212 最大公约数
题目描述Description求两个数A和B的最大公约数。1usingnamespacestd;intgcd(inta,intb)//最大公约数{inti;for(i=a;i>=1;i--){if(a%i!=0)continue;elseif(b%i==0)returni;}}intmain(){inta,b,ans;cin>>a>>b;ans=gcd(a,b);cout<
dyyz_wlx
·
2020-08-17 01:52
数论
板子(持续更新
boolissqr(__int128_tx)//开方{__int128_ty=(__int128_t)ceil(sqrt((longdouble)x));for(;y*yx;--y);returny*y==x;}booliscub(__int128_tx)//三次方{__int128_ty=(__int128_t)ceil(pow((longdouble)x,1.0/3));for(;y*y*yx
twh233
·
2020-08-17 01:20
拓展欧几里得算法
根据
数论
中的定理:gcd(a,b)=gcd(b,a%b),我们可以得到ax+by=gcd(a,b)=gcd(b,a%b)=bx1+(a%b)y1而取模公式为:a%b=a-[a/b]*b([a
Racyevick
·
2020-08-17 01:37
数论
入门1——最大公约数与最小公倍数
gcd(a,b),就是求a和b的最大公约数lcm(a,b),就是求a和b的最小公倍数欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。。下面记几个公式,证明以后再补。1.gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)2.gcd(a,b)=gcd(b,amodb);3.a,b互质等价于gcd(a,b)=1;4.a*
小玖玖要加油吖
·
2020-08-17 01:28
数论
gcd
lcm
数论
题目入门 基础积攒
基本性质若p|(a-b),则a≡b(%p)。例如11≡4(%7),18≡4(%7)(a%p)=(b%p)意味a≡b(%p)对称性:a≡b(%p)等价于b≡a(%p)传递性:若a≡b(%p)且b≡c(%p),则a≡c(%p)运算规则模运算与基本四则运算有些相似,但是除法例外。其规则如下:(a+b)%p=(a%p+b%p)%p(1)(a-b)%p=(a%p-b%p)%p(2)(a*b)%p=(a%p*
折腾怪
·
2020-08-17 01:54
ACM
机试
练级
hdu5914 Triangle _
数论
TriangleTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):937AcceptedSubmission(s):596ProblemDescriptionMr.Froghasnsticks,whoselengthsare1,2,3⋯nrespectively.Wal
15wylu
·
2020-08-17 01:45
HDOJ
HDU 6796 X Number
HDU6796XNumberinput31101111111000output121数位DP+
组合数学
题意:找到[l,r]符合条件[=d]的数字。[=d]定义为:当前数字中d出现的次数严格最大。
岛屿失梦°
·
2020-08-17 01:01
dp
hdu 4828 - Grids
分析:组合,计数,卡塔兰数,
数论
。结果是卡塔兰数。这里要计算第1000000个卡特兰数,这个数字十分巨大,第10
小白菜又菜
·
2020-08-17 01:19
图论
动态规划(DP)
解题报告
数论
【
数论
入门】快速幂
没错这个blog存在的目的就是摸鱼(诶干嘛摸我自己???)去年这个时候学的算法也po上来吧cuz我全忘光了数学原理是这样的:比如a的b次幂我们可以将b化成几个2的几次幂相加的形式,这样时间复杂度就降到log级了。说道2的几次幂,是不是想到了二进制?没错,具体代码操作就是二进制的方法。intksm(inta,intb,intc,intd){c=a,d=1;while(b){if(b%2)d*=c;c
MAXINE_QIAN
·
2020-08-17 01:09
数论
[
数论
] 约数个数定理与约数和定理
约数个数定理对于一个大于1正整数n可以分解质因数:则n的正约数的个数就是。其中a1、a2、a3…ak是p1、p2、p3,…pk的指数。约数定理证明首先同上,n可以分解质因数:n=p1^a1×p2^a2×p3^a3*…*pk^ak,由约数定义可知p1^a1的约数有:p1^0,p1^1,p1^2......p1^a1,共(a1+1)个;同理p2^a2的约数有(a2+1)个......pk^ak的约数有
Uniontake
·
2020-08-17 01:01
数论
数论
入门--错排
错排公式错排公式pala提出的问题:十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?这个问题推广一下,就是错排问题:n个有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。下面用递推的方法推导错排公式:当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在
thoughtspark
·
2020-08-17 01:28
数论
模板---数论
使用线性同余法生成伪随机数/序列(C++实现)
最近朋友提出一个问题,自己编写函数生成随机数,一开始没有认真思考,后来想了一下,如果是学习过计算机密码学,应该很快就能设计出一些算法,这里使用了
数论
领域的相关知识——线性同余法简单实现了生成随机数算法。
Herbert_Zero
·
2020-08-17 01:29
数据结构与算法
数论
基础讲解
数论
,顾名思义,是对整数进行研究的理论。是数学学科的一个重要分支,也是ACM竞赛题型中饶有趣味的一个部分。
数论
,有人戏称为“素论”。可见对于素数的研究在
数论
中比重之大。
judyge
·
2020-08-17 01:55
----数论
算法笔记——
数论
基础
终于学到了
数论
。。。1.最大公约数gcd(a,b)STL中有__gcd()使用非常的方便。gcd是一种非常常见的操作,小学时就学会它的求法。
gjc2561571372
·
2020-08-17 00:55
算法笔记
亲密数——
数论
问题系列
亲密数是成对出现的,展示了两个整数之间通过因子的密切联系。如果整数a的因子和等于b,而整数b的因子和等于a,因子包括1但不包括本身,且a不等于b,则称a、b为亲密数对。例如:220和204便是一堆亲密数,因为其满足如下规则:220的各个因子之和为:1+2+4+5+10+11+20+22+44+55+110=204;204的各因子之和为:1+2+4+71+142=220.代码如下:importjav
gaojiehigh
·
2020-08-17 00:19
数论问题
ACM
数论
板子
#includeusingnamespacestd;constintMAXN=100005;constintmod=1e9+7;typedeflonglongLL;LLc[1005][1005];LLmu[MAXN];LLeuler[MAXN];intmu[MAXN];voidMubius()//莫比乌斯函数{mu[1]=1;for(inti=1;i>=1;}returnres;}LLComb(L
zzuli-dk
·
2020-08-17 00:00
数论
算法模版
RSA算法原理(二)
转载:RSA算法原理(二)作者:阮一峰日期:2013年7月4日上一次,我介绍了一些
数论
知识。有了这些知识,我们就可以看懂RSA算法。这是目前地球上最重要的加密算法。
活的钻石
·
2020-08-17 00:33
数论
欧拉函数和欧拉定理
article/details/80693756https://www.cnblogs.com/xiaoyezi-wink/p/10675357.html这里就以自己做好的PPT图片的形式给出了:欧拉函数在
数论
活的钻石
·
2020-08-17 00:32
数论
8.2学长讲解(
数论
入门)
相应题目链接:https://vjudge.net/contest/175786#overview1.线性筛选素数:参考http://blog.csdn.net/zhang20072844/article/details/7647763#includeN100000+5intprime[N];bools[N];voidPrime(){inti,j,k,t;//判断是否素数for(i=2;i>1;}
Lesroad
·
2020-08-17 00:31
数论
组合数学
引论部分习题答案
第一章第6题证明:从1,2,…,200个数中取100个整数,其中之一小于16,那么必有两个数,一个能被另一个整除假设命题成立.首先将1-200按照连续除以2,直到不能被2整除的结果分为100组,即:1,1*2,1*4,...3,3*2,3*4,......197199每一组中的数都能互相整除.所以如果想取100个不能互相整除的数,只能每个组取一个.设取的数为a1=1*2^k1a3=3*2^k3a5
buxizhizhou530
·
2020-08-17 00:59
作业
Codeforces 711E
数论
ZSandTheBirthdayParadoxtimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputZStheCoderhasrecentlyfoundaninterestingconceptcalledtheBirthdayParadox.Itstatesthatgi
black_miracle
·
2020-08-17 00:54
每日一题
数论
poj 1845 Sumdiv
数论
--等比数列和(逆元或者递归)
先说题意:输入a和b,求a^b的所有因子之和。题解:先分解a的质因子,a=p1^t1*p2^t2*...*pk^tk(pi为质数)。再a^b=p1^(t1*b)*p2^(t2*b)*...pk^(tk*b)。选出所有的因子就是枚举所有的ti*b,求和可知sum=(1+p1+...p1^(t1*b))*(1+p2+...p2^(t2*b))*...*(1+pk+...+pk*(tk*b));而求1+
knownothing
·
2020-08-17 00:56
数论*
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他