摘要: 不妨假设第一个日期早于第二个日期(否则交换即可)。 这种求日期之间相差天数的题目有一个很直接的思路,即令日期不断加1天,直到第一个日期等于第二个日期为止,即可统计出答案。具体处理时,如果当加了一天之后天数d等于当前月份m所拥有的天数加1,那么就令月份m加1、同时置天数d为1号(即把日期变为下一个月的 阅读全文
posted @ 2021-04-17 22:07 Dazzling! 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 又是喜闻乐见的日期题。 枚举年份,构造回文日期和ABABBABA型的回文日期,判断构造出的日期是否合法。 注意构造出的日期不能和当前日期相等。 int month[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31, 阅读全文
posted @ 2021-04-17 21:33 Dazzling! 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 线段树裸题。 单点修改+区间查询。 const int N=2e5+10; struct Node { int l,r; int maxv; }tr[N<<2]; int score[N]; int n,m; void pushup(int u) { tr[u].maxv=max(tr[lc].ma 阅读全文
posted @ 2021-04-17 17:06 Dazzling! 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 传递闭包裸题。 如果一头奶牛和其他$n-1$头奶牛的大小关系都确定了,那么该奶牛的排名可唯一确定。 或者说,比它强的奶牛的数量加上比它弱的奶牛的数量等于$n-1$,就可唯一确定该奶牛的名次。 const int N=110; bool g[N][N]; int n,m; void floyd() { 阅读全文
posted @ 2021-04-17 16:40 Dazzling! 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 刷表法。 对于某一个点$(i,j)\(,直接求出\)(i,j)\(所能到达的所有点,将能到达的点的方案数量加上\)(i,j)$的方案数量。 状态表示: \(f(i,j)\):达到点$(i,j)$的方案数。 状态转移: \[ f(i+x,j+y)+=f(i,j) \\ 其中,x+y \le w[i][ 阅读全文
posted @ 2021-04-17 15:45 Dazzling! 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 将单词表中所有单词建立一棵字典树,再利用 $cnt$数组统计字典树中以每个字母结尾的字符串的个数。因此,在接下来的多次询问中,只需要返回单词最后一个字母对应的$cnt$数组值即可。 const int N=5e5+10; int trie[N][26],cnt[N],idx; void insert 阅读全文
posted @ 2021-04-17 12:02 Dazzling! 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 状态表示: \(f(u,0)\):表示以$u$为根的子树,不打劫$u$的情况下所能获取的最大价值。 \(f(u,1)\):表示以$u$为根的子树,打劫$u$的情况下所能获取的最大价值。 状态转移: \[ f(u,0)=\sum_{j\in Son(u)} \max(f(j,0),f(j,1)) \\ 阅读全文
posted @ 2021-04-17 11:46 Dazzling! 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 匿名数组是什么?有什么用?怎么用?一探究竟来自内心深处的敲问! 1.是什么? 匿名数组顾名思义是隐藏(没有)名字的数组。 常规的整型数组: int array[] = {1, 2, 3}; 它等价于以下的匿名数组: (int[]){1, 2, 3} 2.有什么用? 匿名数组可以直接当作参数传递,可以 阅读全文
posted @ 2021-04-17 11:44 Dazzling! 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 首先考虑最简单的情况。如果只有一间房屋,则偷窃该房屋,可以偷窃到最高总金额。如果只有两间房屋,则由于两间房屋相邻,不能同时偷窃,只能偷窃其中的一间房屋,因此选择其中金额较高的房屋进行偷窃,可以偷窃到最高总金额。 注意到当房屋数量不超过两间时,最多只能偷窃一间房屋,因此不需要考虑首尾相连的问题。如果房 阅读全文
posted @ 2021-04-17 10:44 Dazzling! 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 解法一 状态表示: \(f(i,0)\):表示考虑前$i$家商店且不窃取第$i$家店铺的情况下所获得的最大价值。 \(f(i,1)\):表示考虑前$i$家商店且窃取第$i$家店铺的情况下所获得的最大价值。 状态转移: \[ f(i,0)=\max(f(i-1,0),f(i-1,1)) \\ f(i, 阅读全文
posted @ 2021-04-17 10:00 Dazzling! 阅读(56) 评论(0) 推荐(0) 编辑