随笔分类 - 题解
摘要:T1.1 int day_of_year(int year,int month,int day) { static int sum[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; if(year % 4 == 0 && year % 100 != 0) su
阅读全文
摘要:过程 手写利用DFS求出每个点到根节点的异或距离 不难得出 xor_dis[x][y]=xor_dis[0][x]^xor_dis[0][y] 于是树上异或问题转换成了Trie上异或问题。 代码 直接看代码吧,注释很全 #include <iostream> #include <cstdio> us
阅读全文
摘要:这无疑是一个分组背包问题,斜率是分组的依据,组内物品则是这个斜率下金块的价值与重量的前缀和。 发现很多人的都是用的double储存斜率,其实我们可以用分数的方法保存,这就需要一个gcd。 然后我们用map套map维护这个分数的分子与分母,这里x,y较小,可以直接用数组来的。 另外我们还需要知道金块的
阅读全文
摘要:1687:积水问题时间限制: 1000 ms 内存限制: 262144 KB【题目描述】 有一块矩形土地被划分成n×m" role="presentation" style="position: relative;">n×mn×m个正方形小块。这些小块高低不平,每一小块都有自己的高度。水流
阅读全文
摘要:题目描述 有一个 的整数组成的矩阵,现请你从中找出一个 的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 输入格式 第一行为 个整数,分别表示 的值。 第二行至第 行每行为 \(b\
阅读全文
摘要:当我们需要保存一个数据结构不同时间的每个版本,最朴素的方法就是每个时间都创建一个独立的数据结构,单独储存。
但是这种方法不仅每次复制新的数据结构需要时间,空间上也受不了储存这么多版本的数据结构。
阅读全文
摘要:在幻想乡,稗田乙女是负责书写《幻想乡缘起》的家族。由于需要代代相传关于幻想乡的记忆......本题的数据比较小,首先初始化好每个文本的不同字符对应的数字的情况。
然后枚举两两配对的情况,并且用状态压缩存起来。
阅读全文
摘要:Meet in mid与逆元的结合优化
阅读全文
摘要:一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务...
这个完成天数可能否完成存在一个线性关系,所以这肯定是到二分答案的题目。问题在于如何进行判断能否完成。
阅读全文
摘要:有一种特殊的集合叫做PFS(Prefix Free Set)集合。
一个PFS集合由若干字符串构成,且不存在一个字符串是另一个字符串的前缀。空集也被看作是PFS集合。
阅读全文
摘要:线段树的应用
本题的数据范围表示肯定不能每次操作都进行一排序()。
鉴于这个是区间问题,我们可以想到线段树。再看由于字符只有26种,就可以想桶排序进行优化。每次排序的本质其实就是把第个数移动到他该在的位置上面(相当于把他该在的区间修改为他的值)。于是我们开一个数组表示线段树节点上字符出现次数。每次排序时候可以根据这个进行区间修改(同时还要维护这个数组)。
阅读全文
摘要:用Spfa做一道环状拓扑关系DP
阅读全文