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
----51nod
[
51nod
1227]平均最小公倍数(莫比乌斯反演+杜教筛)
======这里放传送门======题解首先题目给出的A函数实际上就是1n∑i=1nn∗i(i,n)=∑i=1ni(i,n)然后F函数就可以写成∑i=1n∑j=1ij(i,j)然后按照常用套路化一波式子就会变成∑d=1n∑i=1⌊nd⌋∑j=1i[(i,j)==1]j这个样子,后面那一块可以发现就是1..i中与i互质的数字的和,那就是φ(n)∗n+[n==1]2了。然后可以发现在d从1到n枚举的过
FromATP
·
2020-08-24 06:05
烧脑的数论
【莫比乌斯反演+杜教筛】
51Nod
-1227 平均最小公倍数
【题意】原题地址题目大意:见分析。【解题思路】显然是反演,然而我的做法和网上题解完全不一样--,使得我心态爆炸了很久。题目相当于求Ans=∑ni=11i∑ij=1lcm(i,j)Ans=∑i=1n1i∑j=1ilcm(i,j),开始推柿子。lcm转化为gcd(跳了一步)∑ni=1∑ij=1jgcd(i,j)∑i=1n∑j=1ijgcd(i,j)疯狂改变枚举顺序∑nd=1∑⌊nd⌋i=1∑ij=1[
Dream_Lolita
·
2020-08-24 06:04
数论-莫比乌斯反演
数论-筛法
[
51nod
1227]平均最小公倍数(反演+杜教筛)
题目:我是超链接题解:A函数实际上是1n∑i=1ningcd(i,n)=∑i=1nigcd(i,n)1n∑i=1ningcd(i,n)=∑i=1nigcd(i,n)那么我们要求的F函数就是∑i=1n∑j=1ijgcd(i,j)∑i=1n∑j=1ijgcd(i,j)经过套路的画柿子之后我们得到的是∑d=1n∑i=1nd∑j=1i[(i,j)=1]j∑d=1n∑i=1nd∑j=1i[(i,j)=1]j
wwyx2001
·
2020-08-24 06:31
莫比乌斯反演
杜教筛
51Nod
_P1244 莫比乌斯函数求和
题目大意:求:2#include#include#defineN20000000usingnamespacestd;longlonga,b,n;intmu[N+10],pri[1300010],top;boolmark[N+10];mapV;voidshake(){mu[1]=1;for(inti=2;i>a>>b;cout<<calc(b)-calc(a-1)<<endl;return0;}
Todobe
·
2020-08-24 05:16
杜教筛
jenkins主从模式配置
主机清单:master:192.168.182.1
51nod
e1:192.168.182.1501、安装slave子节点前提:slave所在服务器必须有java环境,不需要安装jenkins服务子节点部署
大鹅i
·
2020-08-24 00:13
Jenkins-CICD相关
使用 kubeadmin 离线部署 kubernetes1.9
2019独角兽企业重金招聘Python工程师标准>>>一、环境介绍:1、操作系统:centos7.33.10.0-693.el7.x86_642、主机名node1192.168.5.2
51nod
e2192.168.5.252node3192.168.5.253
weixin_33885676
·
2020-08-23 20:12
51nod
1376 最长递增子序列的数量 树状数组
数组A包含N个整数(可能包含相同的值)。设S为A的子序列且S中的元素是递增的,则S为A的递增子序列。如果S的长度是所有递增子序列中最长的,则称S为A的最长递增子序列(LIS)。A的LIS可能有很多个。例如A为:{13204},134,124均为A的LIS。给出数组A,求A的LIS有多少个。由于数量很大,输出Mod1000000007的结果即可。相同的数字在不同的位置,算作不同的,例如{112}答案
translata
·
2020-08-23 19:30
树状数组
【
51NOD
1376】—最长递增子序列的数量(树状数组)
传送门仔细回忆一下是怎么求最长递增子序列的?我们发现对于当前第iii位,用f[i]f[i]f[i]表示以iii为结尾的最长上升子序列的长度再用一个cntcntcnt表示数量那么当前f[i]=max(∑j=1nf[j]),cnt[i]=∑f[j]=f[i]cnt[j]f[i]=max(∑_{j=1}^{n}f[j]),cnt[i]=∑_{f[j]=f[i]}cnt[j]f[i]=max(∑j=1nf
Stargazer.
·
2020-08-23 18:43
51Nod
- 1249 近似有序区间 (单调栈+树状数组+偏序)(好题)
题目链接极大极小子段,就是一个序列,它的最小值在最前面,它的最大值在最后面。现在给你一个由1~n的一个排列构成的数组S,求它有多少个这样的子段例如:S={3,1,2,5,4},S的所有极大极小子段为:{3},{1},{1,2},{1,2,5},{2},{2,5},{5},{4}Input第一行:一个数N,表示S的长度。(1=j&&i>=j,其中b【i】代表第i个数字作为最大值的最左的端点,d【i】
qq_42479630
·
2020-08-23 18:11
树状数组
51Nod
- 1376 最长递增子序列的数量(树状数组+DP)*
题目链接:https://cn.vjudge.net/problem/
51Nod
-1376#includeusingnamespacestd;#definedebugputs("YES");#definerep
等我学会后缀自动机
·
2020-08-23 18:13
其他OJ习题集
树状数组
动态规划之优化DP
【树状数组】
51nod
1376 最长递增子序列的数量
通道思路:dp[i]由dp[i-1]而来,统计小于a[i]的位置k,且dp[k]+1=dp[i]的所有个数即可。代码:#include#include#includeusingnamespacestd;typedeflonglongll;templateinlineboolrd(T&ret){charc;intsgn;if(c=getchar(),c==EOF)returnfalse;while(
diwugi7576
·
2020-08-23 16:15
51nod
1266 蚂蚁
题目链接:https://www.
51nod
.com/onlineJudge/questionCode.html#!
弱菜zc
·
2020-08-23 08:32
51nod
乱搞
CSU-ACM2017暑假集训比赛7 - F - 凑数字 -
51Nod
- 1385
F-凑数字给定一个n,要求找出一个最短的字符串S,使得所有1到n的整数都是S的子序列。比如n=10,那么S=”1234056789”的时候,是满足条件的。这个时候S的长度是10。现在给出一个n,要求输出最短S的长度。Input第1行:给出一个整数n(1n,或者找不到任何k≠n,则执行len=len+n操作。这样得到的字符串str拥有足够表达给定数字的最短长度。#include#include#in
xiyue_jiang
·
2020-08-23 08:10
CSU-ACM2017暑期训练
模拟
51nod
1117 聪明的木匠 (贪心)
http://www.
51nod
.com/onlineJudge/questionCode.html#!
weixin_30552635
·
2020-08-23 07:40
【
51Nod
1398】等公交
小镇的公交车站里有N辆公交,标号为0,1,2,…,N-1。这个小镇的公交运作模式比较奇葩,当必须有一辆车离开车站时,系统会随机从N辆车中选择一辆车,其中任意一辆车i被选中的概率为prob[i]/100,当车i被选中后它会离开车站,并且在之后的time[i]的时间内完成它的行程并返回车站。然后系统又开始随机选N辆车之一(存在同一辆车被连续多次选中的可能)。这个车站在0时刻发出第一班车。如果你在s时刻
愤怒的愣头青
·
2020-08-23 07:59
dp
51nod
(1398 等公交)求期望
51nod
1398题解:我们开一个数组dp[i]表示第i时刻有车出发的概率为多少,我们可以先将数组求到dp[s],然后我们用i小于s时刻的dp[i]去求下一次时间大于s时有车出发的概率即可,然后将其概率乘上一个时间差
qq_3030364995
·
2020-08-23 07:06
51nod
1649 齐头并进 (思维,最短路)
原题链接:https://www.
51nod
.com/onlineJudge/questionCode.html#!
每个人都该翩翩起舞
·
2020-08-23 06:58
51nod
【概率DP】
51Nod
1398 等公交
题面在这里考虑fi表示用了i时间,用了任意辆车概率之和然后就好了示例程序:#include#include#definecl(x,y)memset(x,y,sizeof(x))inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;returnp1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2
linkfqy
·
2020-08-23 06:13
51Nod
概率/期望DP
常见OJ题解专栏
我的OI历程
51nod
oj 1183 编辑距离 【求一个字符串到另一个字符串的最小操作次数【类似LCS】】
题目链接:1183此题相当于LCS---下面的看不懂了可以看LCS他们的原理是像似的-设S串和T串--我们可以从后面开始看-.-//如果s[n]==t[m]--那么dp[n][m]=dp[n-1][m-1]--因为一样不操作//如果s[n]!=t[m]--那么dp[n][m]=min(dp[n-1][m-1],dp[n-1][m],dp[n][m-1])+1//dp[n-1][m-1]为替换--/
leibniz_zhang
·
2020-08-23 06:58
51nod
oj
动态规划
我的ACM成长历程---啦啦啦
51Nod
-1398-等公交
ACM模版描述题解暴力dp,时间复杂度为O(N∗s),代码十分容易理解,不再赘述了……代码#include#include#include#defineclr(a,b)memset(a,b,sizeof(a))usingnamespacestd;constintMAXN=100;constintMAXS=2e5+5;intN,s;inttim[MAXN];doublepro[MAXN];doubl
f_zyj
·
2020-08-23 05:14
动态规划
51Nod-题解集锦
【
51Nod
- 1266】蚂蚁(水题)
n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。例如:竿子长10cm,3只蚂蚁位置为267,最短需要4秒(左、右、右),最长需要8秒(右、右、右)。Input第1行
bfcx
·
2020-08-23 05:41
51nod
1398 等公交【概率DP】
Description小镇的公交车站里有N辆公交,标号为0,1,2,…,N-1。这个小镇的公交运作模式比较奇葩,当必须有一辆车离开车站时,系统会随机从N辆车中选择一辆车,其中任意一辆车i被选中的概率为prob[i]/100,当车i被选中后它会离开车站,并且在之后的time[i]的时间内完成它的行程并返回车站。然后系统又开始随机选N辆车之一(存在同一辆车被连续多次选中的可能)。这个车站在0时刻发出第
Sdywolf
·
2020-08-23 04:21
51nod
-----DP-----
概率DP
51Nod
- 1398 等公交
题解这题是比较基础的概率DP题。定义f[i]表示第i个时刻的所有的情况的概率和。f[i]由∑f[i−time[j]]来转移就好了。最后枚举一下在他上车之前的最后一辆车是那一辆*他等的时间就好了。代码如下:#include#includeusingnamespacestd;constintmaxn=105,maxt=100005;intT,n,s,a[maxn],p[maxn];doubleans,
DYT_B
·
2020-08-23 04:14
题解
51nod题解
51nod
-1266 蚂蚁
1266蚂蚁题目来源:Poj基准时间限制:1秒空间限制:131072KB分值:20难度:2级算法题收藏关注n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。例如:竿子
z岁月无声
·
2020-08-23 04:09
51Nod
模拟
【
51NOD
1398】等公交
题面小镇的公交车站里有N辆公交,标号为0,1,2,...,N-1。这个小镇的公交运作模式比较奇葩,当必须有一辆车离开车站时,系统会随机从N辆车中选择一辆车,其中任意一辆车i被选中的概率为probi/100,当车i被选中后它会离开车站,并且在之后的timei的时间内完成它的行程并返回车站。然后系统又开始随机选N辆车之一(存在同一辆车被连续多次选中的可能)。这个车站在0时刻发出第一班车。如果你在s时刻
Ashley_2013
·
2020-08-23 04:00
20200508打卡
我目前想刷穿
51nod
。
51nod
挺不错的。从今天开始坚持刷题打卡。先订个小目标吧,每天3道题,坚持一个月。
AWESOME_CDX
·
2020-08-23 04:59
【
51nod
1479】小Y的数论题(构造)(扩展欧几里得)
传送门题解:猜得到应该是没有无解的情况。令x=2pb,y=2pa,z=2(pab+1)/cx=2^{pb},y=2^{pa},z=2^{(pab+1)/c}x=2pb,y=2pa,z=2(pab+1)/c即可得到一组合法解,但是注意到可能取000就gg了。对于222的整数次幂,直接特判即可。代码:#include#definelllonglong#definereregister#definegc
zxyoi_dreamer
·
2020-08-23 04:27
构造
_____数学_____
路径记录(很久之前)
Usaco2006Nov]FenceRepair切割木板手写堆【BZOJ】1455罗马游戏左偏树【BZOJ】1202:[HNOI2005]狡猾的商人【BZOJ】1270[BeijingWc2008]雷涛的小猫1.18【
51NOD
weixin_34092370
·
2020-08-23 03:13
51nod
1428 活动安排问题 (贪心+优先队列)
http://www.
51nod
.com/onlineJudge/questionCode.html#!
weixin_30800987
·
2020-08-23 03:13
51nod
1479 小Y的数论题
我们令x=2pb,y=2pa,z=2(pab+1)/c,不难发现这是一组可行解。用扩展欧几里得算法解出来p就可以了。但是当m=2t可能会得到为零的解,这时需要特判。构造也不复杂,详见代码。#include#includeusingnamespacestd;#defineLLlonglongLLa,b,c,m;LLpow(LLk){LLret=1;for(LLb=2;k;k>>=1,b=b*b%m)
sdfzyhx
·
2020-08-23 02:22
数学
其他oj
51nod
1837 砝码称重 (规律)
Description小Q有n个砝码,它们的质量分别为1克、2克、……、n克。他给i克的砝码标上了编号i(i=1,2,…,n),但是编号被人打乱了,即编号为i的砝码不一定是i克,而是a_i克,这里a指的是1到n的一个排列。他有一杆天平,可以向天平的两侧放任意数量的砝码,通过一次称量得到两侧质量的大小关系,关系只有左侧重、一样重、右侧重三种可能。他想知道,最坏情况下,他至少需要称量多少次,才能确定其
小坏蛋_千千
·
2020-08-23 02:26
常用技巧
石子归并实现及优化
想根据题来说一下式子归并的实现,分别是这三个题......
51Nod
1021,
51Nod
1022,
51Nod
1023我们看第一个题,就是最基本的链式石子归并,在链式石子归并中我们用dp[i][j]:表示从石头
阿_波_
·
2020-08-23 01:58
区间DP
51NOD
--1163 最高的奖励--贪心+JAVA优先队列
有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。收起输入第1行:一个数N,表示任务的数量(2list=newLinkedList();for(inti=1;i(){@Overridepublicintcomp
Preeee
·
2020-08-23 01:20
51nod
1428活动安排问题(贪心+优先队列)
活动安排问题
51Nod
-1428有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室?
cloudy_happy
·
2020-08-23 01:41
优先队列
centos7安装zookeeper 3.4.5集群
准备3台虚拟机(node)192.168.152.149node-1192.168.152.150node-2192.168.152.1
51nod
e-3注意:3台虚拟机都要安装好java修改各个虚拟机主机名
ZHONGZEWEI
·
2020-08-23 01:56
架构
[
51nod
1479]小Y的数论题
题目描述小Y喜欢研究数论,并且喜欢提一些奇怪的问题。这天他找了三个两两互质的数a,b,c,以及另一个数m,现在他希望找到三个(0,m)范围内的整数x,y,z,使得(x^a+y^b)Modm=(z^c)Modm构造我们知道2^x+2^x=2^(x+1)于是我们这样构造:若m不为2的幂数,我们令x=2^kb,y=2^ka,z=2^l,那么cl-kab=1,可以用扩展欧几里得求解。否则,更容易构造,讨论
WerKeyTom_FTD
·
2020-08-23 01:46
构造
51nod
1479 小Y的数论题
小Y喜欢研究数论,并且喜欢提一些奇怪的问题。这天他找了三个两两互质的数a,b,c,以及另一个数m,现在他希望找到三个(0,m)范围内的整数x,y,z,使得(xa+yb)Modm=(zc)ModmInput第一行一个数代表数据组数T接下来T行每行四个整数m, a, b, c满足a, b, c两两互质1 0,所以我们在解出答案后还要再处理一下。另外当m是2的整数次幂时,答案可以直接写成1,m/2,1(
ShinyaLicone
·
2020-08-23 00:58
其它OJ
思路
扩展欧几里德算法
51nod
数论专题 (按分值排序)(持续更新)
#查找某篇题解:ctrl+f#1.
51nod
1011gcd,不解释代码:intgcd(a,b){returnb?
elorole
·
2020-08-23 00:58
51nod
贪心算法基础之独木舟问题
51nod
贪心教程
n个人,已知每个人体重,独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?输入第一行包含两个正整数n (0#includeusingnamespacestd;intmain(){intn,m;inta[10010];while(~scanf("%d%d",&n,&m)){for(inti=0;i<
winter2121
·
2020-08-23 00:52
ACM**算法集锦**
ACM**贪心*******
centos7安装kafka 2.12-2.5.0集群
106990214上篇文章已经在以下3台虚拟机安装了zookeeperiphostname192.168.152.149node-1192.168.152.150node-2192.168.152.1
51nod
e
ZHONGZEWEI
·
2020-08-23 00:54
架构
最小生成树的最大边权限制下的最大生成树
51nod
魔法学校近日开展了主题为“天气晴朗”的魔法交流活动。N名魔法师按阵法站好,之后选取N-1条魔法链将所有魔法师的魔力连接起来,形成一个魔法阵。魔法链是做法成功与否的关键。
weixin_30685029
·
2020-08-22 23:43
51Nod
-1976-多边形划分
题目链接:点击打开链接(一)题面:1976多边形划分给一个共有n个点的凸多边形,求一条将该多边形划分为面积和周长都相等的两部分的直线。Input第一行一个正整数n,表示多边形的点数。(n #include#include#include#include#include#defineid(SP+1)%nusingnamespacestd;constintmaxn=4e4+10;structPoint
AC-NEWBIE
·
2020-08-22 20:55
几何
51nod
1108(曼哈顿距离)
题目链接:http://www.
51nod
.com/onlineJudge/questionCode.html#!
weixin_30569001
·
2020-08-22 03:07
51nod
3 * problem
1640题意:一张无向图在最小化最大边后求最大边权和Slove:sort最小生成树倒叙最大生成树#include#include#include#include#include#includeusingnamespacestd;#defineLLlonglong#definegcgetchar()inlineintread(){intx=0,f=1;charc=gc;while(c'9'){if(
weixin_30416871
·
2020-08-22 03:27
【
51nod
- 1108】距离之和最小 V2(曼哈顿距离,中位数性质)
题干:三维空间上有N个点,求一个点使它到这N个点的曼哈顿距离之和最小,输出这个最小的距离之和。点(x1,y1,z1)到(x2,y2,z2)的曼哈顿距离就是|x1-x2|+|y1-y2|+|z1-z2|。即3维坐标差的绝对值之和。收起输入第1行:点的数量N。(2#include#include#include#include#include#include#include#include#inclu
韬光养晦_
·
2020-08-22 02:52
51nod
1005 大数加法
51nod
题解
输入第1行:大数A第2行:大数B(A,B的长度#include#include#include#include#includeusingnamespacestd;stringa,b;intlena,lenb;voidzadd(){intda=max(lena,lenb);reverse(a.begin(),a.end());reverse(b.begin(),b.end());//高位添零;if(
爱学习的羽
·
2020-08-22 02:09
c++题解
【题解&杜教筛总结】
51Nod
1238 最小公倍数和V3
前置知识:杜教筛。(不会点这里)。大片公式预警!!!题意求∑i=1n∑j=1nlcm(i,j)\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\text{lcm}(i,j)i=1∑nj=1∑nlcm(i,j)。(1≤n≤10101\leqn\leq10^{10}1≤n≤1010)题解简单回顾开始之前,先来回顾一下几个和杜教筛有关的式子(定义∗*∗为数论函数的狄利
JokerJim
·
2020-08-22 02:18
题解
模板
经典dp——最大子段和
51Nod
-1049N个整数组成的序列a11,a22,a33,…,ann,求该序列如aii+ai+1i+1+…+ajj的连续子段和的最大值。当所给的整数均为负数时和为0。
night_dust
·
2020-08-22 02:12
dp
51nod
1213 二维曼哈顿距离最小生成树 树状数组+最小生成树
Description二维平面上有N个坐标为整数的点,点x1y1同点x2y2之间的距离为:横纵坐标的差的绝对值之和,即:Abs(x1-x2)+Abs(y1-y2)(也称曼哈顿距离)。求这N个点所组成的完全图的最小生成树的边权之和。2yi-xi2.xj>xi这是一个二维偏序问题,排序+树状数组搞搞就行可以通过翻转xy、翻转x坐标、再翻转xy来把其他位置翻过来。注意到连边实际上是对称的,因此可以只做四
olahiuj
·
2020-08-22 01:49
c++
树状数组
最小生成树
1384 全排列问题(去除重复项)
之前先传送到我的上一篇blog——不去重全排列:https://blog.csdn.net/cj151525/article/details/89740042看完之后,在这里先引进一个题目传送门:http://www.
51nod
.com
Cheney-渣渣杰
·
2020-08-22 01:21
ACM基础题
1384
全排列
去重复全排列
全排列去重复
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他