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
算法练习-给一个正整数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
最长公共子序列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-题解集锦
完美字符串||
51Nod
1182
Link:https://www.
51nod
.com/onlineJudge/questionCode.html#!problemId=1182约翰认为字符串的完美度等于它里面所有字母的完美度之和。
三更鬼
·
2020-09-13 11:21
51nod
贪心
思维
1006 最长公共子序列Lcs(输出路径)(
51NOD
基础题)
1006最长公共子序列Lcs(
51NOD
基础题)基准时间限制:1秒空间限制:131072KB分值:0难度:基础题给出两个字符串AB,求A与B的最长公共子序列(子序列不要求是连续的)。
aboc43983
·
2020-09-13 11:44
51nod
1182 完美字符串
声明一个数组来存字符串每个字符出现的次数。然后用一下sort()就好了。#include#include#include#include#includeconstintMAX=1e5+5;chararr[MAX];intsum[150];intmain(){scanf("%s",arr);intlenth=strlen(arr);for(inti=0;i='a'&&sum[i];--i){res+
yurio7r
·
2020-09-13 11:12
数学思维_习题
51nod
1006最长公共子序列LCS
输出路径的过程结合dp数组和代码一看就懂了abdkscaba11111111b12222222c12222333i12222333c12222333b12222334a12222344经典的dp题,关键题目让输出最后的公共序列,可以通过判断dp数组来从后往前找到状态变化的字母,最后反序输出状态转移方程:dp[i][j]=max(dp[i−1][j],dp[i][j−1],mat[i−1][j−1]
stormjing7
·
2020-09-13 11:49
解题报告
51NOD
-----动态规划-----
基础dp
51nod
_1006 最长公共子序列,输出路径【DP】
题意:给出两个字符串AB,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为:abcicbaabdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。输出最长的子序列,如果有多个,随意输出1个。思路:DP,同时DP记录路径。代码:stringa,b;intf[1005][1005];intpath[1005][1005];void_prin
weixin_30532759
·
2020-09-13 11:23
【LDU】2017级课后练习题#1
A-活动安排问题https://www.
51nod
.com/onlineJudge/questionCode.html#!
Z_sea
·
2020-09-12 19:27
题库
新生赛
51nod
1316 回文矩阵 (枚举+ 判断)
链接:https://www.
51nod
.com/onlineJudge/questionCode.html#!
yjt9299
·
2020-09-12 08:42
思维
思维
枚举
51nod
1316 回文矩阵
#includeusingnamespacestd;charmz[10][10],tmpmz[10][10];intcal1(intx){intret=0;while(x){if(x&1)ret++;x>>=1;}returnret;}intmain(){inti,j,n,m,rowsum,colsum,rsta,csta,now,ans,flag,sum;while(cin>>rowsum>>c
欣君
·
2020-09-12 08:47
----51nod
贪心算法基础之完美字符串
51nod
贪心总结
题目:约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。分析:由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计
winter2121
·
2020-09-12 08:40
ACM**算法集锦**
ACM**贪心*******
51Nod
1179 最大的最大公约数
1179最大的最大公约数题目来源:SGU基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N=4,4个数为:9152516,两两之间最大公约数的最大值是15同25的最大公约数5。Input第1行:一个数N,表示输入正整数的数量。(2 #defineN1000010usingnamespacestd;intn,a
我的妹妹syf
·
2020-09-12 06:38
51nod
枚举答案
51NOD
1278 相离的圆(二分 + 排序)
传送门平面上有N个圆,他们的圆心都在X轴上,给出所有圆的圆心和半径,求有多少对圆是相离的。例如:4个圆分别位于1,2,3,4的位置,半径分别为1,1,2,1,那么{1,2},{1,3}{2,3}{2,4}{3,4}这5对都有交点,只有{1,4}是相离的。Input第1行:一个数N,表示圆的数量(1#includeusingnamespacestd;constintMAXN=100000+5;str
ITAK
·
2020-09-12 06:14
ACM_计算几何
ACM_51NOD
ITAK的ACM之路
二分
【
51NOD
—贪心算法专题】 A 低买高卖
https://www.
51nod
.com/contest/Problem.html#!
荷叶田田_
·
2020-09-12 06:43
机试
51nod
1182 完美字符串【贪心】
1182完美字符串题目来源:FacebookHackerCup选拔基准时间限制:1秒空间限制:131072KB分值:5难度:1级算法题约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26
mengxiang000000
·
2020-09-12 06:01
贪心
51nod
_1030 大数进制转换
1030大数进制转换基准时间限制:3秒空间限制:131072KB分值:320难度:7级算法题给出一个36进制的大数(0-9,A-Z),将其转为10进制并输出。Input输入:36进制的大数,每一位用0-9,A-Z来表示,A表示10,Z表示35。(A的长度=0;i--){if(a.charAt(i)=='0'){}elseif(a.charAt(i)>'0'&&a.charAt(i)='A'&&a.
Let力Go
·
2020-09-12 06:10
51nod题目
51NOD
_1166 大数开平方
1166_大数开平方基准时间限制:4秒空间限制:131072KB分值:320难度:7级算法题给出一个大整数N,求不大于N的平方根的最大整数。例如:N=8,2*28,所以输出2。Input给出一个大数N(N的长度=0){count++;remain=remain.subtract(odd);odd=odd.add(BigInteger.valueOf(2));}ans=ans.multiply(Bi
Let力Go
·
2020-09-12 06:10
51nod题目
51nod
_1118 机器人走方格(组合数+逆元)
1118机器人走方格基准时间限制:1秒空间限制:131072KB分值:0难度M*N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod10^9+7的结果。Input第1行,2个数M,N,中间用空格隔开。(2#includeusingnamespacestd;typedeflonglongLL;intconstmod=1000000000+7
Let力Go
·
2020-09-12 06:10
51nod基础算法题
51nod
1448 二染色问题(想法题,好题)
题目链接1448二染色问题题目来源:TopCoder基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注一个N*N的网格,初始为白色。现在有一个K*K的印章,每次操作:你可以用印章把网格中一个K*K的子矩形染成黑色或白色。如果一个格子被多次染色,那么后一次染色会覆盖掉前一次的。现在,给你N*N的由黑白两色构成的图案board(board[i][j]为第i行第j列格子的颜色
___fouzhe
·
2020-09-12 06:26
算法思维
51Nod
-1316-回文矩阵
ACM模版描述题解这道题搞得我挺焦虑的,矩阵不大,可以暴力枚举。枚举所有的组合,然后在这些组合内部,先固定选取的行,然后遍历列,保证遍历完后,选取的行都是回文的;然后再固定选取的列,接着遍历行,保证遍历完后,选取的列都是回文的;每种组合得到一个需要改动的次数,从所有结果中选取最优的即可。代码#include#include#definePINF0x3f3f3f3f#defineNINF-PINF#
f_zyj
·
2020-09-12 05:17
贪心
暴力解题
51Nod-题解集锦
51Nod
_贪心算法_完美字符串_Java
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。分析:由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计每种字
Truman in coding
·
2020-09-12 04:15
贪心算法
51NOD
1316 回文矩阵 【枚举】
1316回文矩阵题目来源:TopCoder基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注一个N*M的矩阵A完全由0与1两个数字组成(0#include#definelllonglong#definepiipair#defineMEM(a,x)memset(a,x,sizeof(a))usingnamespacestd;constintinf=1e9+7;charst
lrccccc
·
2020-09-12 04:25
51NOD
51nod
1316 回文矩阵 并查集+枚举
1316回文矩阵题目来源:TopCoder基准时间限制:1秒空间限制:131072KB分值:40难度:4级算法题收藏关注一个N*M的矩阵A完全由0与1两个数字组成(0#include#includeusingnamespacestd;constintAX=100;chars[AX][AX];intn,m;intvisR[AX];intvisC[AX];intvis[AX];intpre[AX];i
Dave_L
·
2020-09-12 04:18
全排列
并查集
51nod
:1073 约瑟夫环(数学,递推)
1073约瑟夫环基准时间限制:1秒空间限制:131072KB分值:0难度:基础题收藏关注N个人坐成一个圆环(编号为1-N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N=3,K=2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 intcalc(intn,intk){if(n==1){return0;}
zugofn
·
2020-09-12 01:57
约瑟夫环
数学
递推
51nod
:1118 机器人走方格(排列组合+逆元)
1118机器人走方格基准时间限制:1秒空间限制:131072KB分值:0难度:基础题收藏关注M*N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod10^9+7的结果。Input第1行,2个数M,N,中间用空格隔开。(2 #defineLLlonglongconstLLM=1000000007;LLquick_pow(LLa,LLb){L
zugofn
·
2020-09-12 01:57
逆元
exgcd
排列组合
51nod
:1130 N的阶乘的长度 V2(斯特林近似)(数学公式)
1130N的阶乘的长度V2(斯特林近似)基准时间限制:1秒空间限制:131072KB分值:0难度:基础题收藏关注输入N求N的阶乘的10进制表示的长度。例如6!=720,长度为3。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 #includeintmain(){intt;scanf("%d",&t);while(t--){intn;scanf("%d",&n);if(n==1){
zugofn
·
2020-09-12 01:57
数学
51Nod
1289 大鱼吃小鱼(模拟,经典好题)
1289大鱼吃小鱼题目来源:Codility基准时间限制:1秒空间限制:131072KB分值:5难度:1级算法题有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?Input第1行:1个数N,表示鱼的数量(1 2usingnamesp
weixin_34021089
·
2020-09-11 05:44
51nod
大鱼吃小鱼问题
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?Input第1行:1个数N,表示鱼的数量(1#include#include#includeusingnamespacestd;intmain(){longlonga[100002]
觅己本心
·
2020-09-11 03:55
模拟
[数论]
51Nod
1217 Minimum Modular & Codeforces 303C #183 (Div. 1) Minimum Modular
来自讨论帖:http://www.
51nod
.com/question/index.html#!
里阿奴摩西
·
2020-09-10 18:57
数论
51nod
1597 有限背包计数问题
基准时间限制:2.333秒空间限制:131072KB分值:160难度:6级算法题你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同Input第一行一个正整数n1m的物品凑出来某一个容量时的方案数。那么决策就来了,决策一:把当前序列中的所有数+1(即g[i][j+i]+=g[i][j]);
mrazer
·
2020-09-10 15:25
刷题
[
51nod
1555][CF526F]布丁怪
问题描述布丁怪这一款游戏是在一个n×n的矩形网格中进行的,里面有n个网格有布丁怪,其它的一些格子有一些其它的游戏对象。游戏的过程中是要在网格中移动这些怪物。如果两个怪物碰到了一起,那么他们就会变成一个更大的怪物。(谁叫他们是布丁呢?)据统计,如果每一行每一列都只有一个布丁怪,那么这样的布局是比较吸引玩家的。所以为了产生多种多样的有趣布局,我们会从一个n×n的有趣的地图中选取一个k×k(1≤k≤n)
ZLTJohn
·
2020-09-10 12:01
分治
齐头并进(
51Nod
-1649)
题目在一个叫奥斯汀的城市,有n个小镇(从1到n编号),这些小镇通过m条双向火车铁轨相连。当然某些小镇之间也有公路相连。为了保证每两个小镇之间的人可以方便的相互访问,市长就在那些没有铁轨直接相连的小镇之间建造了公路。在两个直接通过公路或者铁路相连的小镇之间移动,要花费一个小时的时间。现在有一辆火车和一辆汽车同时从小镇1出发。他们都要前往小镇n,但是他们中途不能同时停在同一个小镇(但是可以同时停在小镇
Alex_McAvoy
·
2020-08-26 14:52
#
51Nod
#
图论——最短路
51 nod 1255 字典序最小的子序列
http://www.
51nod
.com/onlineJudge/questionCode.html#!problemId=1255思路:分三种情况:1:栈空,直接将字母压入。
计算机的小粽子
·
2020-08-26 14:59
-------ACM_算法
上一页
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
其他