随笔分类 - 51nod
摘要:有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量最少1个,最多不超过对手上一次拿的数量的2倍(A第1次拿时要求不能全拿走)。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。 例如N = 3。A只能拿1...
阅读全文
摘要:有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量只能是2的正整数次幂,比如(1,2,4,8,16….),拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。 例如N = 3。A只能拿1颗或2颗,所以B可以...
阅读全文
摘要:把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中复杂程度最高的那个数。 例如:12的约数为:1 2 3 4 6 12,共6个数,所以12的复杂程度是6。如果有多个数复杂度相等,输出最小的。 我们先来认识一个东西,叫反素数。 具体的这篇博文讲的很详细:ht...
阅读全文
摘要:给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"这个题简单的dfs即可#include#include#include#includeusing namespace std;const int N=100;...
阅读全文
摘要:给出一个N * N的矩阵,其中的元素均为正整数。求这个矩阵的M次方。由于M次方的计算结果太大,只需要输出每个元素Mod (10^9 + 7)的结果。#include#include#include#includeusing namespace std;const in...
阅读全文
摘要:第1行:1个数N,表示矩阵的大小(2 #include#include#includeusing namespace std;const int N=100;struct Mat{ int a[N][N];};int n;Mat mitriplus(Mat A,Mat...
阅读全文
摘要:给出2个数M和N(M #include#include#includeusing namespace std;const int mod=1000000007; long long X,y;long long gcd(long long a,long long b){...
阅读全文
摘要:给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交)。 如果相交,输出"Yes",否则输出"No"。这道题刘汝佳的的训练指南上有有讲,其中判断端点是否在线段上需要判断四次#include#include#include#includ...
阅读全文
摘要:一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 31 2Input第1行:M和N,中间用空格隔开(2 #include#includ...
阅读全文
摘要:N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小...
阅读全文
摘要:求:3^0 + 3^1 +…+ 3^(N) mod 1000000007 Input 输入一个数N(0 #include#include#includeusing namespace std;typedef long long ll;const int mod=100...
阅读全文
摘要:给出一个只有01的字符串,请找出最长的的01的数目的相等的字串。。这题最暴力的解决方法就是就是先预处理每个区间01的数目,然后枚举起点和重点,时间复杂度是O(N^2)。下面我们来介绍一种O(n)时间复杂度的做法。。。首先我们可以用一个数组B[i]把串A当中A[0......
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注给出一个整数N,将N表示为2个整数i j的平方和(i #include#include#include#define N 33333using namespace std;__in...
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比...
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。Input 输入Str(Str的长度 #includ...
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。1 3 32 1 32 2 1能...
阅读全文
摘要:给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input输入N(1 #include#include#include#include usin...
阅读全文
摘要:给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。Input输入1个数N(1 #include#include#includeusing namespace std;int main(){ long...
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5难度:1级算法题 收藏 关注 取消关注 1,10,100,1000...组成序列1101001000...,求这个序列的第N位是0还是1。Input第1行:一个数...
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 分值: 5难度:1级算法题 收藏 关注 取消关注 X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 2...
阅读全文