A+B
思路设$f1=A,f_2=B,f_n(n>2)=f{n-1}+f_{n-2},$则$f_3$就是ANSWER $A+B$。 推导设 $q^n=q^{n-1}+q^{n-2},$ 解得$(q≠0)q_1=\frac{1+\sqrt{5}}{2},q_2=\frac{1-\sqrt{5}}{2}$。\再设$\begin{cases} f_n=aq_1^{n-1}+bq_2^{n-1} \ f_1=A,f_2=B\end{cases}$\代入,即得$\begin{cases} a+b=A \ a(\frac{1+\sqrt{5}}{2})+b(\frac{1-\sqrt{5}}{2})=B\end{cases}$\解二元一次方程组得$\begin{cases} a=\frac{B-A(\frac{1-\sqrt{5}}{2})}{\sqrt{5}} \ ...
P7012 [CERC2013] Draughts
Description题目传送门:P7012 [CERC2013] Draughts。 简单回溯题目,你操作白棋,判断白棋最多能吃几个敌方的棋。 Analysis考虑 $n\le10$,直接爆搜(回溯)。 分类讨论: 字符 $\tt #$ 和 $\tt .$ 表示空的黑色和白色方块,$\tt W$ 表示有浅色棋子的方块,$\tt B$ 表示有深色棋子的方块。 增量数组: 12const int dx[4] = {-2,-2,2,2};const int dy[4] = {-2,2,2,-2}; 多组测试数据记得复原。 记得回溯。 找到每一个浅色棋子,去看它旁边有没有深色棋子。 记得找最大值,没有白棋输出 $-1$。 时间复杂度 $\mathcal{O}(n^2)$。
P10692 [SNCPC2024] 表达式矩阵
Description题目传送门:P10692 [SNCPC2024] 表达式矩阵。 构造一个 $n \times m$ 的矩阵,其中每个位置要么是 $1$,要么是 $\tt +$ 或者 $\tt ∗$,使得在满足每一行每一列均为一个合法表达式的前提下,最小化每一行、每一列表达式的值之和。 Analysis(转自官方题解) 对于行列大小均为偶数的情况,以 $6\times 8$ 为例答案形如: 注意到每行 $/$ 每列恰有一个 $11$。由于无法构造出只含 $1$ 的解,显然使用乘号连接 $11$ 和 $1$ 是最优的。 对于列大小为奇数的情况,以 $6 × 9$ 为例如: 所有包含两个 $11$ 的行都必须使用一个 $+$,否则会产生 $11 \times 11$ 的结果,这是我们不能接受的。 同时,除此之外每多使用一个 $+$,都会使答案增加,所以只需要在这些行中选恰好一个运算符改为 $+$ 即可。 行大小为奇数的情况类似。 对于行列大小均为奇数的情况,以 $7 × 9$ 为例: 所有包含两个 $11$ 的行都必须使用一个 $+$,所有包含两个 $11$...
✨五分钟从零搭建自己的图床
前言在洛谷,拥有洛谷图床。但是,洛谷图床有些时候对用户名颜色、文件大小等有要求。于是,小编今天教你不用代码,五分钟搭建一个属于自己的个人图床。 PicX?️ PicX 是一款基于 GitHub API 开发的图床工具,提供图片上传托管、生成图片链接和常用图片工具箱服务。 ? 建议将本站添加到浏览器收藏夹,方便下次使用。 快捷键:Ctrl + D ? 作者:@XPoet ? 仓库:https://github.com/XPoet/picx ? 文档:https://picx-docs.xpoet.cn 前置要求 拥有一个 Github 账号,没有可以注册。 新建存储库 打开个人存储库,点击 $\tt{\color{green} New}$,转到新建页面。 创建一个新项目,如下图所示: 初始化 PicX 使用 OAuth。 打开官网https://picx.xpoet.cn/#/,单击使用 GitHub OAuth 授权登录。 按照 Github 给出的指示一步一步下去。 进入图床配置 填写用户名,项目名称,目录等,就好了。 使用...
P10676 『STA - R6』b20
Description题目传送门:P10676 『STA - R6』b20。 简单模拟题。 Analysis给定一个字符串(网站名称)和一个整数(粉丝数),输出网站名称的第一位,和这个整数。 方便起见都做成 $\operatorname{string}$,输出 $s_0\ ^{[1]}$ 和 $s1\ ^{[2]}$ 即可。 $^{[1]}$ 指网站名称的第一位,下表从 $0$ 开始。 $^{[2]}$ 指粉丝数,方便做成字符串。 注意输出不用带空格。 Code123456789101112#include <bits/stdc++.h>using namespace std;int main(){ string s; //网站名称 string s1;//粉丝数量 cin >> s >> s1; cout << s[0] << s1; return 0;}
P10415 [蓝桥杯 2023 国 A] 切割
Description题目传送门:P10415 [蓝桥杯 2023 国 A] 切割【暂无数据】。 简单数学题。 Analysis 求出 $W$ 和 $H\ge2$ 的最小公因数。记为 $LCF$。 将 $LCF$ 依次去除 $W,H$。记为 $Lw,Lh$。 答案为 $Lw\times Lh$。 计算公式: ANS=\frac{W\times H}{\operatorname{LCF^2}}Code模拟即可。
CF382B Number Busters
Description题目传送门:CF382B Number Busters。 Analysis 两个人玩游戏,他们有 $a$,$b$,$w$,$x$,$c$ 五个数,每秒可执行一次操作,要使最终结果为 $c\le a$。操作如下:如果 $b\ge x$,则 $b=b-x$,同时 $c=c-1$;如果 $b<x$,则 $a=a-1$,$c=c-1$,$b=w-(x-b)$。求 $c\le a$ 时已经走过的秒数。 题目已经说的很清楚了,按照模拟即可。 在 $c<a$ 时,执行以下操作: $b \ge x$ 时,$b=b−1$,$c=c−1$。 $b < x$ 时,$a=a−1$,$c=c − 1$,$b=w−x+b$。 Code1234567891011121314151617181920212223242526#include <bits/stdc++.h>using namespace std;int main(){ typedef long long LL; LL a , b , w , x , c; cin...
P10313 [SHUPC 2024] 占地斗士!
Description题目传送门:P10313 [SHUPC 2024] 占地斗士!。 简单搜索题。 Analysis容易发现,$1\le n,m\le10$,地图很小,所以考虑 DFS 算法。 其实是回溯,不是深度优先搜索。 题目不难,但细节多。 用变量存下已经放置的卡牌数量。 用 $\mathcal{vis}$ 记录此卡牌是否放置过(不能直接改地图,这是回溯的重要部分)。 其它就是回溯+剪枝即可。 一些细节: 暴力枚举每个形状可以放的所有位置。 是 # 不能放,换个位置。 可以放的话,卡牌数自增,答案加上占地格子数,不是 $1$。 可以放,记得 $vis$ 标记位置。 若所有的卡牌都可以放入,那么直接输出 $18$,不用搜了,搜了小心 $\tt TLE$,程序卡死。 都可以放入的数据如下: 输入1234567891011>10 10>. . . . . . . . . .>. . . . . . . . . .>. . . . . . . . . .>. . . . . . . . . .>. . . . . . . . ....
「EPXLQ 2024」银辉描淡的石桥
Description题目传送门:「EPXLQ 2024」银辉描淡的石桥。 排序后计算 $\text{rank}$ 后输出即可。在此之前,可以先完成此题。 Analysis 先来解决输出 Hahahai! 的问题。 定义变量 $flag$,先设置为都相同(true),在定义 $front$ 变量取头数据。后面输入时比较,如果发现不同的数据后,设 $flag$ 为 false。 判断部分代码如下:1234if(a[i].score != front){ flag = false;} 再来解决排序的问题。 先定义结构体,有两个参数:编号和成绩。接下来输入边输边存编号 a[i].number = i,后面写好自定义排序,定义映射类型(主打一个方便)的变量存 $\text{rank}$ 后输出即可。 存 $\text{rank}$ 的代码如下:1234for(int i = 1 ; i <= n ; i ++){ Rank[a[i].number] = i;}解释一下就是 $Rank[$ 这个人的学号 $]=$ 这个人的名次($a$...
P10401 「XSOI-R1」区间操作
由于 Hexo 无法转义,详见原文:https://www.luogu.com.cn/article/2ifgwc5e。