摘要: 题目大意:有n块巧克力,每块巧克力有一个大小。巧克力可以切成若干份。现在要你切成大小相等的m块,且尽可能大。求这个大小。 解题思路:我们二分巧克力切成的大小,然后计算能切成多少块,判断即可。由于最大的巧克力大小为10000,所以时间复杂度为$O(n\log {10000})$。 C++ Code: 阅读全文
posted @ 2017-08-15 20:07 Mrsrz 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n,规定一个串中相邻的两个1可以合并为一个2(别的不行),让你求长度为n的全1串最多能变成多少种不同的串。 解题思路:我们先来找一波规律,发现n=1,2,3,4,5时答案分别为1,2,3,5,8。 嗯?斐波那契数列?没错就是这样。不过斐波那契数列的第200项好像有四五十位,long l 阅读全文
posted @ 2017-08-15 19:14 Mrsrz 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个操作,每个操作是以下三个之一,要你实现这些操作。 1、insert : 往字典中插入一个单词2、delete: 在字典中删除所有前缀等于给定字符串的单词3、search: 查询是否在字典中有一个字符串的前缀等于给定的字符串 解题思路:Trie树即可。 注意代码第49行的判断,我当时以 阅读全文
posted @ 2017-08-15 15:30 Mrsrz 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n和质数p,求1~n在模p意义下的乘法逆元(n<p)。 解题思路:由于$n<p<20000528$,所以扩展欧几里得是会超时的。这儿就要用到线性推逆元大法辣!→不懂戳这里← 注意乘法可能会超过int,所以计算时先转化为long long即可。 C++ Code: 阅读全文
posted @ 2017-08-15 13:28 Mrsrz 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 给你一个p,要你求出1~p-1所有数在模p下的逆元。 一个一个用扩展欧几里得求?如果p特别大,不就超时了?我们想要在线性的时间复杂度内求出逆元。 这种方法只能在p为质数的情况下使用。 首先有$1^{-1}\equiv 1(mod\ p)$ 设$p=iq+r(0<r<p)$,在模p意义下得$iq+r\ 阅读全文
posted @ 2017-08-15 13:11 Mrsrz 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n和x($n\leq 10^{18},0<x\leq 1$),要你求$\sum_{i=1}^n\frac{x^i}{i}$。 解题思路:首先n大到要用long long存,暴力肯定是不行的。然后我们发现,当i越来越大时,答案几乎不会变,我们可以直接跳出。真的是这样吗?其实当你越加越多, 阅读全文
posted @ 2017-08-15 09:39 Mrsrz 阅读(345) 评论(0) 推荐(0) 编辑