自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HJ

业余算法爱好者

  • 博客(33)
  • 资源 (5)
  • 收藏
  • 关注

原创 51nod 1126 求递推序列的第N项(循环节)

有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值。 Input输入3个数:A,B,N。数字之间用空格分割。(-10000 <= A, B <= 10000, 1 <= N <= 10^9)Output输出f(n)的值。Input示例3 -1 5Output示例6只

2017-04-29 18:15:24 833 1

原创 51nod 1459 迷宫游戏(最短路)

你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从起点尽快到达终点,在满足首要目标的前提下,使得你的得分总和尽可能大。现在问题来了,给定房间、道路、分数、起点和终点等全部信息,你能计算在尽快离开迷宫的前提下,你的最大得

2017-04-29 18:10:07 612

原创 51nod 1289 大鱼吃小鱼(栈)

有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼? Input第1行:1个数N,表示鱼的数量(1 <= N <= 100000)。 第2 - N + 1行:每行两个数A[i], B[i],中间用空格分隔,分别表示鱼的大小及游动的方

2017-04-29 18:03:59 550

原创 51nod 1009 数字1的数量(思维)

给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。 Input输入N(1 <= N <= 10^9)Output输出包含1的个数Input示例12Output示例5两种方法:方法一:动态规划设d[i]表示首字母为1的i位数内有多少个1#include<iostream>#

2017-04-28 20:59:16 548

原创 51nod 1090 3个数和为0(二分)

给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。 Input第1行,1个数N,N为数组的长度(0 <= N <= 1000) 第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^

2017-04-28 20:54:55 510

原创 51nod 1091 线段的重叠(贪心)

X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。 Input第1行:线段的数量N(2 <= N <= 50000)。 第2 - N + 1行:每行2个数,线段的起点和终点。(0 <= s , e <

2017-04-28 20:53:04 634

原创 51nod 1284 2 3 5 7的倍数(容斥)

给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。 Input输入1个数N(1 <= N <= 10^18)。Output输出不是2 3 5 7的倍数的数共有多少。Input示例10Output示例1只有2,3,5,7四个因子,因此分成四步即可,分别用四个变量保存总数。#include<iostream>using namespac

2017-04-28 20:51:01 555

原创 51nod 1013 3的幂的和(快速幂+逆元)

求:3^0 + 3^1 +…+ 3^(N) mod 1000000007 Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Input示例3Output示例40逆元:若对于数字A,C 存在X,使A * X = 1 (mod C) ,那么称X为 A 对C的乘法逆元。理论依据:F / A mod C = ?如果存在 A*X = 1 (mod C)那么2边同时乘起来,得到

2017-04-28 20:40:19 656

原创 51nod 1256 乘法逆元 (扩展欧几里得求逆元)

给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。 Input输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)Output输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input示例2 3Output示例2扩展欧几里得模板题!#

2017-04-28 14:29:54 567

原创 CSU 1021 组合数末尾的零(简单题)

从m个不同元素中取出n (n ≤ m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。组合数的计算公式如下:C(m, n) = m!/((m - n)!n!) 现在请问,如果将组合数C(m, n)写成二进制数,请问转这个二进制数末尾有多少个零。 Input第一行是测试样例的个数T,接下来是T个测试样例,每个测试样例占一行,有两个数,依次是m和n,其中n ≤ m ≤ 1000。

2017-04-28 13:35:25 636

原创 CSU 1093 Caps Lock (贪心+模拟)

GBQC国的小明当上了打字员,现在他需要打出N篇只含字母的文章,小明习惯用Caps Lock键来转换大小写,因此每当从小写字母转换成大写字母的时候,他就会按一下Caps Lock键打开大写锁,每当从大写字母转换成小写字母的时候,他就会按一下Caps Lock键关闭大写锁。在最初的时候大写锁是关闭的,小明的打文章的顺序可以是任意的,但对于任意一篇文章必须从文章开头至结尾逐一打完每个字母,中途不能更换其

2017-04-28 13:26:42 556

原创 hdu 2077 汉诺塔IV (递推)

Problem Description 还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面。xhd在想如果我们允许最大的盘子放到最上面会怎么样呢?(只允许最大的放在最上面)当然最后需要的结果是盘子从小到大排在最右边。Input 输入数据的第一行是一个数据T,表示有T组数据。 每组数据有一个正整数n

2017-04-28 13:03:46 743

原创 hdu 1458 汉诺塔III(递推)

Problem Description 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。 现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面

2017-04-28 12:53:36 581

原创 hdu 2086 A1 = ?(递推)

Problem Description 有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, …. n). 若给出A0, An+1, 和 C1, C2, …..Cn. 请编程计算A1 = ?Input 输入包括多个测试实例。 对于每个实例,首先是一个正整数n,(n <= 3000); 然后是2个数a0, an+1.接下来的n行每行有一个数ci(i =

2017-04-28 12:46:06 483

原创 hdu 3342 Legal or Not(拓扑排序)

Problem Description ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many “holy cows” like HH, hh, AC, ZT, lcc, BF, Qinz

2017-04-27 18:46:16 357

原创 hdu 2647 Reward(拓扑排序)

Problem Description Dandelion’s uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewards

2017-04-27 14:46:13 677

原创 hdu 1285 确定比赛名次(拓扑排序)

Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input 输入有若干组,每组中的第一行为二个数N(1<=N<=500),M

2017-04-27 14:41:32 399

原创 51nod 1019 逆序数(树状数组)

在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。 Input第1行:N,N为序列的长度(n <= 50000) 第2 - N + 1行:序列中的元素(0 <= A[i] <= 10^9)Outp

2017-04-11 00:07:52 427

原创 51nod 1118 机器人走方格(递推)

M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。 Input第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000)Output输出走法的数量。Input示例2 3Output示例3简单递推,每次到达的地点(i,j)源自于(i-1,j)或者(i,j-1),由于数据量不大,可以先预处理

