自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 历届试题 兰顿蚂蚁

兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;  若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。蚂蚁的路线

2020-11-10 21:17:27 15

原创 历届试题 矩阵翻硬币

问题描述  小明先把硬币摆成了一个 n 行 m 列的矩阵。随后,小明对每一个硬币分别进行一次 Q 操作。对第x行第y列的硬币进行 Q 操作的定义:将所有第 ix 行,第 jy 列的硬币进行翻转。其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小M寻求帮助。聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢复到最开始的状态。然而小

2020-11-10 20:46:26 14

转载 历届试题 正则问题

问题描述题目链接:正则问题资源限制时间限制:1.0s 内存限制:256.0MB问题描述  考虑一种简单的正则表达式:  只由 x ( ) | 组成的正则表达式。  小明想求出这个正则表达式能接受的最长字符串的长度。  例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。输入格式  一个由x()|组成的正则表达式。输入长度不超过100,保证合法。输出格式  这个正则表达式能接受的最长字符串的长度。样例输入((xx|xxx)x|(x|xx)

2020-11-04 21:25:26 24

原创 历届试题 分巧克力

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

2020-11-02 20:29:22 12

原创 历届试题 日期问题

问题描述  小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入格式 

2020-10-30 21:02:37 14

原创 历届试题 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样例输

2020-10-30 19:53:44 20

原创 历届试题 九宫幻方

问题描述  小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出一个九宫格来。4 9 2  3 5 7  8 1 6有意思的是,所有的三阶幻方,都可以通过这样一个九宫格进行若干镜像和旋转操作之后得到。现在小明准备将一个三阶幻

2020-10-28 21:44:01 18

原创 历届试题 图形排版

资源限制时间限制:2.0s 内存限制:256.0MB问题描述  小明需要在一篇文档中加入 N 张图片,其中第 i 张图片的宽度是 Wi,高度是 Hi。  假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版:1. 该工具会按照图片顺序,在宽度 M 以内,将尽可能多的图片排在一行。该行的高度是行内最高的图片的高度。例如在 M=10 的纸张上依次打印 3x4, 2x2, 3x3 三张图片,则效果如下图所示,这一行高度为4。(分割线以上为列标尺,分割线以下为排版区域;数字组成的

2020-10-28 20:47:41 13

原创 关于博弈论的dfs一般操作

博弈论的思路:一般分析当前局面的状态,则毫不意外的需要考虑下一个局面的状态。设当前局面有多种选择。一:有一种选择可以使得下一次对方的局面为必败态,则当前必胜直接退出。二:不论怎么选择下一个局面都是对面的必胜态,则当前为必胜态。三:其他情况为平态。...

2020-10-27 23:40:40 12

原创 历届试题 填字母游戏

问题描述  小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:  “我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:1. 轮到某人填的时候,只能在某个空格中填入L或O  2. 谁先让字母组成了“LOL”的字样,谁获胜。  3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希望你能用计算机帮他解开这个谜。输入格式  第一行,数字n(n<10),表示下面

2020-10-27 20:49:46 55

原创 1024文章

发发发

2020-10-24 21:05:00 17

原创 2020-10-24

1024

2020-10-24 06:54:26 5

原创 [蓝桥杯][算法提高VIP]找素数

给定区间[L, R] , 请计算区间中素数的个数。数据规模和约定2 < = L < = R < = 2147483647 R-L < = 1000000输入两个数L和R。输出一行,区间中素数的个数。样例输入2 11样例输出5引用自埃氏筛法https://blog.dotcpp.com/a/69591#include<iostream>#include<algorithm>#include<cstri

2020-10-12 21:38:50 37 1

原创 set库的常用操作

//关于C++中set库的基本用法#include <iostream>#include <set>using namespace std;//注:set中是自动排序,且查找为二分查找所以很快,在hash中十分好用 set<int> s; //定义一个set set<int>::iterator it ;//设置迭代器 int main(){ s.insert(1); //插入1 s.insert(2); s.insert(3);

2020-10-12 20:36:23 31

原创 历届试题 区间移位

问题描述  数轴上有n个闭区间D1,…,Dn。其中区间Di用一对整数[ai, bi]来描述,满足ai < bi。已知这些区间的长度之和至少有10000。所以,通过适当的移动这些区间,你总可以使得他们的“并”覆盖[0, 10000]——也就是说[0, 10000]这个区间内的每一个点都落于至少一个区间内。  你希望找一个移动方法,使得位移差最大的那个区间的位移量最小。  具体来说,假设你将Di移动到[ai+ci, bi+ci]这个位置。你希望使得maxi |ci|  最小。输入格式  输入的第

2020-10-12 19:55:34 27

原创 历届试题 青蛙跳杯子

问题描述  X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色。  X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去。  如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙。*WWWBBB其中,W字母表示白色青蛙,B表示黑色青蛙,*表示空杯子。X星的青蛙很有些癖好,它们只做3个动作之一:  1. 跳到相邻的空杯子里。  2. 隔着1只其它的青蛙(随便什么颜色)跳到空杯子里。  3. 隔着2只其它的青蛙(随便什么颜色)跳到空杯子里。对于上图的局面,只要1步

2020-10-11 21:22:51 17

原创 历届试题 数组操作

问题描述  给出一个长度为 n 的数组 {A_i},由 1 到 n 标号 , 你需要维护 m 个操作。  操作分为三种,输入格式为:1 l r d,将数组中下标 l 到 r 的位置都加上 d,即对于 l<=i<=r,执行A_i=A_i+d。2 l_1 r_1 l_2 r_2,将数组中下标为 l_1 到 r_1 的位置,赋值成 l_2 到 r_2 的值,保证 r_1-l_1=r_2-l_2。  换句话说先对 0<=i<=r_2-l_2 执行 B_i=A_(l_2+i),再对

2020-10-10 19:46:31 140

原创 历届试题 发现环

问题描述  小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。为了恢复正常传输。小明需要找到所有在环路上的电脑,你能帮助他吗?输入格式  第一行包含一个整数N。  以下N行每行两个整数a和b,表示a和b之间有一条数据链接相

2020-10-05 22:41:46 13

原创 历届试题 小数第n位

问题描述  我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。  如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式  一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)输出格式  一行3位数字,表示:a除以b,小数后第n位开始的3位数字。样例输入1 8 1样例输出125样例输入1 8 3样例输出

2020-09-29 19:53:10 34

原创 历届试题 分考场

问题描述  n个人参加某项特殊考试。  为了公平,要求任何两个认识的人不能分在同一个考场。  求是少需要分几个考场才能满足条件。输入格式  第一行,一个整数n(1<n<100),表示参加考试的人数。  第二行,一个整数m,表示接下来有m行数据  以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人认识。输出格式  一行一个整数,表示最少分几个考场。样例输入581 21 31 42 32 42 53 4

2020-09-24 18:25:34 35

原创 线段--信息奥赛

题目 2342: [信息学奥赛一本通-T1429]线段时间限制: 1Sec 内存限制: 128MB 提交: 38 解决: 14题目描述在一个数轴上有n条线段,现选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少?输入第一行为一个正整数n,下面n行每行2个数字ai,bi,描述每条线段。输出输出文件仅包括1个整数,为k的最大值。样例输入30 22 41 3样例输出2代码刚刚贴着时间过,应该有优化的算法.#include <iostream>#inclu

2020-09-23 18:55:28 37

原创 [蓝桥杯][算法提高VIP]促销购物

题目描述张超来到了超市购物。每个物品都有价格,正好赶上商店推出促销方案。就是把许多东西一起买更便宜(保证优惠方案一定比原价便宜)。物品要买正好的个数,而且不能为了便宜而买不需要的物品。张超拿到了优惠方案,和需要购买的物品清单,当然想求出最小的花费。他是信息学选手,自然地想到写个程序解决问题。输入第一行促销物品的种类数(0 < = s < = 99)。第二行…第s+1 行每一行都用几个整数来表示一种促销方式。第一个整数 n (1 < = n < =

2020-08-06 15:06:22 84

原创 扩展中国剩余定理

扩展欧几里得定理的应用:///扩展中国剩余定理,可以模非质数的形式#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int maxn = 1e5+5;int n;ll exgcd(ll a,ll b,ll &x,ll &y){.

2020-08-04 15:28:17 49 1

原创 中国剩余定理模板

//中国剩余定理//求解 模质数同余方程的问题可用//模板#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;int n,m[105],a[105],lcm=1;//m为每个方程模的质数,a为余数,lcm公倍数//扩展欧几里得定理 int exgcd(int a,int b,int &x,int .

2020-08-04 14:52:03 67 1

原创 [蓝桥杯][算法提高VIP]Torry的困惑(提高型)

Torry从小喜爱数学。一天,老师告诉他, 像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉 老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这 个数模上50000的值。输入仅包含一个正整数n,其中n< =100000。输出输出一行,即前n个质数的乘积模50000的值。样例输入1样例输出2思

2020-07-24 16:49:55 51

原创 Pascal三角

PASCAL三角是形状如下的三角矩阵:11 11 2 11 3 3 11 4 6 4 1在PASCAL三角中的每个数是一个组合C(n,k)。C(n,k)=(((((((n/1)(n-1))/2(n-2))/3)***(n-k+2))/(k-1))(n-k+1))/k公式中交替使用乘法和除法,每次将从n开始递减的一个值相乘,然后除以下一个从1开始递增的值。如果对行和列从0开始计数,则数字C(n,k)在n行k列。例如C(6,2)在第6行第2列。编程输出指定阶数的PASCAL

2020-07-23 16:55:37 83

原创 分苹果--(区间操作,线段树与树状数组)

小朋友排成一排,老师给他们分苹果。小朋友从左到右标号1…N。有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li+1个小朋友每人发Ci个苹果。最后老师想知道每个小朋友有多少苹果。数据规模和约定100%的数据,N、M≤100 000,1≤Li≤Ri≤N,0≤Ci≤100。输入第一行两个整数N、M,表示小朋友个数和老师个数。接下来M行,每行三个整数Li、Ri、Ci,意义如题目表述。输出一行N个数,第i个数表示第i个小朋友手上的水果。样例输入5 31 2 12 3 22

2020-07-21 17:44:37 56

原创 中国剩余定理--(同余方程解)

详细介绍请看大佬的讲解:https://www.cnblogs.com/MashiroSky/p/5918158.htmlhttps://blog.csdn.net/acdreamers/article/details/8050018

2020-07-18 17:31:50 88 1

原创 集合计数-(容斥原理+组合数求模)

一个有N个元素的集合有2^N 个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007。数据规模和约定1 < = K < = N < = 10 ^ 6。输入输入一行两个整数N,K。输出输出一个整数表示答案。样例输入3 2样例输出6容斥原理公式:在这里我们可以写成:空集为空集的方案数。最后得到:// 容斥原理+组合数取模// 集合计数/*网上思路

2020-07-18 16:42:20 65 1

原创 SPFA算法

// SPFA算法 ,可以处理负权环的最短路径算法//其主要思想是通过队列的数据结构进行松弛操作//顺便本次用向量的方法存储邻接表吧!! //注:若是有负环,则会陷入无限次的出队入队,在这//里判断结束的方法是一个点进入了n次队列我们就结束程序 #include <iostream>#include <queue>#define inf 0x3f3f3f3fusing namespace std;int n,m;int dis[105]; // 记录当前

2020-07-17 18:11:53 22

原创 Floyd算法

1.迪杰斯特拉算法有一种贪心的思想,它总是找到当前已知的最段路径进行延拓。2.而Floyd算法则是可以寻找任意两点的最段路径,他的思想是通过不同的中转结点进行比较,在找出最短。//floyd算法总结/*可以计算任意两点之间的最短单元路径 */ #include <iostream>#include <cstring>#include <algorithm>#define inf 0x3f3f3f3fusing namespace std;int m

2020-07-17 17:01:45 39

原创 组合数逆元求法

// 线性求组合数逆元#include <iostream>#include <cstring>using namespace std;const int pi = 17;int f[10000];int inv[10000];void Init() //线性求逆元 { f[0]=f[1] = 1; inv[1] = 1; for(int i =2;i<10000;i++) { f[i] = f[i-1]*i%pi; inv[i] = (p

2020-07-16 17:59:27 66

原创 欧拉筛求素数模板

//欧拉筛#include <iostream>#include <cstring>using namespace std;//求10000以内的素数int prime[1000];int cnt = 0;int vis[10005];int main(){ memset(vis,0,sizeof(vis)); memset(prime,0,sizeof(prime)); vis[0]=vis[1] = 1; for(int i =2

2020-07-16 17:19:53 30

原创 暑假训练-试题 算法提高 合唱队形

时间限制:1.0s 内存限制:256.0MB问题描述  N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。  合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…Ti+1>…>TK(1<=i<=K)。  你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入格式  输入的第一行是一个整数N(2&lt

2020-07-05 16:21:17 2385

原创 试题 算法提高 树的直径

资源限制时间限制:100ms 内存限制:8.0MB问题描述  树的直径输入格式  输入的第一行包含一个整数n,表示树中的点数。接下来n-1行,每行3个正整数,表示连同的两点及边的权值。输出格式  输出1行,包含一个整数,表示树的直径。样例输入71 2 11 3 12 4 13 5 14 7 14 6 1样例输出5数据规模和约定n<10^5//树的直径,深搜找到最远点,再用最远点找到直径,不是森林 #include <iostream>#inc

2020-07-01 21:10:02 244

原创 试题 算法提高 进攻策略加强

资源限制时间限制:1.0s 内存限制:256.0MB问题描述  植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物。  首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻。使用第i种僵尸需要花费Wi资源,可以得到Pi的攻击效果。在这里,我们认为多个僵尸总的攻击效果就是他们每个攻击效果的代数和。  地图共有n行,对于第i行,最左端有若干植物,这些植物需要至少Qi的攻击才能被全部消灭。若一行上的植物全部被消灭,我们称这一行被攻破。  由于资源紧张,你只有总量为

2020-07-01 13:51:56 272 3

原创 算法提高 比大小

问题描述  输入n个字符串,比较这些字符串的大小并统计并按字典序输出字符串及出现个数输入格式  输入的第一行包含一个整数n,表示字符串个数。接下来n行,表示输入的字符串。输出格式  输出n行,每行包含一个字符串及一个整数,表示字符串及出现个数。样例输入5aabbbcaabsdffgsgjklsa样例输出aab 2bbc 1sdffg 1sgjklsa 1这道题感觉给的答案是错误的。。。还是写一下吧,思路:字典序排序然后去重//字符串比大小#include <

2020-06-30 08:41:39 305

原创 求逆序对-题解(C++代码)

给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。输入第一行,一个数 n,表示序列中有 n个数。第二行 n 个数,表示给定的序列。序列中每个数字不超过 int 所表示的范围。输出所有逆序对总数。样例输入43 2 3 2样例输出3提示数据经过加强!!!对于 25% 的数据,n≤2500对于 50% 的数据,n≤4×104。对于所有数据,n≤5×105请使用较快的输入输出这里数据是经过加强的,求逆序对一般有两种做法

2020-06-29 15:25:35 4424

原创 暑假训练---三棱锥内切球公式及海伦公式

题目 2326: 七月树的水题题目描述七月树看到了一道题。“哇!水题啊!”七月树愉快地叫着,看样子她 AK稳了。七月树看到的题如下:有一个如图的三棱锥,其中 AD,BD,CD 两两互相垂直。已知 AD,BD,CD 的长度,求该三棱锥内切球的最大体积。输入三个整数 a,b,c,表示 AD,BD,CD 的长度。输出三棱锥内切球的体积,保留 2 位小数。样例输入1 1 1样例输出0.04设内切球bai球 O 则 O 三棱锥四面du任距离 R ,由 O 顶点别三棱锥四面底面四三棱锥

2020-06-29 14:58:48 555

原创 机器学习 线性回归1

代码实现简单的一次函数线性回归自我代码实现import numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegression,Lasso,Ridge #'''L1正则化Lasso,L2正则化Ridge 岭回归,作用防止过拟合

2020-06-26 17:22:35 72

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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