摘要: It's a fantasy that goes back centuries: a message in a bottle, carried ashore from far-off lands. Authors, artists and children alike have dreamed of 阅读全文
posted @ 2025-06-11 12:32 xcuzc 阅读(5) 评论(0) 推荐(0)
摘要: 每日一题 法一(暴力泰勒): 法二(等价代换): 法三(拉格朗日求极限): 阅读全文
posted @ 2025-06-11 10:20 xcuzc 阅读(1) 评论(0) 推荐(0)
摘要: 动态规划 概述 动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 由于动态规划并不是某种具体的算法,而是一种解决特定问题的方法,因此它会出现在各式各样的数据结构中,与之相关的题目种类也更为繁杂。 一般的解题步骤 解决动态规划问题,通常由两个步骤: 建立状态(阶段)定义。这个 阅读全文
posted @ 2024-10-24 17:30 xcuzc 阅读(62) 评论(0) 推荐(0)
摘要: 算法介绍 折半搜素通常用来处理数据规模不能直接通过暴力解决,但数据规模又没有特别大的情况。 例如:[P10484 送礼物](P10484 送礼物 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 题意:作为惩罚,GY 被遣送去帮助某神牛给女生送礼物 (GY:貌似是个好差事)但是在 阅读全文
posted @ 2024-08-26 23:00 xcuzc 阅读(72) 评论(0) 推荐(0)
摘要: 算法介绍 \(bfs+\)双端队列是一种单源最短路算法,适用于边权为 \(0\) 或 \(1\) 的图中。时间复杂度为 \(O(n)\) 。 算法原理分析 算法的整体框架与普通 \(bfs\) 求最短路类似,只是根据边权做了分类讨论,如果边权为 \(1\),则将邻居节点压到队列尾部,反之,压到队列首 阅读全文
posted @ 2024-08-26 22:35 xcuzc 阅读(28) 评论(0) 推荐(0)
摘要: 算法介绍 我们知道哈希是一种判断多重集是否相等的算法,即将多重集映射为一个数,以数的相等代多重集的相等,这个数称作哈希值。但是多重集是不考虑顺序的,因此,为了确保正确性,需要在映射的过程中引入随机性。即对每个多重集中的元素随机赋一个权值。代码实现上,通常可以取 m = 2^64,使用 unsigne 阅读全文
posted @ 2024-08-26 17:11 xcuzc 阅读(113) 评论(0) 推荐(0)
摘要: A. Turtle and Good Strings 思路:题意大致为把一个字符串分成若干段,要求每两段,前一段的首字符不能等于后的一段的尾字符,给你一个字符串,能不能构造出合法方案。观察到,分的段数越小,越有助于我们判断。所以,不妨分成两段,问题转化为判断首尾字符是否相等。 代码: #includ 阅读全文
posted @ 2024-08-26 14:34 xcuzc 阅读(235) 评论(3) 推荐(0)
摘要: C - Popcorn 思路:从集合 S 中选出非空子集,使得子集中糖果口味有 M 种。观察到集合 S 中的元素数量 n<=10。因此,总共的子集数为 C<=2^10-1,考虑枚举所有的子集。 代码: #include <bits/stdc++.h> #define int long long #d 阅读全文
posted @ 2024-08-24 12:57 xcuzc 阅读(14) 评论(0) 推荐(0)
摘要: A - Shout Everyday 思路:水题一道,模拟即可。 B - Cut .0 思路:直接 cin 和 cout 即可,c++输入输出性质。 C - Enumerate Sequences 思路:注意到数据范围很小,因此考虑到搜素所有的序列,然后判断是否合法。 D - Pedometer 思 阅读全文
posted @ 2024-08-22 13:07 xcuzc 阅读(5) 评论(0) 推荐(0)
摘要: A. Make All Equal 思路:观察题目,其实不难发现,保留一种数字之后,删除操作就可以删除任意其余数字。因此我们只需桶排序出数量最多的那一个数字的数量 x,最后的答案就是 n - x。 代码: /* * @OJ: * @ID: * @Author: ZhangChao * @Date: 阅读全文
posted @ 2024-08-21 00:26 xcuzc 阅读(482) 评论(0) 推荐(0)