2017-04-11 00:04:18 458

原创 51nod 1058 N的阶乘的长度(斯特林公式)

输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。 Input输入N(1 <= N <= 10^6)Output输出N的阶乘的长度Input示例6Output示例3斯特林公式斯特林公式 N!=sqrt(2*PI*N)*(N/e)^NN!的长度len=log10(sqrt(2*PI*N)*(N/e)^N)+1 =0.5*log10(2.0*PI*N)+N*log10(N/e)+

2017-04-10 23:57:45 428

原创 51nod 1006 最长公共子序列Lcs(打印路径)

给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。 比如两个串为:abcicba abdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。 Input第1行:字符串A 第2行:字符串B (A,B的长度 <= 1000)Output输出最长的子序列,如果有多个,随意输出1个。Input示例abcicba abdkscab

2017-04-10 23:53:53 385

原创 51nod 1072 威佐夫游戏(威佐夫博弈)

有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。 例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。 Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)

2017-04-10 23:44:29 416

原创 hdu 1284 钱币兑换问题(母函数)

Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。Input 每行只有一个正整数N,N小于32768。Output 对应每个输入,输出兑换方法数。Sample Input2934 12553Sample Output718831 13137761什么是母函数?假设1分、3分、5分每一种硬币各一枚,可以得

2017-04-10 23:35:32 760

原创 51nod 1240 莫比乌斯函数

莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出。梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号。(据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数)。 具体定义如下: 如果一个数包含平方因子,那么miu(n) = 0。例如:miu(4), miu(12), miu(18) = 0。 如果一个数不包含平方因子,并且有k个不同的质因子,那么miu(n)

2017-04-10 23:06:52 749

原创 关于连续自然数和问题的探讨

题目描述: 对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。分析: (1)常见的方法是暴力去寻找,或者是打表记录下来,不过很可惜,这样做的时间复杂度是O(n^2)(2)利用求和公式和求根公式:设存在连续自然数,首项为A1,项数为m,即A1+A2+...+Am=M得到求和公式A1*m+m*(m-1)/2=M整理得到m^2+(2*A1-1)*m-2M=0很

2017-04-10 22:53:38 1917

原创 51nod 1073 约瑟夫环(递推)

N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 Input2个数N和K,表示N个人,数到K出列。(2 <= N, K <= 10^6)Output最后剩下的人的编号Input示例3 2Output示例3先模拟一下简单数据,帮助理解。假设n=10,

2017-04-10 22:40:58 493

原创 hdu 2524 矩形A + B(递推)

Problem Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100).Output 每行输出网格中有多少个矩形.Sample Input2 1 2 2 4Sample Output3 30解题

2017-04-08 18:29:18 362

原创 codeforces 305B. Continued Fractions(数学)

A continued fraction of height n is a fraction of form . You are given two rational numbers, one is represented as and the other one is represented as a finite fraction of height n. Check if they are e

2017-04-08 18:25:16 503

原创 hdu 5701 中位数计数(数学)

Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。现在有n个数,每个数都是独一无二的,求出每个数在多少个包含其的区间中是中位数。Input 多组测试数据第一行一个数n(n≤8000)第二行n个数,0≤每个数≤109,Output N个数,依次表示第i个数在多少包含其的区间中是中位数。Sample

2017-04-08 18:22:04 398

原创 hdu 1205 吃糖果(数学)

Problem Description HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样;可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下。Input 第一行有一个整数T,接下来T组数据,每组数据占2行,第一行是一个整数N(0#incl

2017-04-08 18:16:49 340

原创 hdu 4461 The Power of Xiangqi(简单模拟)

Problem DescriptionXiangqi is one of the most popular two-player board games in China. The game represents a battle between two armies with the goal of capturing the enemy’s “general” piece. Now we in

2017-04-08 18:12:00 462

原创 UVa 12665 - Joking with Fermat's Last Theorem(数学)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4403题目大意:给出一个范围[x,y],要求在这个范围内找出任意三个数a、b、c,满足 a^3+b^3=c*10+3求出能满足的个数有多少。解题思路: 因为给的数据太大,我们需要从c来入手,因为

2017-04-08 18:07:06 521

原创 hdu 2570 迷瘴(贪心)

Problem Description 通过悬崖的yifenfei,又面临着幽谷的考验—— 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。 幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。 现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同

2017-04-08 18:01:15 401

Fabric_源码分析.pdf

Hyperledger Fabric源码1.0版本的流程全解析,包括链码启动、Peer启动、Peer与链码交互、Endorser背书流程、Orderer启动、Orderer与Kafka集群交互等等内容

2020-05-08

字符串基本知识点讲解

对KMP算法的详细讲解(私密材料),以及Manacher算法的经典讲述。

2018-02-09

基础数据结构总结

基础数据结构的知识点的讲解、总结,包括栈、队列、二叉树、图等。

2018-02-09

动态规划总结

ACM中基础动态规划的各类知识点讲述、总结。其中包括基础DP、背包问题、数位DP、概率DP等。

2018-02-09

线段树矩形面积并讲解

ACM中对于矩形面积并用线段树+离散化+ 扫描线一类问题求解

2018-02-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除