摘要: 题目:codevs1513、BZOJ1863。 题目大意:有n个人围成一个圈,每个人需要$a[i]$个颜色不同的勋章,且相邻两个人不能拿到同样颜色的勋章。求至少需要准备多少种不同颜色的勋章。 解题思路:首先我们可以二分答案,但如何判断答案的正确性呢?我们可以用dp。 设$f[i]$表示第i个人在不与 阅读全文
posted @ 2017-08-22 16:39 Mrsrz 阅读(231) 评论(0) 推荐(0)
摘要: 题目大意:给你n个数,让你找尽可能多的数,使他们的最大公因数大于1。 解题思路:我们先筛出所有的素数,然后对于每个数,对它分解质因子。如果该数包含质因子p,则ans[p]+1,最后统计ans中的最大值即可。类似桶排的思路。 注意如果给你的全是1,则需要输出1而不是0。 C++ Code: 阅读全文
posted @ 2017-08-22 15:13 Mrsrz 阅读(165) 评论(0) 推荐(0)
摘要: 题目大意:给你n个可用单词,和一段文字,每句用句号隔开。问这段文字的感动值为多少(每句话有多少个可用单词,感动值就是多少,一句话中一个可用单词出现多次只算一个。最终答案为每句的感动值总和)。 解题思路:我们先用Trie存可用单词,然后对于那段文字,我们逐字符读入。用一个set储存当前句出现过的可用单 阅读全文
posted @ 2017-08-22 14:21 Mrsrz 阅读(260) 评论(0) 推荐(0)