摘要: ###洛谷 P4999 题目链接 ### 题目大意:给你一个区间,求这段区间中所有数的,数位上的,数字之和。 分析: 这题与 洛谷 P2602 相似,稍微改一下就可以了。 求出 0 ~ 9 的个数,然后分别乘以 0 ~ 9 ,取模相加即可。要注意的是,在统计之和时,需要 加 mod 以保正答案正确, 阅读全文
posted @ 2019-08-29 16:04 Sonrisa丶 阅读(185) 评论(0) 推荐(0)
摘要: ### 洛谷 P2602 题目链接 ### 题目大意:给你一个区间,问你区间所有数字中,0、1、2 .... 9 的个数的总和分别为多少。 分析: 枚举 0 ~ 9 进行数位 DP 即可。 注意记忆化搜索:必须要用到第二维来表示,前 1 ~ pos 位,某个数(0 ~ 9)的个数。 例如,我们在求这 阅读全文
posted @ 2019-08-29 15:57 Sonrisa丶 阅读(238) 评论(0) 推荐(0)
摘要: ### 洛谷 P2656 题目链接 ### 题目大意: 小胖和ZYR要去ESQMS森林采蘑菇。 ESQMS森林间有N个小树丛,M条小径,每条小径都是单向的,连接两个小树丛,上面都有一定数量的蘑菇。小胖和ZYR经过某条小径一次,可以采走这条路上所有的蘑菇。由于ESQMS森林是一片神奇的沃土,所以一条路 阅读全文
posted @ 2019-08-29 09:51 Sonrisa丶 阅读(245) 评论(0) 推荐(0)
摘要: ### HDU 6148 题目链接 ### 题目大意: 众所周知,度度熊非常喜欢数字。它最近发明了一种新的数字:Valley Number,像山谷一样的数字。 当一个数字,从左到右依次看过去数字没有出现先递增接着递减的“山峰”现象,就被称作 Valley Number。它可以递增,也可以递减,还可以 阅读全文
posted @ 2019-08-26 18:02 Sonrisa丶 阅读(330) 评论(0) 推荐(0)
摘要: ###POJ 3252 题目链接 ### 题目大意:给你一段区间 [Start,Finish] ,在这段区间中有多少个数的二进制表示下,0 的个数 大于等于 1 的个数。 分析: 1、很显然是数位DP,枚举这区间中所有数的二进制位数。由于与 0 的个数有关,故需要用 lead 标记前导零情况。 2、 阅读全文
posted @ 2019-08-26 16:35 Sonrisa丶 阅读(181) 评论(0) 推荐(0)
摘要: 题目链接: POJ 1094 题目大意:有 1 ~ N 个大写字母,且从 A 开始依次 N 个。再给你 M 个小于的关系,比如 A < B ,让你判断三种可能: 1、在第 i 个关系罗列之后,是否可以满足使得这 N 个字母能递增关系。 2、在第 i 个罗列之后,是否会出现矛盾,例如 A > B,而在 阅读全文
posted @ 2019-08-22 18:20 Sonrisa丶 阅读(386) 评论(0) 推荐(0)
摘要: 题目链接: POJ 2594 题目大意:给你 1~N 个点, M 条有向边。问你最少需要多少个机器人,让它们走完所有节点,不同的机器人可以走过同样的一条路,图保证为 DAG。 很明显是 最小可相交路径覆盖 问题。要先通过闭包建图后,再当作 最小不可交路径覆盖 问题 求解即可。 原因: 与 最小不可交 阅读全文
posted @ 2019-08-22 12:12 Sonrisa丶 阅读(188) 评论(0) 推荐(0)
摘要: ###题目链接### 题目大意: 给你 N 和 K ,在一个 N * N 个图上有 K 个 小行星。有一个可以横着切或竖着切的武器,问最少切多少次,所有行星都会被毁灭。 分析: 将 1~n 行数加入左集合,将 1~n 列数加入右集合。然后将所给的所有点当成无向边,在二分图上连接。 1、对于每条边,只 阅读全文
posted @ 2019-08-16 17:26 Sonrisa丶 阅读(151) 评论(0) 推荐(0)
摘要: 看字你就应该知道,差分数组存的是什么了,即存的是每一项与前一项的差值。 例如这里有 A[] 数组: A[] = 0 1 3 8 4 5 7 ( 下标从 0 开始,A[0] 为 0 ) 根据 D[i] = A[i] - A[i-1],我们可以得到 D[] 数组: D[] = 0 1 2 5 -4 1 阅读全文
posted @ 2019-08-12 19:16 Sonrisa丶 阅读(289) 评论(0) 推荐(0)
摘要: 树状数组的应用其实就是一个巧妙地运用了二进制运算来进行 logn 插入、 logn 查询 的 前缀和 算法。 原理分析: 假设有 9 个数字组成的数组: A[] = 1 2 5 4 3 7 8 6 9 我们使得树状数组 c[] 以以下方法存储: C[1] = A[1] C[2] = A[1] + A 阅读全文
posted @ 2019-08-12 17:24 Sonrisa丶 阅读(274) 评论(0) 推荐(0)