自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 「游戏」岩浆逃脱2.1

【代码】「游戏」岩浆逃脱2.1。

2022-08-24 17:11:01 1009 1

原创 「游戏」岩浆逃脱2.0

注意选择岩浆模式后,圈数默认为一

2022-08-12 16:54:24 1117 2

原创 奇怪的小游戏

看了一眼自己的代码,我…哭了…#include <cmath>#include <ctime>#include <queue>#include <stack>#include <cstdio>#include <cctype>#include <string>#include <vector>#include <cstring>#include <climits>#i

2021-09-20 21:42:15 254 5

原创 「游戏」c++ 炸弹人2.0(新增人机)

终于,经历了千辛万苦,我终于写出了人机(一个ZZ,能把自己闷在炸弹堆里)…这个代码打得有些仓促,有问题请在评论区留言。经典模式(1.0)CodeCodeCode#include <bits/stdc++.h>#include <windows.h>#include <conio.h>#include <queue>#include <utility>using namespace std;const int M = 1e3 +

2020-08-23 22:11:36 1741 2

原创 「题解」病毒

题目描述有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母。现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,字典中的单词是按照字母顺序排列的,他把这个文件拷贝到自己的机器里,故意让它感染上病毒,他想利用这个字典文件原来的有序性,找到病毒替换字母的规律,再用来恢复其它文档。现在你的任务是:告诉你被病毒感染了的字典,要你恢复一个字母串。输入格式第一行

2020-08-19 22:01:25 613 1

原创 「题解」叶子清除计划

题目描述⼩Y同学是⼀位数据结构⼤师同时也是⼀位园艺⼤师。秋天到了,⼩Y同学需要对学校内的⼀棵树展现他顶尖的修叶⽔平。学校内的这棵树是⼀颗拥有n个点的⽆根树,每次⼩Y会删去所有的叶⼦节点(即度数小于等于111的节点),直到所有的点都被删除了为⽌。⼩YYY现在想问你对于每个点,求出它是第⼏次操作中被删除的。输入格式第⼀⾏⼀个数字nnn,表⽰树上节点个数接下来n−1n−1n−1⾏,每⾏两个数字uuu,vvv,表⽰树上的⼀条边。输出格式⼀⾏nnn个数字,第iii个数字表⽰节点iii在第⼏次操作中被

2020-08-19 21:20:03 398

原创 「算法」拓扑排序(货真价实,童叟无欺)

文章目录什么是拓扑排序模拟代码实现BFSDFS什么是拓扑排序 对一个有向无环图(DirectedAcyclicGraph简称DAG)(Directed Acyclic Graph简称DAG)(DirectedAcyclicGraph简称DAG) GGG进行拓扑排序,是将GGG中所有顶点排成一个线性序列,使得图中任意一对顶点uuu和vvv,若边<u,v>∈E(G)<u,v>∈E(G)<u,v>∈E(G),则uuu在线性序列中出现在vvv之前。通常,这样的线性序列称为满.

2020-08-18 20:18:09 124

原创 「算法」费马小定理 欧拉函数 裴蜀定理 曹冲养猪

