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算法题解
LeetCode
算法题解
——二进制求和问题
题目:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入:a="11",b="1"输出:"100"示例2:输入:a="1010",b="1011"输出:"10101"思路,将二进制按位相加并且进位,注意要记录最高位的进位。classSolution:defaddBinary(self,a:str,b:str)->str:iflen(a)>=len(
封装继承多态
·
2020-09-15 23:37
leetcode
leetcode
算法
51nod
1416 两点 【dfs+特殊判断】
题目来源:CodeForces基准时间限制:1秒空间限制:131072KB分值:20难度:3级算法题收藏关注福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样:每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。这个游戏的关键是要找出一个包含同一颜色的环。看上图中4个蓝点,形成了一个环。一般的,我们将一个序列d1,d2,…,dk看成一个
thoughtspark
·
2020-09-15 22:49
dfs&bfs
51nod
51nod
1963 树上NIM游戏 题解
题意简述多组数据,每次给定一个有n(=1>=1>=1个点权移动到父亲上,如果有一个不能操作了,这个人就输了。判断先手是否会赢。思路框架深度为奇数的点权异或起来,如果非0,先手必胜。具体思路首先我们要把这个问题转换成NimNimNim游戏。然后我们要知道一个模型,叫阶梯NimNimNim游戏。其规则和这个题类似,只不过是序列上的问题,每个点iii珂以把>=1>=1>=1个点权移动到i−1i-1i−1
LightningUZ
·
2020-09-15 21:02
51nod
51Nod
1358 浮波那契 (矩阵快速幂 构造矩阵)
1358浮波那契基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注TengBieBie已经学习了很多关于斐波那切数列的性质,所以他感到一些些厌烦。现在他遇到了一个新的数列,这个数列叫做Float-Bonacci。这里有一个关于Float-Bonacci的定义。对于一个具体的n,TengBieBie想要快速计算FB(n).但是TengBieBie对FB的了解非常少,所以他
决定改个名字
·
2020-09-15 21:37
矩阵快速幂
矩阵快速幂
emmmmm
(我觉得是时候要盗来孟神和石神的一些东西了)洛谷-题目列表Acwing力扣(LeetCode)官网-全球极客挚爱的技术成长平台官网本校OJCometOJ
51nod
ContestHunter本网站由成都石室中学
一刀一个小朋友(/ω\)
·
2020-09-15 20:02
其他
乱七八糟的一些小东西
51nod
-猴猴吃香蕉【dp】
正题题目链接:https://www.
51nod
.com/Contest/Problem.html#contestProblemId=1149题目大意nnn个数,求有多少种选择方案使选择的数乘机为kkk
ssl_wyc
·
2020-09-15 19:47
dp
51nod
dp
最长递增子序列-动态规划dp-(
51nod
1134)(POJ 2533)
最长递增子序列粗解带来了两个比较经典的求解最长递增子序列的题目①点击打开链接
51nod
11341134最长递增子序列基准时间限制:1秒空间限制:131072KB分值:0难度:基础题给出长度为N的数组,找出这个数组的最长递增子序列
passer__
·
2020-09-15 17:52
~~~~~DP~~~~~~
51nod
合法括号子段
Description有一个括号序列,现在要计算一下它有多少非空子段是合法括号序列。合法括号序列的定义是:1.空序列是合法括号序列。2.如果S是合法括号序列,那么(S)是合法括号序列。3.如果A和B都是合法括号序列,那么AB是合法括号序列。Input多组测试数据。第一行有一个整数T(1#include#include#include#includeusingnamespacestd;typedef
心夏心冬
·
2020-09-15 15:58
思维
栈和队列
算法题解
之最大公约数(gcd)
1.辗转相除法辗转相除法是平时求gcd问题最常见的解法,该解法通过将原问题转化为两个更小数的最大公约数的问题,直到其中一个数为0,剩下的另外一个数就是两者最大的公约数。packagegcd;importjava.util.*;publicclassGcd1{privatestaticintgcd(inta,intb){if(a%b==0)returnb;elsereturngcd(b,a%b);}
carson0408
·
2020-09-15 10:42
算法题题解
笔试面试
算法题解
之华为-成绩排序
笔试面试
算法题解
之华为-成绩排序题目描述用一维数组存储学号和成绩,然后,按成绩排序输出。
dijixiao5919
·
2020-09-15 07:40
面试
数据结构与算法
华为笔试
算法题解
华为笔试
算法题解
第1题字符串处理思路:先过滤掉数字,然后按GBK编码扫描汉字的长度,若为偶则子串长度length-cnt/2,若为奇则子串长度length-(cnt/2+1)(GBK编码汉字为2字节,数值小于
weixin_30919429
·
2020-09-15 07:30
java
51nod
1179 最大的最大公约数 (数论)
给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N=4,4个数为:9152516,两两之间最大公约数的最大值是15同25的最大公约数5。Input第1行:一个数N,表示输入正整数的数量。(2#include#includeusingnamespacestd;inta[1000005];intn,maxx=0,m,t;intmain(){scanf("%d",&n);memset(a,0
weixin_30292843
·
2020-09-15 05:28
数据结构与算法
LeetCode
算法题解
198-打家劫舍
题目描述题解:动态规划方程:dp[i]=max(dp[i-2]+a[i],dp[i-1])对于第i号房屋,有两种选择:1.拿这家的a[i],然后考虑dp[i-2]的(不能拿相邻的)2.不拿这家的,考虑dp[i-1],从中选择大的。代码:classSolution{public:introb(vector&nums){intlen=nums.size();if(len==0){return0;}if
东瓜lqd
·
2020-09-15 05:47
#
LeetCode
51nod
1238 最小公倍数之和 V3 【欧拉函数+杜教筛】
首先题目中给出的代码打错了,少了个等于号,应该是G=0;for(i=1;i#includeusingnamespacestd;constlonglongN=1000005,m=1000000,inv2=500000004,inv4=250000002,inv6=166666668,mod=1e9+7;longlongn,phi[N],q[N],tot,ans,ha[N];boolv[N];long
weixin_30823833
·
2020-09-15 03:44
51nod
1188 最大公约数之和 V2
1188最大公约数之和V22.0秒262,144.0KB160分6级题给出一个数N,输出小于等于N的所有数,两两之间的最大公约数之和。相当于计算这段程序(程序中的gcd(i,j)表示i与j的最大公约数):G=0;for(i=1;iusingnamespacestd;typedeflonglongll;constintMOD=1e9+7;constllN=5000055;intprime[N],ma
pxlsdz
·
2020-09-15 03:58
数学----数论
好题
打印图形
51nod
并不对比答案中的空白,所以只需要正确输出每行的内容即可。如果你打算正确输出所有内容,需注意,每行行末没有不可见的空格。收起输入输入只有一行,仅
学着长大.
·
2020-09-15 03:11
51
nod
51nod
(1220 约数之和 推式子反演+线性筛+杜教筛)
题目1.学会线性筛出d(i):i约数的个数以及dd(i):i所有约数之和。学习链接2.慢慢推式子需要用到一个小结论(挺好yy证明的)+反演+积累技巧把(比如dd前缀和可以转化成别的式子进而分块求)学习链接第三个式子是反演得到的。最后一个橙点点有一丢丢小错误sigma(q=[1,[n/d]).我还是自己再次按照上述过程首推一下(由于我的式子太丑啦T_T放在代码后面留着自己看)#include#inc
Helium_wild
·
2020-09-15 03:37
数学==杜教筛
51nod
1239(杜教筛)
题目对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler'stotientfunction、φ函数、欧拉商数等。例如:φ(8)=4(Phi(8)=4),因为1,3,5,7均和8互质。S(n)=Phi(1)+Phi(2)+......Phi(n),给出n,求S(n),例如:n=5,S(n)=1+1+2+2+4=10,定义Phi(1)=1。由于结
青鱼一条
·
2020-09-15 03:26
数论
#
杜教筛
杜教筛
数论
[
51nod
][积性函数][杜教筛]最小公倍数之和 V3
http://www.
51nod
.com/onlineJudge/questionCode.html#!
Gzb1128
·
2020-09-15 02:37
积性函数
51nod
杜教筛
51nod
1238(杜教筛)
这个题暴露出杜教筛还是没掌握好。。然后就是讨论一个常见的求和然后原式就能化简成然后窝就天真的吧这个和式拿去做杜教筛了。。。然而这个和式的一个问题是函数也是个和式,其卷积实在是难求,所以推到一半推不下去,参考别人的题解转化了下思路,枚举一下倍数,就变成。。。然后令,F(n)为其前缀和,即求再求f(n)的卷积故最终貌似要求好多个F(n)实际上都是这种形式,这些在杜教筛的时候其实已经都求过了。。然后分块
qkoqhh
·
2020-09-15 02:05
数论
51nod
1244(杜教筛)
杜教筛实在是太神了。。有关杜教筛可参考tls文章:https://blog.csdn.net/skywalkert/article/details/50500009针对这题来说,设莫比乌斯函数为M(n),由,可做如下化简:枚举倍数d的倍数,由于对一个d,其累加次数为n/d次,即倍数为i的d最大为n/d,故有下式然后上式可分块求,tls文章里面分析复杂度为O(n^(3/4)),如果预处理前n^(2/
qkoqhh
·
2020-09-15 02:05
数论
51nod
1181 质数中的质数(质数筛法)
#include#include#include#includeusingnamespacestd;constintMAXN=1000000;intprime[MAXN+1];voidgetPrime(){memset(prime,0,sizeof(prime));for(inti=2;i=n){for(intj=1;j
日月人云
·
2020-09-15 02:38
数学
[
51nod
1238] 最小公倍数之和 V3(杜教筛)
题意ans=∑i=1n∑j=1nlcm(i,j).(n≤1010)ans=\displaystyle\sum_{i=1}^n\sum_{j=1}^n\text{lcm(i,j)}.(n\le10^{10})ans=i=1∑nj=1∑nlcm(i,j).(n≤1010)这个题目比公约数那个题麻烦多了,首先还是把这个式子拆成公约数的形式:ans=∑i=1n∑j=1nij(i,j)ans=∑d=1nd∑
lunch__
·
2020-09-15 02:07
51nod
1237 最大公约数之和 V3
Description给出一个数N,输出小于等于N的所有数,两两之间的最大公约数之和。相当于计算这段程序(程序中的gcd(i,j)表示i与j的最大公约数):由于结果很大,输出Mod1000000007的结果。G=0;for(i=1;iSolution感觉有点不太对劲啊,为什么我推的柿子都和别人不太一样先套路一波设一下g(n)=∑i=1n∑j=1igcd(i,j)=∑i=1n∑j|ij∗φ(ij)=
olahiuj
·
2020-09-15 02:45
c++
杜教筛
51Nod
-1363-最小公倍数之和
ACM模版描述题解每次做到数论题我就头疼……实在是不知道怎么办了……给大家推荐一个不错的题解吧,数论实在是我的一个致命弱点。>>>dance_in_the_dark#include#definelllonglongusingnamespacestd;constllMAXN=1e5+10;constllMOD=1e9+7;constllINV_2=5e8+4;lln,m,ans;llprime[MA
f_zyj
·
2020-09-15 02:11
数论
51Nod-题解集锦
51nod
1363 最小公倍数之和
51nod
1363原题连接:https://www.
51nod
.com/onlineJudge/questionCode.html#!problemId=1363这个是一个不算很难的计算。
佐理慧
·
2020-09-15 02:16
刷题小结
[
51nod
1238]最小公倍数之和
题目大意出一个数N,输出小于等于N的所有数,两两之间的最小公倍数之和。题解太懒了这里写的很好#include#include#definefo(i,a,b)for(i=a;imaxn-10)break;bz[i*pri[j]]=1;if(i%pri[j]==0){phi[i*pri[j]]=phi[i]*pri[j];break;}phi[i*pri[j]]=phi[i]*(pri[j]-1);}
WerKeyTom_FTD
·
2020-09-15 02:09
筛法
【
51nod
】欧拉函数之和(数论,杜教筛)
文章目录题目分析一个性质尝试递推分块打表线性筛欧拉函数一个性质线性筛代码题目1239欧拉函数之和分析欧拉函数φ(n)\varphi(n)φ(n)表示小于等于nnn的与nnn互质的数的个数。令答案f(n)=∑i=1nφ(i)f(n)=\sum\limits_{i=1}^{n}\varphi(i)f(n)=i=1∑nφ(i)。一个性质可以证明n=∑d∣nφ(d)n=\sum\limits_{d|n}\
ixRic
·
2020-09-15 02:04
----------
数学
----------
#
数论
[
51nod
][积性函数][杜教筛]最大公约数之和 V3
http://www.
51nod
.com/onlineJudge/questionCode.html#!
Gzb1128
·
2020-09-15 02:47
51nod
杜教筛
积性函数
51Nod
最大公因数之和+最小公倍数之和(杜教筛)
1238最小公倍数之和http://www.
51nod
.com/Challenge/Problem.html#!
henu_jizhideqingwa
·
2020-09-15 02:26
题解
杜教筛
数论
算法练习-给一个正整数n,计算它最多能被2的多少次幂整除
给一个正整数n,计算它最多能被2的多少次幂整除题目分析解法1解法2题目来自
51nod
,原文链接题目分析输入:正整数n输出:2的k次幂根据题目,我们只需要从0次开始,循环每次K+1,直到2的k次幂大于正整数
cccc_cat
·
2020-09-14 22:52
算法练习
51Nod
- 1094 和为k的连续区间(前缀和)
题意:跟题目一样,求和为k的连续区间。题记:计算前缀和,然后枚举求出答案。#include#include#include#includeusingnamespacestd;typedeflonglongll;constintN=1e4+10;//intnum[10]={6,2,5,5,4,5,6,3,7,6};lla[N];intmain(){lln,k;scanf("%lld%lld",&n,
moyangxian
·
2020-09-14 21:26
水题集
1163 最高的奖励 贪心 + 并查集
http://www.
51nod
.com/onlineJudge/questionCode.html#!
weixin_30520015
·
2020-09-14 20:10
51nod
1405(树形dp)
链接:点击打开链接题意:给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和代码:#pragmacomment(linker,"/STACK:102400000,102400000")#include#include#include#include#include#includeusingnamespacestd;constlonglongSIZE=100005
Stayaccept
·
2020-09-14 20:28
动态规划
---------树形dp
棋盘游戏
51Nod
- 1327
题解:在放置棋子时仅仅要求左右满足条件与n的顺序无关,考虑一个二维dp数组,dp[i][j]代表放到了第i列还有j列没有放棋子,但是这个二维dp没有维护右限的信息,所以考虑增加一维代表有多少行到达了右限但没有棋子,将l和r区间的限制统计,可以得到dp转移方程:dp[a+1][b+1-l[a+1]][c+r[a+1]]+=dp[a][b][c]*sum[b+1][l[a+1]]%mod;枚举到当第i
qq_2456160268
·
2020-09-14 19:35
ACM
dp
动态规划
51nod
1405 树的距离之和 (树形dp)
Description给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n(nusingnamespacestd;typedef__int64LL;constintmaxn=1e5+10;structnode{intto;intnext;}edge[maxn>n;for(inti=1;i>u>>v;addedge(u,v);ad
小坏蛋_千千
·
2020-09-14 19:28
动态规划
51nod
-1405 树的距离之和
原题链接1405树的距离之和基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n (n #include#include#include#include#include#definemaxn100005#defineMOD1000000007using
天夏123
·
2020-09-14 19:53
动态规划
51nod
1405 树的距离之和 (两次dfs,树形dp)
给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n (n #include#include#include#include#include#pragmacomment(linker,"/STACK:10240000,10240000")//递归太深,导致爆栈,所以使用扩栈语句usingnamespacestd;typedefl
h1021456873
·
2020-09-14 19:05
dfs
DP
51nod
树形dp
51nod
- 1405 树的距离之和
给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n (n #include#includeusingnamespacestd;typedeflonglongll;constintMAXN=1e5+5;vectoredge[MAXN];intsubTree[MAXN];lldp[MAXN];intn;boolvis[MAXN];
brucehb
·
2020-09-14 18:59
树形DP
51nod
1276 岛屿的数量 (离散化)
给出nnn个岛屿的高度,询问qqq个海平面,每个海平面时存在多少岛屿。对询问和岛屿分别离散化,对于每一个询问,他之前的询问一定把更矮的岛给覆盖了,所以对于一个询问,覆盖当前没覆盖的岛对答案的影响分两种:1、在原序列中这个岛两边的岛都没被覆盖过,那么答案+1;2、在原序列中这个岛两边都被覆盖过了,那么答案被多加了1,所以答案-1。#include#include#include#include#in
Mr_Doublerun
·
2020-09-14 18:26
离散化
51Nod
-1405-树的距离之和
ACM模版描述题解根据题意,这是一颗树,所以每两点之间的路径一定是唯一的。这里让求所有点到第i个结点的距离和,其实也就是其他所有结点到第i个结点的距离和。通过观察发现,只要我们找到了一个点对应的结果,那么其他所有的点都可以通过这个结果扩展出来,利用边的关系。比如说,我们知道了第一个结点对应的结果,并且知道第一个和第二个存在连边,那么一定可以通过第一个的结果求得第二个结果……以此类推。所以,我们先d
f_zyj
·
2020-09-14 17:01
dfs
&&
bfs
树
数据结构
51Nod-题解集锦
51Nod
1135-原根(快速求解一个素数的原根)
题目地址:
51Nod
11351.原根定义:设m>1,gcd(a,m)=1,使得成立的最小的r,称为a对模m的阶。2.定理:如果模m有原根,那么他一共有个原根。
Rocky0429
·
2020-09-13 20:53
51Nod
数论
gcd
51Nod
原根
快死幂取模
素数
51nod
1535 深海探险(并查集判联通块)
1535深海探险题目来源:CodeForces基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注很久很久以前的一天,一位美男子来到海边,海上狂风大作。美男子希望在海中找到美人鱼,但是很不幸他只找到了章鱼怪。然而,在世界的另一端,人们正在积极的收集怪物的行为信息,以便研制出强大的武器来对付章鱼怪。由于地震的多发,以及恶劣的天气,使得我们的卫星不能很好的定位怪物,从而不能很
信仰..
·
2020-09-13 18:08
图论
51Nod
1459 迷宫游戏 dijkstra拓展
1459迷宫游戏基准时间限制:1秒空间限制:131072KB分值:0难度:基础题你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从起点尽快到达终点,在满足首要目标的前提下,使得你的得分总和尽可能大。现在问题来了,给定
ltwy123
·
2020-09-13 18:03
51Nod
分享400多道算法题,来挑战吧
号主有近10年的开发经验,对算法情有独钟,近3年来他坚持在公众号上写
算法题解
,总共输出了400多道题,其中不乏一些经典题型,都是以图文结合的方式,让算法变的不那么枯燥,通过他的这些文章,可以让你轻松入门
emprere
·
2020-09-13 18:56
算法
二叉树
链表
数据结构
iaas
最长公共子序列Lcs
51Nod
- 1006
Title给出两个字符串AB,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为:abcicbaabdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。Input第1行:字符串A第2行:字符串B(A,B的长度len(dp[i][j+1]):dp[i+1][j+1]=dp[i+1][j]else:dp[i+1][j+1]=dp[i][j+1
Alex 007
·
2020-09-13 13:35
#
51Nod
51Nod
1182 完美字符串
Input示例dadOutput示例77#include"bits/stdc++.h"usingnamespacestd;#defineLLlonglong#defineINF0x3f3f3f3f3f#definePIacos(-1)#defineN10010#defineMOD10usingnamespacestd;charstr[N];mapm;vectorv;intmain(){intn,t
weixin_30776545
·
2020-09-13 13:03
51Nod
1182 完美字符串(stl:map)
这道题思路就是找到相同的字母的数量,然后排序,算出结果。找出相同的数量,用stl中map结构最快。排序的话用优先队列维护。然后map,优先队列不会,可以看看我之前的学习stl的博客。自我感觉stl真的很好用!STL学习总结#include#include#include#includeusingnamespacestd;intmain(){strings;mapa;cin>>s;for(inti=
imagination_wdq
·
2020-09-13 12:28
STL
51Nod
51Nod题目解法
51nod
1182完美字符串
Input输入一个字符串S(S的长度 #include#include#include#include#includeusingnamespacestd;chars[10005];intb[500];intcmp(inta,intb){returna>b;}intmain(){intsum,len;while(scanf("%s",&s)!=EOF){sum=0;memset(b,0,sizeof
溪苏
·
2020-09-13 12:42
ACM
51Nod
-1182-完美字符串
ACM模版描述题解先进行大小写转换并统计各字母出现次数,然后排序,最后按出现次数的顺序分配权值,出现次数越多,权值越大,累加即可。代码#include#include#include#includeusingnamespacestd;stringS;intletter[100]={0};intmain(intargc,constchar*argv[]){while(cin>>S){for(inti
f_zyj
·
2020-09-13 11:28
字符串
51Nod-题解集锦
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他