摘要:
题意:空间中有很多颗小行星,飞船要每次能清空同一行或同一列上的所有小行星,问最少要几次能将所有小行星清除。要点:将小行星的行作为u,列作为v建图,就是一个最小点覆盖集的裸题,最小点覆盖集=最大匹配数,直接套个模板即可。15480774Seasonal3041Accep... 阅读全文
摘要:
题意:一些奶牛只有在特定的围栏中才能产奶,要求合理安排使能产奶的奶牛数达到最大。要点:二分图裸题,最近刚学了二分图,看下面的参考博客,写的比较好:参考博客:匈牙利算法15479500Seasonal1274Accepted520K16MSC++736B2016-05-... 阅读全文
摘要:
题意:给一个有nc种字符的字符串,要求它有几个大小为n的子串。要点:字符串长度可以是16000000但字符总数最多300,所以hash是必不可少的。先将nc种字符一一对应到hash数组中,只存入第一次出现的位置,使每一个字符都对应这0---nc-1的一个数字,然后是重... 阅读全文
摘要:
题意:雪花有六条棱,每条棱对应一个数,要求在一组雪花中看能否寻找到所有棱对应相同的雪花(棱有顺序要求)。要点:刚自学了一下hash,这题刚上手有点思路但自己实在也写不出来,看了网上的代码觉得还是很简单的。首先这题只要用取余hash即可,将每条棱求和进行取余hash,然... 阅读全文
摘要:
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。它可以用O(1)的复杂度进行数据的插入删除和查找,但是 hash 表不保证表中数据的有序... 阅读全文
摘要:
题意:看白书要点:再一个办法就是枚举a,利用x1,x3求出b,判断所有x的关系能不能满足a,b。如何通过a,x1,x3求出b呢。x2 = (a * x1 + b) % 10001;x3 = (a * x2 + b) % 10001;联立2个式子x3 = (a * (a... 阅读全文
摘要:
题意:看白书要点:运用唯一分解定理,使每个ai^pi作为一个单独的整数时最优。例如72=8*9时最优。注意:如果本身是一个素数最后还要+1,而且如果本身分解后只有一种因子,最后也要+1,如1=1*1,答案是2。一开始我担心时间想用线性筛什么的,后来发现做不出,看了一下... 阅读全文
摘要:
题意:看白书要点:先斐波那契数列打个表,然后用同余与模算术,找个规律就行。注意数的最大值为2^64,用long long型还不够,必须要用unsigned long long型。#include#include#include#includeint fibo[1025... 阅读全文
摘要:
题意:今天星期六,求1^1+2^2……N^N天后是星期几要点;很明显是同余与模算术,用白书上的复杂度为O(logn)的算法。一开始我是想打表,但这题不能开数组,范围太大。后来我也想到找规律了,但我只打了30个的表,而规律从42开始,点背啊!下次注意了,打表尽量打多一点... 阅读全文
摘要:
题意:要做n道菜,每道菜有a[i]个步骤,厨师每次可以操作m个步骤,求最小需要几次把菜做完。要点:就是小学搞过的摊饼问题,一个饼要几分钟这样。可以这样思考:如果m>=n,那肯定就是所有a[i]中的最大值max作为结果。如果m#include#include#inclu... 阅读全文