自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1145 Hashing - Average Search Time

这一题关键是英语的平方索引得翻译出来,那么也就是按平方索引得hash表for (int i = 0; i <= N; i++){ int t = (x + i * i) % N; if (h[t] == 0) { h[t] = x; break; }}代码#include <iostream>using namespace std;int N;int h[100010];bool judge(int x){ if (x < 2) return f

2021-04-23 23:40:03 80

原创 1003 Emergency (25 分)

最短路径题,关键在于它的有多少条均是最短的通向终点,使用toi数组来存储当更新dist时到达上一个点有多少条那么到现在这个点就有多少条当等与dist时,toi要加上当前点的条数(1)若d[j]==d[v]+cost[v][j],则tot[j]+=tot[v];num[j]=max(num[j],num[v]+a[j])(2)若d[j]<d[v]+cost[v][j],则tot[j]=tot[v];num[j]=num[v]+a[j]#include <iostream>#inc

2021-04-21 20:38:50 70

原创 L3-015 球队“食物链”

某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个1至N的排列{ T​1​​ T​2​​ ⋯ T​N​​ },满足:球队T​1​​ 战胜过球队T​2​​ ,球队T​2​​ 战胜过球队T​3​​ ,⋯,球队T​(N−1)​​ 战胜过球队T​N​​ ,球队T​N​​ 战胜过球队

2021-04-20 20:15:56 222

原创 最长上升子序列

给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤100000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4思路贪心:较小的数开头的数作为的子序列 比 较大的数作为开头的子序列 更好.#include <iostream>#include <algorithm>#include <

2020-12-06 20:09:16 62

原创 方格取数

设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。行和列编号从 1 开始。

2020-12-06 16:52:59 193

原创 L2-014 列车调度

火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N (2 ≤ N ≤10​5​​ ),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。输出格式:

2020-11-26 17:09:58 67

原创 蓝桥杯第七届省赛B组———四平方和

四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。比如:5=02+02+12+227=12+12+12+22对于一个给定的正整数,可能存在多种平方和的表示法。要求你对 4 个数排序:0≤a≤b≤c≤d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法。输入格式输入一个正整数 N。输出格式输出4个非负整数,按从小到大排序,中间用空格分开。数据范围0<N&

2020-10-13 20:22:57 132

转载 蓝桥杯第八届B组———k倍区间

题目给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗?输入第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)输出输出一个整数,代表K倍区间的数目。例如,输入:5 212345程序应该输出:6资源约定

2020-10-12 20:17:36 97

原创 第九届蓝桥杯B组省赛———乘积最大

标题:乘积最大给定N个整数A1, A2, … AN。请你从中选出K个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。即:0-((0-x) % 1000000009)【输入格式】第一行包含两个整数N和K。以下N行每行一个整数Ai。对于40%的数据,1 <= K <= N <= 100对于60%的数据,1

2020-10-05 21:53:54 2279

原创 蓝桥杯第六届省赛B组———垒骰子

题目赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。由于方案数可能过多,请输出模 10^9 + 7 的

2020-09-24 21:57:17 290

原创 矩阵快速幂

M mPow(M m, int k)//M为struct M,里面有一个a[6][6]{ M ans;//初始化为单元矩阵(对角线为1,其余为0) for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (i == j) ans.a[i][j] = 1; else ans.a[i][j] = 0; } } while (k > 0) { if (k & 1) ans = Mult

2020-09-21 21:45:35 47

原创 蓝桥杯第七届B组省赛———剪邮票

如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。代码#include <iostream>#include <algorithm>using namespace std;int c

2020-09-07 22:03:31 89

原创 蓝桥杯第八届B组省赛——分巧克力

标题: 分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入第一行包含两个整数N和K。(1 &

2020-08-22 17:42:06 193

原创 快速幂模板

long long fastpower(long long base, long long p, long long mod){ long long res = 1 % p; while (p > 0) { if (p & 1) res = (res * base) % mod; p >>= 1; base = (base * base) % mod; } return res;}

2020-08-19 21:53:34 75

原创 第十一届蓝桥杯——网络分析

【问题描述】小明正在做一个网络实验。他设置了 n 台电脑,称为节点,用于收发和存储数据。初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。给出小明连接和测试的过程,请计算出

2020-08-19 21:06:30 2120 4

原创 第十一届蓝桥杯——矩阵

问题描述把 1 ∼ 2020 放在 2 × 1010 的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?答案很大,你只需要给出方案数除以 2020 的余数即可。答案提交这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。答案:1340思路这一题是个动态规划题, DP[i][j]表示第一层有i个数,第二层有j个数有多少种方案题目要求同一行中右边比左边大, 同一列中下边比上边的大,所以 j

2020-08-19 20:17:11 4391 10

原创 第十一届蓝桥杯——REPEAT程序

问题描述附件 prog.txt 中是一个用某种语言写的程序。其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达,从次行开始连续的缩进比该行多的(前面的空白更长的)为循环包含的内容。例如如下片段:在这里插入图片描述问题描述】附件 prog.txt 中是一个用某种语言写的程序。其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达,从次行开始连续的缩进比该行多的(前面的空白更长的)为循环包含的内容。例如如下片段:在这里插入图片描述问题描述】

2020-08-19 19:57:12 973 4

原创 二分法

题目给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回“-1 -1”。输入样例:6 31 2 2 3

2020-08-15 19:34:36 84

原创 杂七杂八

1.long long 的范围 :10的九次方unsigned long long的范围:10的20次方(用%lld输出)2.求最大公约数的函数int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);} //递归法求最大公约数,当最大公约数是1的时候,两个数互质...

2020-08-02 21:20:58 1366

原创 蓝桥杯第八届B组包子凑数

标题:包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。而顾客想买7个

2020-05-31 23:00:50 290

转载 动规之游艇租用问题

参考这篇文章做出了一些优化问题描述:长江俱乐部在长江设置了n个游艇出租站1,2,…n,游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),设计一个算法,计算出从出租站1到出租站n所需要的最少租金。样例输入:35 157样例输出:12状态转移方程:fin[i][j] = min( fin[i][j] , fin[...

2020-04-24 21:36:08 464

原创 02-线性结构3 Reversing Linked List (25分)

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4,...

2019-12-19 09:17:31 78

原创 02-线性结构4 Pop Sequence (25分)

Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the...

2019-12-11 20:36:55 146

原创 02-线性结构2 一元多项式的乘法与加法运算

设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 ...

2019-12-07 10:46:12 80

原创 01-复杂度3 二分查找

本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; ...

2019-11-30 09:48:31 257

空空如也

空空如也

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

TA关注的人

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