常见数学符号
x∣yx|yx∣y, xxx 整除于 y,xxx 是 yyy 的因数
x⊥yx\bot yx⊥y, xxx 和 yyy 互质
∑\sum∑ 求和
∏\prod∏ 求乘积,如: ∏i=1n\prod^n_{i=1}∏i=1n表示 n!n!n!
Δ\DeltaΔ 表示变化或差异
快速幂
求 aba^bab?
如果 bbb 是偶数:ab=(a2)b/2a^b=(a^2)^{b/2}ab=(a2)b/2
如果 bbb 是奇数:ab=a×(a2)b/2a^b=a \times (a^2)^{b/2}ab=a×(a2)b/2
例如:x20=(x2)10=(x4)5=x4∗(x8)2=x4×(x16)1x^{20} = (x^2)^{10} = (x^4) ^ 5 = x^4 * (x^8)^2 = x ^ 4 \times (x ^ {16}) ^ 1x20=(x2)10=(x4)5=x4∗(x8)2=x4×(x16)1
1234567long long x ,p ,m, ans=1;cin >> x >> p >> m;while(p ...
题目大意
矩阵中的每个单元格可以是空的(用 . 表示),或者被狐狸(用 F 表示)或兔子(用 R 表示)覆盖。
我们需要找出至少有多少只动物走过,这意味着我们需要计算不同动物痕迹的最小数量。
解题思路
我们可以理解题目为两种动物轮流走。
因为我们为了求动物只数尽量少,我们应该先确定哪种动物最后走(因为给出的是所有动物走完后的图像)。
从左上角找联通块,那么这就是最后一只动物走的足迹。如样例 1 最后走的是狐狸。
为了保证答案最优,找到联通块之后,把它设置为另一个动物走过的印记,代表最后一只动物覆盖了倒数第二只动物的足迹,再找联通块,直到找到了倒数第二只动物的足迹,以此类推。
如下样例
12345FFR..... .FRRR... .FFFFF....RRRFFR .....FFF
处理后
12345RRR......RRRR....RRRRR....RRRRRR.....RRR
不理解的可以看代码理解。
代码
1234567891011121314151617181920212223242526272829303132333435363738394041 ...
如何防止CSP爆零?
现有一个根文件夹,命名为 自己的考号 (大小写不能错),里面有以题目为名的文件夹,文件夹里有文件。(名字都没不能错)。
记得写 freopen !!!
数组最多只能开到 512 MB\textrm{512 MB}512 MB。
注意熟悉操作系统!!!
杂物室
csp2024 rp++
upd:2024/9/16
洛谷主页传送门
我真的不是故意乱用 Latex 的
基础信息
一个初二的蒟蒻。
UID:947007=(114514+114514)∗(−11−4+5+14)+(114∗51∗4+(1+14∗514+((1+1)∗4∗(51+4)−11+4−5+14)))\textrm{UID}:947007 = (114514+114514)*(-11-4+5+14)+(114*51*4+(1+14*514+((1+1)*4*(51+4)-11+4-5+14)))UID:947007=(114514+114514)∗(−11−4+5+14)+(114∗51∗4+(1+14∗514+((1+1)∗4∗(51+4)−11+4−5+14)))
实用工具
OI埂图
OI小诗
2024.7.11
序言
这次比赛只拿了 101010 分,为什么呢?第三题打爆搜,原本可以拿 303030 分,但是没打freopen爆 000 了。第二题输出循序错了,也爆 000 ,只有第四题骗了 101010 分。
作业调度方案
这是一道模拟,虽然是模拟,但是由于题目描述过于模糊(语文不好),所以没有读懂题目。
题意
给你一个 mmm , nnn 分别表示:机器数与工件数。
前 nnn 行依次表示每个工件的每个工序所使用的机器号,第 111 个数为第 111 个工序的机器号,第 222 个数为第 222 个工序机器号,等等。
最后让你求最小的加工时间。
解法
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <bits/stdc++.h>using namespace std;int m, n;int gx[30]/*工序数*/ , last[30]/*第 i 个工件制成的时间*/; int a[42000], ans;bool ...
D - AtCoder Janken 3题解
题意:
高桥和青 木要玩石头剪刀布,给你一个长度为 nnn 的字符串 sss ,sss 表示青木在第 iii 局游戏中的动作(R表示石头,P表示布,S表示剪刀。)。
高桥不可以在任何一局中输给青木(即:高桥和青木只可以平局或高桥赢青木),且高桥第 iii 局出的和第 i−1i-1i−1 局出的不能一样,现在,问你高桥可以胜几局?
解题思路
很明显是一道 DP\textrm{DP}DP 题:
定义状态:
fi,jf_{i,j}fi,j 表示第 iii 局出 jjj 时最多可以获胜的局数(j=1j = 1j=1时表示出石头,j=2j = 2j=2时表示出布,j=3j = 3j=3时表示出剪刀)。
初始化:
12345678910111213if (s[0] == 'R') { f[0][1] = 0;//两人一起出石头,不计分 f[0][2] = 1;//高桥出布,高桥加一分 //注意:高桥不可以输给青木,所以f[0][3]不可以初始化为-1 } ...
性质1
nnn 二叉树的第 iii 层上最多有 2i−12^{i-1}2i−1 个节点。(i≥1i \ge 1i≥1)
提问:第 iii 层上至少有 111 个节点。
性质2
深度为 hhh 的二叉树最多有 2h−12^h-12h−1 个节点。(h≥1h \ge 1h≥1)
提问:一颗深度为 kkk 且有 2k−12^k-12k−1 个节点的二叉树称为满二叉树。
提问:深度为 kkk 时至少有 kkk 个节点(形成一条链)。
性质3
对于任何一颗二叉树,如果其叶子节点数为 n0n_0n0,度为 222 的节点数为 n2n_2n2,则一定满足:n0=n2+1n_0 = n_2+1n0=n2+1。
证明:
边数=点数−1边数=点数-1边数=点数−1
边数=度为二的节点(对应两条边缩写为n1)∗2+度为一的节点个数(对应一条边缩写为n2)∗1边数=度为二的节点(对应两条边 缩写为 n_1)* 2 + 度为一的节点个数(对应一条边 缩写为 n_2) * 1边数=度为二的节点(对应两条边缩写为n1)∗2+度为一的节点个数(对应一条边缩写为n2)∗1
n=n2∗2+n1∗1+1 ...
图
图:记为:G=(V,E)
其中:VVV 是顶点集合,是有穷非空集,EEE 是边集合,是有穷集。
问:当 E(G) 为空时,图 GGG 存在否?
答:存在!但此时图 GGG 只有顶点,没有边。
无向图:每条边是无方向的。
有向图:每条边是有方向的。
完全图:任意两条边有一条边相连接。
若 nnn 个接点的无向图有 $ n(n-1)\div 2$ 条边,称为无向完全图。
若 nnn 个接点的有向图有 $ n(n-1)$ 条边,称为有向完全图。
图的基本术语
连通图
连通图:在无向图中,若任何两个顶点都存在路径可达,则此图为连通图。
非连通中找到的极大连通子图叫
做:连通分量。
强连通图:在有向图中,若任何两个顶点都存在路径可达,则此图为强连通图。
非强连通图中找到极大的强连通子图叫做:强连通分量。
注意:自身带环的图和多重图不在讨论范围内!
路径与回路
路径:从点 AAA 到点 BBB 的经过的所有的边。
回路:起点和终点相同的路径
简单路径:在一条路径内,除起点和终点以外。其余各点各不相同。
简单回路:由简单路径构成的回路称为简单回路。
路径的长度:
非带权图上路径的 ...
题目大意
给出一个由 . 和 # 组成的n×mn \times mn×m 矩阵,然后再给你这 444 种图像,用着四种图像对矩阵进行覆盖(每个只能用一次)。其中,# 的位置不可以被图像遮挡,也不能放在不能放置的格子上。
解题思路
考虑使用爆搜。
第一个图像:
if (mp[i][j] != '#' && mp[i + 1][j + 1] != '#' && mp[i + 1][j - 1] != '#' && mp[i - 1][j + 1] != '#' && mp[i - 1][j - 1] != '#')
第二个图像:
if (mp[i + 1][j] != '#' && mp[i][j - 1] != '#' && mp[i][j + 1] != '#' && mp[i - 1][j] != '#')
第三图像:
if (mp[i][j] != '#' && mp[i + 1][j] != '#' && mp[i + 1][j ...