自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 bfs :八数码

题目链接题意:在一个3×3的网格中,1~8这8个数字和一个“X”恰好不重不漏地分布在这3×3的网格中。例如:1 2 3X 4 67 5 8在游戏过程中,可以把“X”与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 X例如,示例中图形就可以通过让“X”先后与右、下、右三个方向的数字交换成...

2020-02-17 23:29:09 238

原创 bfs :走迷宫

题目链接题意:给定一个n*m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁。最初,有一个人位于左上角(1, 1)处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角(n, m)处,至少需要移动多少次。数据保证(1, 1)处和(n, m)处的数字为0,且一定至少存在一条通路。输入格式第一行包含两个整...

2020-02-17 21:58:58 729

原创 dfs : n-皇后问题

题目链接题意:n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数n。输出格式每个解决方案占n行,每行输出一个长度为n的字符串,用来表示完整的棋盘状态。其中”.”表示某一个位置的方格状态为空,”Q”表示某一个位置的方格上摆着...

2020-02-17 20:43:25 222

原创 dfs : 排列数字

题目链接题意:给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1思路:用dfs做全排列就相当于一颗树,如下图:第一条分支走到底...

2020-02-17 19:59:29 378 2

原创 拆分-Nim游戏

题目链接题意:给定n堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆规模更小的石子(新堆规模可以为0,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个整数,其中第i个整数表示第i堆石子的数量ai。输出格式如果先手方必胜,则输出“Yes”。否则,输出“N...

2020-02-17 17:46:14 335

原创 集合-Nim游戏

题目链接题意:给定n堆石子以及一个由k个不同正整数构成的数字集合S。现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合S,最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数k,表示数字集合S中数字的个数。第二行包含k个整数,其中第i个整数表示数字集合S中的第i个数si。第三行包含整数n。第四行包含...

2020-02-17 17:12:09 279

原创 组合数Ⅳ

题目要链接题意:输入a,b,求C[a][b]的值。注意结果可能很大,需要使用高精度计算。输入格式共一行,包含两个整数a和b。输出格式共一行,输出C[a][b]的值。数据范围1≤b≤a≤5000输入样例:5 3输出样例:10思路:分解质因数:C[a][b] = p1^m1 * p2^m2 * … * pk^mk;其中p1 ~ pk都是1 ~ a中的素数;m1~mk是其中对...

2020-02-16 19:54:22 186

原创 求组合数Ⅲ

题目链接题意:给定n组询问,每组询问给定三个整数a,b,p,其中p是质数,请你输出Cba mod p的值。输入格式第一行包含整数n。接下来n行,每行包含一组a,b,p。输出格式共n行,每行输出一个询问的解。数据范围1≤n≤20,1≤b≤a≤1e18,1≤p≤1e5,输入样例:35 3 73 1 56 4 13输出样例:332思路:直接利用卢卡斯定理求解代...

2020-02-14 22:46:49 178

原创 求组合数Ⅱ

题目链接题意:给定n组询问,每组询问给定两个整数a,b,请你输出Cba mod (109+7)的值。输入格式第一行包含整数n。接下来n行,每行包含一组a和b。输出格式共n行,每行输出一个询问的解。数据范围1≤n≤10000,1≤b≤a≤1e5输入样例:33 15 32 2输出样例:3101思路:对于(a!/b!)%c != (a! %c) /(b!%c),而可...

2020-02-14 22:02:39 229

原创 求组合数Ⅰ

题目链接题意:给定n组询问,每组询问给定两个整数a,b,请你输出Cba mod (109+7)的值。输入格式第一行包含整数n。接下来n行,每行包含一组a和b。输出格式共n行,每行输出一个询问的解。数据范围1≤n≤10000,1≤b≤a≤2000输入样例:33 15 32 2输出样例:3101思路:利用这个公式递归求解代码实现:#include<i...

2020-02-14 21:34:03 155

原创 表达整数的奇怪方式(中国剩余定理)

题目链接题意:给定2n个整数a1,a2,…,an和m1,m2,…,mn,求一个最小的非负整数x,满足∀i∈[1,n],x≡mi(mod ai)。输入格式第1行包含整数n。第2…n行:每i+1行包含两个整数ai和mi,数之间用空格隔开。输出格式输出最小非负整数x,如果x不存在,则输出-1。如果存在x,则数据保证x一定在64位整数范围内。数据范围1≤ai≤2^31−1,0≤mi&l...

2020-02-14 20:59:19 526 1

原创 线性同余方程

题目链接题意:给定n组数据ai,bi,mi,对于每组数求出一个xi,使其满足ai∗xi≡bi(mod mi),如果无解则输出impossible。输入格式第一行包含整数n。接下来n行,每行包含一组数据ai,bi,mi。输出格式输出共n行,每组数据输出一个整数表示一个满足条件的xi,如果无解则输出impossible。每组数据结果占一行,结果可能不唯一,输出任意一个满足条件的结果均可。...

2020-02-13 22:31:00 194

原创 扩展欧几里得算法

题目链接题意:给定n对正整数ai,bi,对于每对数,求出一组xi,yi,使其满足ai∗xi+bi∗yi=gcd(ai,bi)。输入格式第一行包含整数n。接下来n行,每行包含两个整数ai,bi。输出格式输出共n行,对于每组ai,bi,求出一组满足条件的xi,yi,每组结果占一行。本题答案不唯一,输出任意满足条件的xi,yi均可。数据范围1≤n≤1e5,1≤ai,bi≤2∗1e9...

2020-02-13 21:53:27 154

原创 筛法求欧拉函数

题目链接题意:给定一个正整数n,求1~n中每个数的欧拉函数之和。输入格式共一行,包含一个整数n。输出格式共一行,包含一个整数,表示1~n中每个数的欧拉函数之和。数据范围1≤n≤1e6输入样例:6输出样例:12思路:代码实现:...

2020-02-11 21:55:04 499

原创 欧拉函数

题目链接题意:给定n个正整数ai,请你求出每个数的欧拉函数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式输出共n行,每行输出一个正整数ai的欧拉函数。数据范围1≤n≤100,1≤ai≤2∗109输入样例:3368输出样例:224思路:其实欧拉函数就是由容斥原理证明的,简单说就是:1,去掉q1,q2,q3的倍数,2,但有些同时是...

2020-02-11 21:46:03 447

原创 快速幂求逆元

添加链接描述

2020-02-11 20:55:53 322

原创 快速幂

添加链接描述题意:给定n组ai,bi,pi,对于每组数据,求出ai ^ bi mod pi的值。输入格式第一行包含整数n。接下来n行,每行包含三个整数ai,bi,pi。输出格式对于每组数据,输出一个结果,表示ai ^ bi mod pi的值。每个结果占一行。数据范围1≤n≤100000,1≤ai,bi,pi≤2∗1e9输入样例:23 2 54 3 9输出样例:41...

2020-02-11 18:36:08 165

原创 最大公约数(欧几里得/辗转相除法)

题目链接题意:给定n对正整数ai,bi,请你求出每对数的最大公约数。输入格式第一行包含整数n。接下来n行,每行包含一个整数对ai,bi。输出格式输出共n行,每行输出一个整数对的最大公约数。数据范围1≤n≤1e5,1≤ai,bi≤2∗1e9输入样例:23 64 6输出样例:32思路:常识知识:如果a%d = 0 && b%d = 0, 那么(a + ...

2020-02-10 21:08:45 317

原创 约数之和

题目链接题意:给定n个正整数ai,请你输出这些数的乘积的约数之和,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数之和,答案需对109+7取模。数据范围1≤n≤100,1≤ai≤2∗109输入样例:3268输出样例:252思路:对于约数的问题,基于算术定理可以得到两个公式:if ...

2020-02-10 21:08:23 542

原创 约数个数

题目链接题意:给定n个正整数ai,请你输出这些数的乘积的约数个数,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对109+7取模。数据范围1≤n≤100,1≤ai≤2∗109输入样例:3268输出样例:12思路:对于约数的问题,基于算术定理可以得到两个公式:if : ...

2020-02-10 21:07:50 312

原创 试除法求约数

题目链接题意:给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出共n行,其中第 i 行输出第 i 个整数ai的所有约数。数据范围1≤n≤100,2≤ai≤2∗109输入样例:268输出样例:1 2 3 61 2 4 8代码实现:#include <iostr...

2020-02-10 21:00:36 515

原创 筛质数(埃氏筛)

题目链接题意:给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1≤n≤1e6输入样例:8输出样例:4思路1 (朴素做法):把1~n中2的倍数,3的倍数, 4的倍数……都删除,那么剩下的数就都是质数了。代码实现: O(n * logn)#include<iostream>...

2020-02-08 23:37:30 743

原创 分解质因数(试除法)

题目链接题意:给定n个正整数ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式对于每个正整数ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。每个正整数的质因数全部输出完毕后,输出一个空行。数据范围1≤n≤100,1≤ai≤2∗109输入...

2020-02-08 22:21:04 1042

原创 试除法判定质数(暴力)

题目链接题意:给定n个正整数ai,判定每个数是否是质数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式共n行,其中第 i 行输出第 i 个正整数ai是否为质数,是则输出“Yes”,否则输出“No”。数据范围1≤n≤100,1≤ai≤2∗109输入样例:226输出样例:YesNo代码实现:#include<iostream>u...

2020-02-08 21:43:47 598

原创 线段树 / 树状数组:一个简单的整数问题2(区间修改 / 求区间和)

题目链接题意:给定一个长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。2、“Q l r”,表示询问 数列中第 l~r 个数的和。对于每个询问,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个整数A[i]。接下来M行表示M条指令,每条指令的格式如题目描述所示。输出格式对于每...

2020-02-07 23:33:01 284

原创 线段树:你能回答这些问题吗(单点修改 / 求最大连续区间和)

题目链接题意:给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤y{∑ri=lA[i]}。2、“2 x y”,把 A[x] 改成 y。对于每个查询指令,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个整数A[i]。接下来M行每行3个整数k,x,y,k=1表示查询(此时如果...

2020-02-07 22:40:09 270

原创 线段树:最大数(单点修改 / 求区间最大值)

题目链接题意:给定一个正整数数列 a1,a2,…,an,每一个数都在 0∼p−1 之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成 n+1;询问操作:询问这个序列中最后 L 个数中最大的数是多少。程序运行的最开始,整数序列为空。写一个程序,读入操作的序列,并输出询问操作的答案。输入格式第一行有两个正整数 m,p,意义如题目描述;接下来 m 行,每一行表示...

2020-02-07 18:31:57 520

原创 Codeforces 1296(A,B,C,D) Round#617(Div.3)

题目链接A. Array with Odd Sum题意:给你一组数据,是否可以对任意 ai := aj (:=为赋值,且i不等于j),可以进行多次(或零次)操作,使得数组总和为奇数;如果可以输出YES,否则输出NO。思路:如果奇数的个数为奇数,直接输出YES;否则,如果存在偶数,输出YES,不存在偶数,输出NO。代码实现:#include<bits/stdc++.h>usi...

2020-02-05 17:35:46 246

原创 Tire:电话列表

题目链接:https://www.acwing.com/problem/content/163/题意:给出一个电话列表,如果列表中存在其中一个号码是另一个号码的前缀这一情况,那么就称这个电话列表是不兼容的。假设电话列表如下:·Emergency 911·Alice 97 625 999·Bob 91 12 54 26在此例中,报警电话号码(911)为Bob电话号码(91 12 54 2...

2020-02-04 21:42:04 224

原创 队列:蚯蚓

题目链接:https://www.acwing.com/problem/content/135/题意:蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有 n 只蚯蚓,第 i 只蚯蚓的长度为 ai ,所有蚯蚓的长度都是非负整数,即可能存在长度为0的蚯蚓。每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只,将其切成两段。若有多...

2020-02-04 12:39:25 206

原创 队列:最大子序和

题目链接:https://www.acwing.com/problem/content/137/题意:输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大。注意: 子序列的长度至少是1。数据范围1≤n,m≤300000输入样例:6 41 -3 5 1 -2 3输出样例:7思路:显然我们要在前缀和数组中sum[i]的前m范围内找到一个min...

2020-02-04 09:57:54 237

原创 队列:小组队列(插队)

题目链接:https://www.acwing.com/problem/content/134/题意:有n个小组要排成一个队列,每个小组中有若干人。当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。请你编写一个程序,模拟这种小组队列。输入格式:输入将包含一个或多个测试用例。对于每个测试用例,第一行输入小组数量t。接下来t行...

2020-02-03 21:37:07 1751

原创 Hash:兔子与兔子

题目链接:https://www.acwing.com/problem/content/140/题意:很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母)。然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样...

2020-02-02 21:55:00 344

原创 Hash:雪花雪花雪花

题目链接:https://www.acwing.com/problem/content/139/题意:有N片雪花,每片雪花由六个角组成,每个角都有长度。第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,…,ai,6。因为雪花的形状是封闭的环形,所以从任何一个角开始顺时针或逆时针往后记录长度,得到的六元组都代表形状相同的雪花。如果不存在两片形状相同的雪花,则输出:No tw...

2020-02-02 21:17:07 420

原创 栈 / 卡特兰数:火车进出栈问题

题目链接:https://www.acwing.com/problem/content/132/题意:一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。数据范围1≤n≤60000输入样例:3输出样例:5思路:进出栈问题–>序列问题–>路径问题。这显然是上一道火车进栈的升级版,数据太大不能再进行递...

2020-02-02 16:35:11 685 1

原创 Codeforces 1294(A,B,C,D)Round #615(Div.3)

题目链接:https://codeforces.com/contest/1294A. Collecting Coins题意:三姐妹分别有a,b,c个硬币,先让你把n个硬币分给三姐妹,使得她们的硬币数相同,如果能实现输出YES,否则输出NO。思路:此题应注意是三姐妹接受硬币(可以为0),但是不能减少原有硬币数。代码实现:#include<bits/stdc++.h>using...

2020-02-01 23:37:48 261

原创 栈:直方图中最大的矩形

题目链接:https://www.acwing.com/problem/content/133/题意:直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1:通常,直方图用于表示离散分布,例如,文本中字符的频率。现在,请你计算在公共基线处对齐的直方图中最大矩...

2020-02-01 21:49:12 213

原创 栈:火车进栈

题目链接:https://www.acwing.com/problem/content/131/题意:这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头。这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出。也就是说这个火车站其实就相当于一个栈,每次可以让右侧...

2020-02-01 20:59:04 561

原创 栈:编译器

题目链接:https://www.acwing.com/problem/content/130/题意:你将要实现一个功能强大的整数序列编辑器。在开始时,序列是空的。编辑器共有五种指令,如下:1、“I x”,在光标处插入数值x。2、“D”,将光标前面的第一个元素删除,如果前面没有元素,则忽略此操作。3、“L”,将光标向左移动,跳过一个元素,如果左边没有元素,则忽略此操作。4、“R”,将光标...

2020-02-01 18:34:01 267

原创 栈:包含min函数的栈

题目链接:https://www.acwing.com/problem/content/90/题意:设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈。push(x)–将元素x插入栈中pop()–移除栈顶元素top()–得到栈顶元素getMin()–得到栈中最小元素样例:MinStack minStack = new MinStack();mi...

2020-02-01 16:38:42 144

空空如也

空空如也

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

TA关注的人

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