04 2022 档案
摘要:####小P的故事——神奇的发票报销 这道题测试点很奇怪,当发票类型不全是A,B,C时,该组的发票全部报废。这是这道题需要注意的一个点。 还有输入的时后要getchar一下,否则就会出错,不是很懂。 动态规划的01背包。 #include <iostream> #include <cstring>
阅读全文
摘要:####小字辈 比赛的时候心烦意乱,没有净下心来好好看题,导致没有看懂。遂考后又做了一遍,觉得方法很好 用的是并查集+路径优化 #include <iostream> using namespace std; const int N = 1e5 + 10; int p[N], c[N]; int f
阅读全文
摘要:####Grammy and Jewelry Grammy and Jewelry 这道题比赛的时候没有时间看,因为太菜了,比赛后三天才有时间看这道题。 这道题说的是给一个无向图,每一个节点都要价值为w的财宝,数量无限,求一个人从1节点出发,每走一条边消耗1个时间单位,需要将财宝带回1节点才算真正获
阅读全文
摘要:####传递闭包 传递闭包 从数学上来说,传递闭包是在集合X上求包含关系R关系。从关系图的角度来说,就是如果原关系图上有x到y,则其传递闭包的关系图上就应有x从到y的边。通俗地讲,就是确定每个点是否能到达其他每个点。 for (int k = 1; k <= n; ++k) for (int i =
阅读全文
摘要:####7-1 吃火锅 这道题考查stl中的find函数,不嫌麻烦的话可以手写kmp 如果在主串中没有子串,则返回-1,否则返回第一个子串的位置 #include <iostream> #include <string> using namespace std; int main() { strin
阅读全文
摘要:####Birthday Boy Gym Birthday Boy Gym 模拟就完事了,细节很多 #include <iostream> #include <algorithm> using namespace std; int day[13] = {0, 0, 31, 59, 90, 120,
阅读全文
摘要:归并排序 1.概念 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的 2.原理 例如我们将4、5、8、7、2、6、3进行排序 首先我们需要划分区间,这一步骤
阅读全文
摘要:###Cube Cube 这道题比赛时想的是只要求出各个边的边长,判断相等边长数大于等于24即可判断是正方体, 如果有零边则不满足条件,但调试了一个半小时还没有ac, 当时有点崩溃, 直到看完别人的题解才发现,只要满足各个边的边长有三种长度即可边长、面对角线长, 体对角线长即可 以下是代码部分 #i
阅读全文
摘要:#Fair Distribution Fair Distribution ##前置知识点 ###向上取整 ll getceil(ll a, ll b) { return a / b + (a % b ? 1 : 0); } ll getceil(ll a, ll b) { return (a + b
阅读全文