摘要:
题目链接:http://acm-software.hrbust.edu.cn/problem.php?id=1472 题意:给n个硬币,面值随意。问恰好凑成m元的种类数(去掉重复)。 dp(i,j,k)表示i个硬币,j元,最大是k时的种类数。 一开始智障记忆化dfs暴T不止,转成递推还是会T。 结果 阅读全文
摘要:
比赛链接:http://oj.jxust.edu.cn/contest.php?cid=1159 A.暴力 B.从大到小取模 C.正着存一遍倒着存一遍求lcs,然后用总长减掉lcs。 D.展开后KMP E.二维bitset<50000>(i,j)保存的是第i行,数字为j的列号状态,查询的时候把它们与 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意:n个数,问取三个数可以构成三角形的组合数。 FFT预处理出两个数的组合情况,然后枚举第三个数,计数去重。 阅读全文
摘要:
题目链接:http://acm-software.hrbust.edu.cn/problem.php?id=1476 题意:给n个数,m次询问,每次询问一个k。问n个数里两数之和严格小于k的数对。 根据输入样例,无非是需要求: f = cnt(1 2 3 4 5)T * (x)(其中(x)代表1,x 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1402 题意:大数乘法。 数太大,O(n^2)的不行,得用fft对乘法加速。 手推了一遍FFT的公式,感觉欧拉和分治很强,纪念我的第一发FFT。 阅读全文
摘要:
众所周知python中的list是可以extend的,功能 旨在将两个list合并成一个。譬如[1,2,3].extend([4,5,6])=[1,2,3,4,5,6] 假如有一个list的list,我想把他们reduce成一个list,如何操作?懂点函数式编程的人就会想到用reduce,但是直接r 阅读全文
摘要:
A:后缀维护si*pi的最小值,查询的时候二分,判断后缀和当前两个部分就行。 B:先离散化找出所有内容的种类,之后尺取卡出最小页数。 C:水题… D:数位DP,dp(l,cnt)统计长度为l到时候1的个数为cnt的整数。 E:模拟,如果循环节正好长度为50的话,就不要打省略号了。。 F:好麻烦的计算 阅读全文
摘要:
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3651 题意:问一个数n能拆成多少种连续的素数和。 筛出所有素数发现只有1200个,维护素数的前 阅读全文
摘要:
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3654 题意:把n拆成k个不同素数的和,有多少种拆法。 dp(i,j)表示数字为i时,有j个不同 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:求满足区间内最大值和最小值差为k的区间个数。 预处理出区间的最值,枚举左端点,根据最值的单调性二分枚举右端点,使得找到最右侧max-min<k,区间数为[i,...hi]的个数,即hi-i+ 阅读全文