随笔- 1046
文章- 115
评论- 19
阅读-
36万
随笔分类 - 思维
CodeForces 1467D Sum of Paths (动态规划)
摘要:CodeForces 1467D Sum of Paths 题意 有一条直线,直线上有 n(n ⇐ 5000) 个点,每个点有一个值,你可以选择在任意点出发,移动 k(k ⇐ 5000) 步,只能向左或向右移动,但是可以多次经过同一个点,所有可能出现的路径称好路径。下面有 q(q ⇐ 200000)
阅读全文
HDU 6781 Solo (贪心 + 优先队列)
摘要:Solo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 115 Accepted Submission(s): 51 Problem Descr
阅读全文
富豪凯匹配串 (异或)
摘要:链接:https://ac.nowcoder.com/acm/contest/1114/C来源:牛客网 题目描述 有n个长度为m的文本串,每个串只含有'0'和'1'。接下来有Q次询问,每次给出一个长度为m的字符串,且只含有'0','1'和'_'。如10_1_1。下划线可以匹配'0'或'1'。即10_
阅读全文
SARS病毒 (生成函数 + 快速幂)
摘要:链接:https://ac.nowcoder.com/acm/contest/992/A来源:牛客网 题目描述 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA 的一条单链中,胞嘧啶、腺嘧啶均是成对出现的。这虽然是一个重大发现,但还不是该病毒的最主要特征,因为这
阅读全文
HDU 6382 odds (暴力 + 剪枝优化)
摘要:odds Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 250 Accepted Submission(s): 72 Problem Des
阅读全文
HDU 5355 Cake (构造 + 暴力)
摘要:题意:给定 n,m,让你把 1 ~ n 分成 m 部分,而且每部分和是一样大的。 析:首先先判断不能分成的,第一种是 sum (1 ~ n 的和)不能被 m 整除,或者 sum / m < n,其他的情况都有解。 这个题采用的是构造加暴力搜索的思想,首先,先成对的构造解,也就 2 * m 个,每 2
阅读全文
HDU 5360 Hiking (贪心)
摘要:题意:邀请 n 参加聚会,如果在邀请第 i 个人之前,已经成功邀请了 x 个人,并且 li <= x <= ri,那么第 i 人才会去,问你怎么排列使得邀请的人最多。 析:对于所有的人,按照 li 进行排序,对于维护一个优先队列,队列内是 ri 小的优先,然后枚举每个时间点,把 li 等于的当前时间
阅读全文
UVa 11645 Bits (暴力+组合数学)
摘要:题意:给定一个数 n,求 0 ~ n,中二进制表示中连续两个 1 出现的次数。 析:枚举连续的两个 1,从低位向高位进行枚举,然后前可以是任意数,后面也是任意的,如果 n 正好是 11 还要另算,举个例子。 10110,假设现在枚举第 2 位和第 3 位,那么出现的次次数就是前面的 10,还有第一位
阅读全文
UVa 1426 Discrete Square Roots (扩展欧几里德)
摘要:题意:给定 x,n,r,满足 r2 ≡ x mod(n) ,求在 0 ~ n 内满足 rr2 ≡ x mod(n) 的所有的 rr。 析:很明显直接是肯定不行了,复杂度太高了。 r2 ≡ x mod(n) (1) rr2 ≡ x mod(n) (2)用 (2)- (1)得到 rr2 - r2 ≡ 0
阅读全文
ZOJ 2132 The Most Frequent Number (贪心)
摘要:题意:给定一个序列,里面有一个数字出现了超过 n / 2,问你是哪个数字,但是内存只有 1 M。 析:首先不能开数组,其实也是可以的了,后台数据没有那么大,每次申请内存就可以过了。正解应该是贪心,模拟一个栈,因为答案肯定出现次数比其他所有数字的出现次数还多,所以每次和栈顶的元素比较,如果相同,就放到
阅读全文
CodeForces 946D Timetable (DP)
摘要:题意:给定 n,m,K,表示某个人一个周有 n 天,每天有 m 节课,但是他可以跳过 K 节课,然后下面每行一个长度为 m 个01字符串,0 表示该人在这一小时没有课,1 表示该人在这一个小时有课,每天的在学校时间是从开始上的第一节课,到上完最后一节课,问你他在校时间最短是多少。 析:首先要预处理出
阅读全文
HDU 1079 Calendar Game (博弈或暴搜)
摘要:题意:给定一个日期,然后 A 和 B 双方进行操作,谁先把日期变成2001年11月04日,将获胜,如果超过该日期,则输了,就两种操作。 第一种:变成下一天,比如现在是2001.11.3 变成 2001.11.4 第二种,变成下一个月的同一天,比如现在是2001.10.3 变成 2001.11.3,当
阅读全文
UVa 10561 Treblecross (SG函数)
摘要:题意:给定上一行字符串,其中只有 X 和 . 并且没有连续的三个 X,两个玩家要分别在 . 上放 X,如果出现三个连续的 X,则该玩家胜利,现在问你先手胜还是败,如果是胜则输出第一步可能的位置。 析:首先,如果输入中出现了 XX 或者 X.X,那么先手必胜,这种可以先处理,然后考虑剩下的,首先每个玩
阅读全文
CodeForces 235E Number Challenge (莫比乌斯反演)
摘要:题意:求,其中d(x) 表示 x 的约数个数。 析:其实是一个公式题,要知道一个结论 知道这个结论就好办了。 然后就可以解决这个问题了,优化就是记忆化gcd。 代码如下:
阅读全文
HDU 5321 Beautiful Set (莫比乌斯反演 + 逆元 + 组合数学)
摘要:题意:给定一个 n 个数的集合,然后让你求两个值, 1。是将这个集合的数进行全排列后的每个区间的gcd之和。 2。是求这个集合的所有的子集的gcd乘以子集大小的和。 析:对于先求出len,len[i]表示能够整除 i 的的个数。 第一个值,根据排列组合,求出gcd是 i 的倍数的个数, 解释一下这个
阅读全文
HDU 5468 Puzzled Elena (dfs + 莫比乌斯反演)
摘要:题意:给定一棵带权树,求每个点与其子树结点的权值互质的个数。 析:首先先要进行 dfs 遍历,len[i] 表示能够整除 i 的个数,在遍历的前和遍历后的差值就是子树的len值,有了这个值,就可以使用莫比斯反演了。注意如果子树的权值是1,还要加上它本身。 代码如下:
阅读全文
CodeForces 916B Jamie and Binary Sequence (changed after round) (贪心)
摘要:题意:给定两个数字n,m,让你把数字 n 拆成一个长度为 m 的序列a1,a2,a3...am,并且∑2^ai = n,如果有多组,要求序列中最大的数最小,然后再相同就要求除了最大数字典序最大。 析:直接想可能不好想,可以考虑,如果把数字 n 拆成 2 的多次幂,可以用贪心来解决,然后如果长度已经超
阅读全文
BZOJ 2440 [中山市选2011]完全平方数 (二分 + 莫比乌斯函数)
摘要:2440: [中山市选2011]完全平方数 Description 小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而这丝毫不影响他对其他数的热爱。 这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不
阅读全文
BZOJ 4407 于神之怒加强版 (莫比乌斯反演 + 分块)
摘要:4407: 于神之怒加强版 Description 给下N,M,K.求 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。 输入有多组数据,输入数据的第一行两个正整数T
阅读全文
UVaLive 3353 Optimal Bus Route Design (最小费用流)
摘要:题意:给定一个 n 个点的有向带权图,让你找若干个圈,使得每个结点恰好属于一个圈,并且总长度尽量小。 析:一开始想的是先缩点,先用DP,来求。。。 题解给的是最小费用流或者是最佳完全匹配,其实都是一样的,因为每个点都只属于一个圈,那么对于每个点的入度和出度都应该是一样的,然后就是把每个点都拆成两个点
阅读全文