中国剩余定理费马小定理欧拉函数裴蜀定理曹冲养猪题目描述输入格式输出格式分析费马小定理 费马小定理(Fermat′slittletheorem)(Fermat's little theorem)(Fermat′slittletheorem)是数论中的一个重要定理,在1636年提出。如果p是一个质数,而整数a不是p的倍数,则有aaa ^\hat{}^ (p−1)≡1(mod(p-1)≡1(mod(p−1)≡1(mod

2020-08-10 21:47:53 219 3

原创 「算法」素数筛、分解质因数

素数筛、分解质因数枚举筛法原始筛法优化分解质因数朴素算法优化Eratosthenes筛法(埃拉托斯特尼筛法)线性筛法(欧拉筛法)枚举筛法 我们知道素数即为因数只有111和它本身的数,换种方式来看,意思就是在222~n−1n-1n−1的范围中没有一个它的因数原始筛法 从222到n−1n-1n−1枚举for (int i = 2; i <= n; i ++) { bool flag = true; for (int j = 2; j < i; j ++) { if (i % j

2020-08-10 20:54:40 580

原创 「游戏」c++贪吃蛇1.1

已修复已知BUG#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<climits>#include<cstdlib>#include<sstream>#include<windows.h>#include<stack>#includ

2020-07-29 22:04:47 465 1

原创 「游戏」c++岩浆逃脱 1.1

详见1.0更新内容 新增模式「职业大乱斗」#include <windows.h>#include <conio.h>#include <bits/stdc++.h>struct player{ int x; int y; int ice_time; int wrong_time; int blind_time; int repelled; int mine; bool life; in

2020-07-29 21:26:00 1414 4

原创 「题解」回文数组

题目描述 给定有N个整数的数组A,下标从1到N。如果对每一个下标i均满足A[i] =A[N-i+1],则称数组是回文的。 例如,数组A={1,2,3,2,1}就是回文数组。 如果数组A不是回文的,可以采用合并两个相邻元素的方法去得到回文数组。注意,每操作一次,数组的元素数量减少1。 例如,数组A={1,2,3}不是回文数组,但是通过合并A[1]和A[2],得到{3,3}就是回文数组了。 显然,无论给出怎样的数组元素,最多经过N-1次操作,合并为一个数时,数组A一定是回文数组了。 因此,本题一定

2020-07-28 19:41:21 1909

原创 「题解」「数据结构」树状数组3

接着上文说离散化for (int i = 1; i <= n; i ++) { cin >> a[i].val; a[i].id = i;}sort(a + 1, a + n + 1); //定义结构体时按val从小到大重载for (int i = 1; i <= n; i ++) b[a[i].id] = i; //将a[i]数组映射成更小的值,b[i]就是a[i]对应的rank(顺

2020-07-26 22:11:41 161

原创 「题解」「数据结构」树状数组2

接着上文说(上文题目打太多了,卡的很)这道题如果还像上一题那样建树状数组,必然超时我们要发挥自己模仿的天分,使得原封不动地搬下来就可以A了前面说到跟上题一样建树状数组要超时,那我们倒过来,使得单点访问变为Sum,区间修改变为update,有同学肯定想到了差分数组没错就是他我们在区间修改,就相当于修改差分数组的两个值比如我们给区间[l,r]加上x,就相当于给pl加x,给pr+1减x而我们单点查询,就相当于求差分数组的前缀和代码#include <cstdio>const i

2020-07-26 21:58:46 347

原创 「题解」「数据结构」树状数组1

前言 这里我们不描述其用法,在后面的题中详细描述 单点修改,区间查询 区间修改,单点查询 区间修改,区间查询 求逆序对数单点修改,区间查询 题目描述 这是一道模板题。给定数列 a[1], a[2], \dots, a[n] ,你需要依次进行 q 个操作,操作有两类:1 i x:给定 i,x ,将 a[i]

2020-07-26 21:31:21 557

原创 「题解」火柴棒等式

题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示:注意:1.加号与等号各自需要两根火柴棍2.如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)3.n根火柴棍必须全部用上 输入格式 输入文件matches.in共一行,又一个整数n(n<=2...

2020-07-25 20:58:50 638

原创 「题解」字符串的展开

题目描述在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下:(1)遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严..

2020-07-25 20:10:20 376

原创 「题解」「STL」上网统计、有序表的最小和、桐桐的新闻系统、 查字典、Let the Balloon Rise、题海战之二

四、pair1. 声明template pair<class T1, class T2> templatename;templatename name;pair<class T1, class T2> name;2.函数make_pair(x, y);制作一个pair容器p.first;返回第一个元素p.second;返回第二个元素3. 应用之Let the Balloon Rise题目描述在ACM比赛中,你每解决一道题,你就可以获得一个气球,不同

2020-07-23 21:51:42 331 2

原创 「题解」「STL」上网统计、有序表的最小和、桐桐的新闻系统、 查字典、Let the Balloon Rise、题海战之一

题目描述 gm英语非常不好,为了应对全国英文四级考试,他手里有一本英语字典,现在有很多单词要查。请编写程序帮输入格式第一行1个整数N,N≤10000,表示字典中一共有多少单词。接下来每两行1个单词,其中:第一行是长度≤100的字符串,表示这个单词,全是小写字母,单词不会重复。 第二行是1个整数,表示这个单词在字典中的页码。接下来是一个整数M,M≤N,表示要查的单词数。 接下来M行,每行一个字符串,表示要查的单词,保证在字典中存在输出格式M行,每行1个整数,表示第i个单词在字典中的页码。样例

2020-07-21 21:56:34 938

原创 「题解」LOJ P10151 分离与合体

题目描述 经过在机房里数日的切磋,LYD 从杜神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试……杜神牛造了 n 个区域,他们紧邻着排成一行,编号 1..n 。在每个区域里都放着一把 OI 界的金钥匙,每一把都有一定的价值,LYD 当然想得到他们了。然而杜神牛规定 LYD 不能一下子把他们全部拿走,而是每次只可以拿一把。为了尽快得到所有金钥匙,LYD 自然就用上了刚学的分离与合体特技。一开始 LYD 可以选择 ...

2020-07-20 17:22:26 323

原创 「题解」能量项链

Problem Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m*r*n(Mars单位

2020-07-19 20:51:45 706

原创 「题解」乘积最大

题目描述 输入一个长度为N的数字串, 用K个乘号将它分为 (K+1) 个部分,使得得到的乘积最大 例如N = 3 , K = 1,输入的数字串为 312 分法有两种 312 = 36 312 = 62 最大值为62输入格式 输入共两行 第一行,正整数 N 和 K 第二行,一个数字串输出格式 用K个乘号将数字串划分为(K+1)个部分所得到的最大乘积样例样例输入13 1312样例输出162样例输入27 33314245样例输出227804

2020-07-19 20:15:41 519 1

原创 「题解」最长回文串

题目描述给定一个字符串 s ,找到 s 中最长的回文子串,输出其长度。你可以假设 s 的最大长度为 3000。输入格式第1行:1个字符串样例样例输入babad样例输出3分析对于一个字符串s[l,r],他的最长回文字符串有如下两种情况1.若s[l] == s[r] 且 s[l+1,r-1]为回文字符串,则s[l,r]会变为更长的一个回文字符串2.否则在s[l,r-1]和s[l+1,r]之间必有一个最长的不超过r-l的回文字符串凑字数的问题来了如何才能判断s[

2020-07-19 19:43:38 126 1

原创 「题解」石子合并1、2

石子合并1 题目描述 N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(24) 1 2 3 4 => 1 2 7(7) => 3 7(1

2020-07-18 22:02:19 798

原创 「应用」Markdown语法

目录标题引用字体一、标题# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题效果如下一级标题二级标题三级标题四级标题五级标题六级标题注意#后要加空格二、引用>一级引用>>二级引用>>>三级引用>>>>四级引用...效果如下一级引用二级引用三级引用四级引用三、字体...

2020-07-17 14:16:55 319 1

原创 「题解」花生采摘

题目描述鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边

2020-07-16 18:37:46 925 1

原创 「游戏」c++井字棋

这种井字棋,我是考古发现的,编写时前后隔了几天,思路有些混乱,对于凌乱的代码请不要介意规则:1.↑↓←→控制移动,【空格】放下棋子2.棋盘为3 * 3的3 * 3的九宫格的九宫格(好绕啊)3.当小型九宫格中有三颗你的棋子连成一线,那么这个小的九宫格就属于你的棋子格子,当大型九宫格中的格子连成一线时,你就赢了4.你所可以下的格子与棋盘的位置关系,是相对应于对手所下的棋子与他所下的格子的关系,当你所可以下的格子已被占据时,你可以在整个棋盘里未被占据或未下棋子的地方下棋#include &lt.

2020-07-11 18:47:41 712 1

原创 「题解」抓住那头牛

一、题目描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?二、输入格式两个整数,N和K三、输出格式一个整数,农夫抓到牛所要花费的最小分钟数四、样例1、样例输入5 172

2020-07-10 22:02:43 2178

原创 「题解」老鼠与猫的交易

题目描述有一只老鼠很喜欢奶酪,但是奶酪被分别放在N个房间里,而且这些房间都有一只猫咪看守,现在它准备和猫咪们做个交易。它有M磅的猫食,想用这M磅猫食换取奶酪。在猫咪看守的每一个房间里有奶酪J[i]磅,同时猫咪需要F[i]磅的食物,如果老鼠给猫咪F[i](a)%的猫食,那么它就可以得到J[i](a)%的奶酪。现在已知每只猫咪对猫食的需求量和每个房间的奶酪数,那老鼠怎样才能换得最多的奶酪呢?输入格式第一行输入两个正整数M和N(M和N不大于10000),后面跟N行(每个房间的奶酪数和猫食的需求量

2020-07-06 14:06:11 1074 1

原创 「游戏」c++ 炸弹人1.0

注意不要站在炸弹上,会承受四倍伤害玩家一 ↑ ↓←→ 控制移动 [回车] 放炸弹玩家二 w s a d 控制移动 [空格] 放炸弹∷ 增加炸弹数量▓ 增加炸弹威力※ 减短炸弹引线#include <bits/stdc++.h>#include <windows.h>#include <conio.h>const int M = 1e3 + 5;int wall[15][15] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

2020-07-06 13:00:36 4111 20

原创 「应用」c++进度条

#include#include#include#include#include#include#include#include#include<windows.h>#include#include<conio.h>#include#include using namespace std;void Progress_bar_First() {int start = 1, end = 8;for(; ; start >= 25 ? start =

2020-06-30 14:27:22 1051 1

原创 「游戏」c++贪吃蛇1.0

普通贪吃蛇,不解释,↑↓←→控制移动。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<climits>#include<cstdlib>#include<sstream>#include<windows.h>#include<stac

2020-06-30 13:52:57 3533 1

原创 「游戏」c++岩浆逃脱 1.0

本游戏纯手打,无抄袭单人模式(孤寂)生存:努力逃脱上方的岩浆,取得胜利吧。测试:测一测你究竟有多快。双人模式(友尽)生存:和朋友一起逃脱岩浆吧。竞赛:互相设置陷阱,比比谁先逃脱!玩家一: ↑ ← → 控制移动; [0] 清空脚下那一格; [.] 放置方块; [回车] 给予玩家二一个状态; 请看左边的图,黑圆是你,白圆是你的朋友。玩家二: w a d控制移动 [b] 清空脚下那一格 [n] 放置方块 [m] 给予玩家二一个状态 请

2020-06-30 13:40:19 455 1

原创 「题解」「BZOJ4300」绝世好题

题目描述 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&b(i-1)!=0(2<=i<=len)。输入格式输入文件共2行。第一行包括一个整数n。第二行包括n个整数,第i个整数表示ai。输出格式输出文件共一行。包括一个整数,表示子序列bi的最长长度。样例样例输入 31 2 3样例输出 2数据范围与提示 n<=100000,ai<=2*10^9 直接暴力,类似于LIS。状态转移方程:f[...

2020-06-26 23:01:07 365

原创 「题解」P5858 「SWTR-03」Golden Sword

题目背景小E不幸在一场战斗中失去了他的金宝剑。题目描述制造一把金宝剑需要n种原料,编号为1到n,编号为i 的原料的坚固值为ai​。炼金是很讲究放入原料的顺序的,因此小 E 必须按照1到n的顺序依次将这些原料放入炼金锅。但是,炼金锅的容量非常有限,它最多只能容纳w个原料。所幸的是,每放入一个原料之前,小 E可以从中取出一些原料,数量不能超过s个。我们定义第 i 种原料的耐久度为:放入第i种原料时锅内的原料总数*ai​,则宝剑的耐久度为所有原料的耐久度之和。小E当然想让他的宝剑的耐久度尽可能得大,这样他就

2020-06-22 22:33:07 636 1

c++ 井字棋「游戏」.mp4

规则: 1.↑↓←→控制移动,【空格】放下棋子 2.棋盘为3 * 3的3 * 3的九宫格的九宫格(好绕啊) 3.当小型九宫格中有三颗你的棋子连成一线,那么这个小的九宫格就属于你的格子,当大型九宫格中的格子连成一线时,你就赢了 4.你所可以下的格子与棋盘的位置关系,是相对应于对手所下的棋子与他所下的格子的关系,当你所可以下的格子已被占据时,你可以在整个棋盘里未被占据或未下棋子的地方下棋

2020-07-11

空空如也

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

TA关注的人

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