摘要: 题目 https://cn.vjudge.net/problem/Gym-101840H 题意 给出一棵树,问有多少对点,将他们之间的边权相乘之后所获得的值仅有两个不同的质因子。 题解 当时没想着用并查集做,写了个点分治= =。我们对于重心的子树挨个搜索,用number数组记录下质因子数量为0, 1 阅读全文
posted @ 2019-08-15 20:24 Ruby·Z 阅读(192) 评论(0) 推荐(0) 编辑
摘要: https://cn.vjudge.net/problem/LightOJ-1289 题意 计算出1到n的数的最小公倍数 题解 我们知道一个数必定能分解成一些质数相乘,而一些数的lcm = 他们分解成的质数取最高次幂x再相乘。列如4和6分解为\(2^2\)和2*3,那么lcm = \(2^2\)*3 阅读全文
posted @ 2019-08-14 08:32 Ruby·Z 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 菜是原罪 A 题意 给出两串二进制数,将第二串乘上2^k之后把两串按二进制加起来反转,问k取多少使得结果呈字典序最小。 题解 想要反转后字典序最小,也就是把第二串最后1个1的位置与第一串相对应,将其向右移动多少位使得这两个1能对应,(两个1相加时消去变下一位)。 B 题意 有一种只有两个按键的计算器 阅读全文
posted @ 2019-08-13 15:14 Ruby·Z 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题目 https://cn.vjudge.net/problem/HDU-4870 题意 一人用两个账号参加比赛,每次只会用分数较少的账号去参加。取胜加50分,落败扣100分但最多为0分。现在两个账号都为0分,给出取胜的概率p,问要参加多少场比赛能使其中一个账号到达1000分的期望。 思路 我们令d 阅读全文
posted @ 2019-08-12 09:03 Ruby·Z 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目 https://cn.vjudge.net/problem/ZOJ-3735 题意 给出一个C(n, 3)阶的矩阵,每一阶代表一种角色,MAP【i】【j】是i能够打败j的概率,然后给出m个你需要去按顺序打败的对手。你可以随意选择起始角色,并可以在打败对手后选择是否换成对手的角色,问比到最后最大 阅读全文
posted @ 2019-08-10 21:24 Ruby·Z 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Problem Description 给定两个字符串string1和string2,判断string2是否为string1的子串。 Input 输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string 阅读全文
posted @ 2019-08-05 21:26 Ruby·Z 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 前言 刚刚学习完点分治的基础知识,写完一道模板题后来写一写来理解下所学习的东西。 正文 分治的思想主要是将一个主问题分解为一个个子问题,而子问题与主问题有着同样的性质,并且主问题的答案与各个子问题合并后相同。而点分治就是将一棵树通过对点进行选取拆分,通过处理子树递归得到答案。 分治点的选择(分) 如 阅读全文
posted @ 2019-08-05 21:09 Ruby·Z 阅读(145) 评论(0) 推荐(0) 编辑