自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AcWing 920. 最优乘车

题面H 城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。一名旅客最近到 H 城旅游,他很想去 S 公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达 S 公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士,这样换乘几次后到达 S 公园。现在用整数 1,2,…N 给 H 城的所有的巴士站编号,约定这名旅客所在饭店的

2021-08-23 22:49:08 94

原创 DFS剪枝

常见的剪枝方式优化搜索顺序:优先搜索分支数量少的排除等效冗余可行性剪枝最优性剪枝例题小猫爬山题面翰翰和达达饲养了 N 只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。翰翰和达达只好花钱让它们坐索道下山。索道上的缆车最大承重量为 W,而 N 只小猫的重量分别是 C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过 W。每租用一辆缆车,翰翰和达达就要付 1 美元,所以他们想知道,最少需要付

2021-08-19 11:52:58 194

原创 最长异或路径(Tire树+贪心)

最长异或路径(Tire树+贪心)题目描述给定一棵 nn 个点的带权树,结点下标从 11 开始到 nn。寻找树中找两个结点,求最长的异或路径。异或路径指的是指两个结点之间唯一路径上的所有边权的异或。输入格式第一行一个整数 n,表示点数。接下来 n-1 行,给出 u,v,w ,分别表示树上的 u 点和 v 点有连边,边的权值是 w。输出格式一行,一个整数表示答案。输入输出样例输入 #141 2 32 3 42 4 6输出 #17解题思路首先,异或有一个性质A⨁A=0⇒A

2021-08-08 01:49:19 873

原创 Acwing 204. 表达整数的奇怪方式(扩展中国剩余定理)

Acwing 204. 表达整数的奇怪方式(扩展中国剩余定理)解题步骤:扩展中国剩余定理的模板题x≡m1(mod a1)x\equiv m_1(mod \ a_1)x≡m1​(mod a1​)x≡m2(mod a2)x\equiv m_2(mod \ a_2)x≡m2​(mod a2​)⇒a1∗y1+m1=a2∗y2+m2\Rightarrow a_1 * y_1 + m_1 = a_2 * y_2 + m2⇒a1​∗y1​+m1​=a2​∗y2​+m2

2021-07-27 00:43:34 115

原创 C Looooops (POJ2115)

C Looooops (POJ2115)解题思路:题目要求的是A+C×x≡B(mod 2k)A+C \times x \equiv B (mod\ 2^k)A+C×x≡B(mod 2k)可以使用exgcd进行求解首先将原式子变形为A+C×x=B+2k×y0A+C \times x = B + 2^k \times y_0A+C×x=B+2k×y0​移项变化C×x+2k×y=B−AC\times x + 2^k \times y = B - AC×x+2k×y=B−A用ex

2021-07-19 01:00:41 117

原创 质数距离

质数距离输入样例:2 1714 17输出样例:2,3 are closest, 7,11 are most distant.There are no adjacent primes.解题思路:​ 我们无法预处理 $1 \lt n \lt 2^{31} - 1 $ 的所有质数。对于一个数 n , 最多存在一个大于x\sqrt xx​ 的质因数。所以我们可以预先处理不超过x\sqrt xx​ 的质数,然后筛除 [L,U] 之间的合数。​ 231≈46340\sqrt {2^{31}} \

2021-07-17 23:40:19 95

原创 HDU3068 最长回文(字符串hash)

思路分别求两个方向的字符串hash,利用区间hash判断两子串是否满足回文p.s.区间hash求法代码#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>#include<vector>#include<map>#include<set>#include<st.

2021-04-27 22:56:32 110

原创 PTA进阶实验2-3.4 素因子分解 (20 分)

思路对于每一个从小到大每一个素数,如果该素数是n的因子,则对该素数计数,并且n除以该素数,一直到n不再是该素数的倍数为止。cpp代码#include<bits/stdc++.h>using namespace std;bool j[10010] ; //判断是否为素数,当j[i]为true时代表i为合数;void init(){//对j数组进行初始化 for(int i = 2 ; i < 10010 ; i ++ ){ if(!j[i]){ .

2021-03-04 22:15:14 569 1

原创 PTA基础实验2-2.5 整数分解为若干项之和 (20 分)

cpp代码#include<bits/stdc++.h>using namespace std;int n , a[30] , cnt = 1 , sum , num ;//a数组用于存储加数,cnt用于计算已经输出的答案的数量,sum用于记录此时累加的和,num是a数组的指针;void dfs(int k){ if( sum > n ) return ; if( sum == n ){ cout << n <<"=" ;.

2021-03-02 20:49:25 387

原创 最大子矩阵

描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入输入是一个N * N的矩阵。输入的第一行给出N (0 < N <= 100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N2个整数,整数

2021-02-02 21:45:21 449

原创 OpenJudge-6377:生日相同 2.0

描述在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。输入第一行为整数n,表示有n个学生,n ≤ 180。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于20)和出生月(1 ≤ m ≤ 12)日(1 ≤ d ≤ 31)。名字、月、日之间用一个空格分隔输出每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的名字,数字、名字之间都用一个空格分隔。

2021-01-31 21:48:32 812

原创 迷宫问题(BFS)

描述定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。输入一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。输出左上角到右下角的最短路径,格式如样例所示。解题思路我今天刚学的广度优先搜索

2021-01-22 21:48:35 139

原创 棋盘问题

描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白.

2021-01-21 20:16:26 125

原创 A Knight‘s Journey

描述BackgroundThe knight is getting bored of seeing the same black and white squares again and again and has decided to make a journeyaround the world. Whenever a knight moves, it is two squares in one direction and one square perpendicular to this. The..

2021-01-21 19:57:10 167

空空如也

空空如也

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

TA关注的人

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