2017年10月23日

摘要: 直接将模板封装在结构体里面。 阅读全文
posted @ 2017-10-23 20:18 sapphirebitter 阅读(553) 评论(0) 推荐(0)

2017年10月18日

摘要: 题意:给出一串数列,这串数列的gcd为1,要求取出一个数使取出后的数列gcd最大。 题解:可以通过对数列进行预处理,求出从下标为1开始的数对于前面的数的gcd(数组从下标0开始),称为前缀gcd,再以类似的方式求出后缀gcd,然后从第一个数开始枚举取出后的gcd(这个数的前缀gcd与后缀gcd的gc 阅读全文
posted @ 2017-10-18 21:52 sapphirebitter 阅读(304) 评论(0) 推荐(0)
 
摘要: 题意:要求对于1~n,每个数的约数(不包括1和其本身)的和。 题解:由于题目数据有2*10^9之大,因而不能直接暴力。需要考虑积性函数的特性,由于必定有重复的约数出现,因而可以对重复约数所在的区间进行合并。由于对于较小的约数,其对应的较大的约数重复区间较小,所以可以先将较小的约数进行合并操作,然后对 阅读全文
posted @ 2017-10-18 21:46 sapphirebitter 阅读(704) 评论(0) 推荐(0)

2017年10月13日

摘要: 题意:输入整数n(1<=n<=30000000),有多少对整数(a,b)满足1<=b<=a<=n,且gcd(a,b)=a xor b。 题解:设c=gcd(a,b),因为a-b<=a xor b,且a-b>=c,假设存在c是的a-b>c,则c<a-b<=a xor b,与c= a xor b矛盾。所 阅读全文
posted @ 2017-10-13 20:42 sapphirebitter 阅读(165) 评论(0) 推荐(0)

2017年10月10日

摘要: 唯一分解定理是指任何正整数都可以分解为一些素数的幂之积,即任意正整数n=a1^p1*a2^p2*...*ai^pi;其中ai为任意素数,pi为任意整数。 题意是输入整数n,求至少2个整数,使得它们的最小公倍数为n,且这些整数的和最小,输出最小的和。由唯一分解定理可看出当每个ai^pi作为一个单独的整 阅读全文
posted @ 2017-10-10 22:16 sapphirebitter 阅读(307) 评论(0) 推荐(0)

2017年10月9日

摘要: 递推模板: 从结果往回推,需要设定边界为无穷大,并建立状态转移方程 阅读全文
posted @ 2017-10-09 20:39 sapphirebitter 阅读(431) 评论(0) 推荐(0)

2017年9月27日

摘要: 题意:有n种立方体,每种都有无穷多个。选一些正方体摞成一根尽量高的柱子(可以选择任意一条边做高),使得每个立方体的底面长宽分别严格小于它下方的立方柱的底面长宽。 题解:可以套用DAG最长路算法,可以使用二元组来表示每个立方体的每一条边,如v[n][2]就可以用来表示第n个立方块的3个边。 DAG最长 阅读全文
posted @ 2017-09-27 21:57 sapphirebitter 阅读(136) 评论(0) 推荐(0)

2017年9月26日

摘要: 恢复内容开始 题意:有n(2<=n<=50)个车站,从左到右编号为1~n,有M1辆列车从第1站向右开,还有M2辆列车从第N站向左开。在时刻0,间谍从第1站出发,目的是在时刻T(0<=T<=200)会见在车站n的一个间谍。在车站等候容易被抓,所以需要尽量躲在火车上,使在车站等待的时间尽量的少,列车靠站 阅读全文
posted @ 2017-09-26 22:15 sapphirebitter 阅读(211) 评论(0) 推荐(0)

2017年9月20日

摘要: 二分查找: 二分查找求下界: 二分查找求上界: 阅读全文
posted @ 2017-09-20 22:03 sapphirebitter 阅读(360) 评论(0) 推荐(0)

2017年9月19日

摘要: 题意:给你长度为n的数组,定义已经排列过的串为:相邻两项a[i],a[i+1],满足a[i]<=a[i+1]。我们每次对当前数组删除非排序过的串,合并剩下的串,继续删,直到排序完成。 题解:用双向链表模拟删除过程即可。 具体细节见代码: 阅读全文
posted @ 2017-09-19 12:40 sapphirebitter 阅读(255) 评论(0) 推荐(0)