10 2023 档案
摘要:写在前面的 本文章主要是博主自己想写。水篇文章。 正常作法 #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a+b; return 0; } 数组 #include<bits/std
阅读全文
摘要:一道简单的博弈论。 思路 我们可以先记录每张牌的个数,如果这个牌的个数为奇数,则 Conan 胜利,如果全部为偶数,Agase 胜利。 证明 如果说所有牌为偶数,那么无论 Conan 取哪张牌,Agasa 都可以和他取一样的,最终让 Conan 失败。 如果不满足,那么 Agasa 会无法操作。 A
阅读全文
摘要:这题其实可以数学方法差小积大解决。 差越小积越大,那肯定是让最小的数加一啦。将所有数的积除以最小值再乘上最小值加一。 #include<bits/stdc++.h> using namespace std; signed main(){ int T; cin>>T; while(T--){ long
阅读全文
摘要:思路 看数据范围,发现范围很小,直接用搜索。 搜索时枚举每个点,如果有棋子就枚举方向,如果这个方向合法,则将剩余棋子数减一,继续搜索。 搜索时参数只需要传当前棋子数就行了。 有以下几点需要注意 多组数据每次需要初始化。 判断是否合法时要注意。 每次记得回溯棋子。 AC CODE #include<b
阅读全文
摘要:考虑动态规划。 思路 设 \(dp_{i,j}\) 为 \((1,1)\) 到 \((i,j)\) 的方案数,而如果要到这个点,肯定是从左边和上边来。 所以递推公式为:\(dp_{i,j}= dp_{i,j-1} + dp_{i-1,j}\)。 预处理:将横或纵坐标为 1 的点赋值为 1,因为到达这
阅读全文
摘要:简述题意 这什么破翻译,看了 AtCoder 的英文才看懂。 给定一个长度为 \(n\) 序列 \(a\),要求构造一个数列 \(b\),使得对于任意 \(i\),满足: \(1 \le i \le n\) 将 \(b\) 序列下标为 \(i\) 的倍数的值相加使得这个总和模 2 等于 \(a_i\
阅读全文
摘要:快读快写 主要原理是读入字符再转化为数字(输出同理) 但是用不好可能更慢。 快读 inline int read() { int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if (ch=='-') f=-1; ch=getchar(); }
阅读全文
摘要:我是一个 \(OI er\)。 我的洛谷 我的团队 大家多多关照这个菜鸡。 祝大家 csp rp++。
阅读全文
摘要:我今天要讲的问题是约瑟夫环问题。 本蒟蒻第一篇学术文章,多多支持,写的不好请见谅。 洛谷题库约瑟夫环问题 这题是一道好题目,我这里推荐两种解法 1.直接模拟 我用了一个数组来模拟,在圈内为无穷大,不在圈内则为0。 模拟时要注意以下几点: 如果当前已经出了圈,那么这个位置不算一人。 记得将数组的值变为
阅读全文
摘要:这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i
阅读全文
摘要:这题看到第一眼就是二分。 思路 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。所以单调性就得出了。 如何求需要的水呢? \[\sum_{i=1}^{i \le n} \max(0,mid-a_{i}) \]\(mid\) 表示现在墙的高度。墙高度
阅读全文
摘要:这题其实就是搜索,不知道怎么评绿的。 题意 有一个大小无限的棋盘,有一只马,给定 \(n\) 种跳法,判断马是否能跳到棋盘所有点。 题解 搜索马是否可以跳到他上下左右的四个点,因为只要能跳到这四个点,就可以以这四个点为基础跳到其他所有的点。 这里有一些细节需要处理: 因为每次操作能是横纵坐标加减 1
阅读全文
摘要:这篇文章给大家讲的是二分,不喜勿喷,谢谢。 二分是一个常见算法,通常用来做求最优解的问题。 我给大家看一个例题吧: 给定一个长度为\(n\)严格递增(即\(a_i>a_i\__1\))的数列\(a_i\),求数\(x\)在哪个位置。题目保证有解。 第一行输入\(n\),第二行输入数列\(a\), 第
阅读全文

浙公网安备 33010602011771号