自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客搬迁

博客先已经搬迁至 link以后可能还会在此博客更新

2021-08-22 17:21:14 103

原创 [AGC006B] Median Pyramid Easy(题解)

一道挺有意思的构造题其实有很多种构造方法,这里介绍一种比较好想的方法。我们想让 xxx 作为最顶层的元素,最好的方法就是让 xxx 一直处于中间。于是我们就可以使得 xxx 左右两边的数都比 xxx 小,分别为 x−1x - 1x−1 和 x+1x + 1x+1,如图(有点难看)这里我们可以证明一下 xxx 一直处在中间若 y1>=xy1 >= xy1>=x 则 y2=xy2 = xy2=x若 y1<xy1 < xy1<x 则 y2=x−1y2 = x-1y

2021-07-21 22:00:26 218

原创 打砖块(题解)

这题一看就是一道 dpdpdp我们可以定义两个辅助数组 dn[i][j]dn[i][j]dn[i][j] 和 dy[i][j]dy[i][j]dy[i][j]dn[i][j]dn[i][j]dn[i][j] 表示在第 iii 列打 jjj 枪最后一枪打在 N\rm NN 上所得分数dy[i][j]dy[i][j]dy[i][j] 表示在第 iii 列打 jjj 枪最后一枪打在 Y\rm YY 上所得分数然后我们就可以开始 dpdpdp 了定义 :::dpn[i][j]dpn[i][j]dpn[

2021-07-21 16:10:06 210

原创 [USACO2.2]序言页码 Preface Numbering(题解)

link此题首先要要学会罗马数字并且理解他不然你就会去纠结 888 为什么不可以表示为 IVIV\rm IVIVIVIV(比如说我)其实最难解决的是做减法的这种情况,比如说 444我们不难发现,对于一个数 nnn ,它所需的字母就等于把他拆分成若干个整十数,这若干个整十数所需字母之和。(可能描述得有点抽象)比如 131413141314 可以拆分为 1000+300+10+41000+300+10+41000+300+10+4,而 100010001000 的罗马数字是 M\rm MM,30030

2021-07-09 21:40:39 363 1

原创 最大乘积(题解)

题目描述给你 nnn 个整数 a1、a2、...、ana_1、a_2、...、a_na1​、a2​、...、an​,从中任意挑选出 nnn 个数字,使得乘积最大,输出乘积最大值。输入格式输入有多组测试数据。第一行为整数 ttt ,表示测试数据组数。每组测试数据第一行为整数 nnn,表示数字的数量。每组测试数据第二行有 nnn 个整数 a1、a2、...、ana_1、a_2、...、a_na1​、a2​、...、an​。输出格式每组测试数据输出只有 111 个整数,表示挑选 555 出个数字的

2021-07-05 18:38:15 293

原创 [APIO2009]采油区域 题解

这是本蒟蒻的第一篇紫题题解题目传送门这是一道比较考细节的题目经读题可知要求一个矩阵三个边长为 kkk 子矩阵的和的最大值值,因为要求子矩阵,所以我们可以采用二维前缀和。我们可以发现这个边长为 kkk 的子矩阵分布只会有 666 种情况(如下图)(本人就是因为没考虑到最后两种而卡了半天)再灵活使用辅助数组即可参考代码#include <bits/stdc++.h>using namespace std;int m, n, k;int a[2005][2005], sum[2

2021-05-15 23:55:22 204

原创 高精度模板

加法string add(string st1, string st2) { string c; int ans[5005] = {}, a[5005] = {}, b[5005] = {}; int n1 = st1.size(); int n2 = st2.size(); for (int i = 0; i < n1; i++) { a[n1 - i] = st1[i] - '0'; } for (int i = 0; i < n2; i++) { b[n2 - i]

2021-04-10 10:38:55 122

原创 切蛋糕 题解

切蛋糕 题解题目描述Alice、Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕。三个人的需求量分别为 a,b,ca,b,ca,b,c,现在请你帮他们切蛋糕,规则如下:$1. $ 每次切蛋糕可以选择蛋糕的任意一条直径,并沿这条直径切一刀(注意切完后不会立刻将蛋糕分成两部分)。2.2.2. 设你一共切了 nnn 刀,那么你将得到 2n2n2n 个扇形的蛋糕(特别地,切了 000 刀被认为是有一个扇形,即整个圆形蛋糕),将这些蛋糕分配给 Alice,Bob 和 Cindy,要

2021-04-02 22:23:26 1548 1

原创 搜索考后总结

1.1.1. 午餐费题目描述现要对某班学生进行N天培训,该班所有学生都订了N天的午餐,所以我们知道他们每天要花多少钱。现在该班班主任需要决定如何使用班费。由于钱有限,他们不可能每天都吃免费午餐。因此,每天班主任可以选择自己支付或使用班费支付当天午餐费。当然,班主任比较小气,希望尽可能多地花掉班费,但是他太忙了,请你帮他计算他最多能够花多少班费。输入格式输入包含多个测试数据(不超过 505050 个)。每个测试数据有两行。第一行有两个整数,NNN 为培训天数,MMM 为班费总数。第二行包含 NNN

2021-03-13 22:16:03 173

原创 zipper题解

题目描述天顶星人使用量子纠缠技术传送信息,量子纠缠超越了我们生活的四维时空,不受四维时空的约束,其传输信息的速度至少比光速快 100001000010000 倍。换句话说,即使传送双方远在宇宙的两端,信息也可以瞬间到达。但天顶星人传送的信息有真有假,判断真假的方式是对三个字符串进行验证,即给三个字符串,判断第三个字符串是否由前两个字符串的一部分序列顺序组成,例如字符串 AAA 为 “cat”“cat”“cat”,字符串 BBB 为 “tree”“tree”“tree” ,字符串 CCC 为 “tcrae

2021-03-06 22:19:01 295

原创 递推与递归

一、递推与递归递推定义:递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算前面的一些项来得出序列中的指定项的值。第一类: 斐波那契数列有很多递推的基础题都是以斐波那契数列为基础的,例如我们的铺砖系列:铺砖1递推式就是我们原始的斐波那契数列:边界条件:a[1] = 1, a[2] = 1;递推式:a[i] = a[i - 1] + a[i - 2];其他的类似题也不过是以此递推式变形罢了第二类: Hanoi塔其实跟上面也差不多边界

2021-03-01 13:41:55 277

原创 体积(题解)

体积(深度优先搜索)题目描述给出 nnn 件物品,每件物品有一个体积 viv_ivi​ ,求从中取出若干件物品能够组成的不同的体积和有多少种可能。输入格式第 111 行 111 个正整数,表示 nnn 。第 222 行 nnn 个正整数,表示 viv_ivi​ ,每两个数之间用一个空格隔开。输出格式一行一个数,表示不同的体积和有多少种可能。样例样例输入31 3 4样例输出6数据范围与提示对于 30%30\%30% 的数据满足:n≤5n ≤ 5n≤5 ,vi≤10v_i

2021-02-19 14:30:17 762

空空如也

空空如也

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

TA关注的人

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