摘要: 题目链接 题目大意 给你一个边长为n的正方形和边长为a和b的正方形,要求把边长为a和b的正方形放在长度为n的正方形内,且没有覆盖(可以相邻)求有多少种放法(mod 1e9+7) 题目思路 这个思路不是很容易想 假设a正方形在b正方形左边 那么只考虑纵坐标,还剩下n-a-b个空格,根据插空法则有C(n 阅读全文
posted @ 2020-10-13 21:54 hunxuewangzi 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 要你求出有多少个长度为n的排列满足m个限制条件 第i个限制条件 p[i]表示前 p[i]个数不能是1-p[i]的排列 题目思路 这个感觉是dp但是不知道怎么dp 首先就是要明白如果不满足1-p[i]为全排列,那么前p[i]个数必定有大于p[i]的数 那么就可以设$dp[i][j] 阅读全文
posted @ 2020-10-10 08:40 hunxuewangzi 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 要你在[l,r]中找到有多少个数满足$x\equiv f(x)(mod; m)$ \(f(x)=\sum_{i=1}^{k-1} \sum_{j=i+1}^{k}d(x,i)*d(x,j)\) \(d(x,i)表示x的第i位数\) 题目思路 显然是数位dp,然而这个数位dp不能同 阅读全文
posted @ 2020-10-09 16:09 hunxuewangzi 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量: 1<=a<=n 1<=b<=m a*b%2016=0 题目思路 我本来以为是容斥啥的,因为我写过一个类似的题目 然而这个2016因子太多,完全不知怎么写 其实很简单如果 \(i*j\;mod\;2016= 阅读全文
posted @ 2020-10-05 19:41 hunxuewangzi 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 定义 百度百科的这个 C(n,m)=C(n%p,m%p)*C(n/p,m/p)%p​ p为素数 或者维基百科的这个 \(C(n,m)=\prod_{i=0}^kC(n_i,m_i) \;(mod\;p)\) \(m=m_kp^k+m_{k-1}p^{k-1}+.....+m_1p+m_0\) \(n 阅读全文
posted @ 2020-10-05 09:26 hunxuewangzi 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 要你求有多少个满足题目条件的矩阵mod 1e9+7 \(a[1][1]=2018\;\;a[i][j]为a[i-1][j]和a[i][j-1]的因子\) 题目思路 dp也就图一乐,真正比赛还得看打表 一直在想dp,其实却是打表找规律 只能说看到答案固定的题目就应该要去想打表 然后 阅读全文
posted @ 2020-10-04 10:14 hunxuewangzi 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长为n的数组,给所有数组元素加上一个非负整数x,使得这个数组的所有元素的gcd最大 题目思路 这主要是设计到一个多个数gcd的性质 gcd(a,b,c,d.....)=gcd(a,b-a,c-b,d-c.....) 其实这个式子很容易证明,设gcd(a,b,c,d...) 阅读全文
posted @ 2020-10-03 10:40 hunxuewangzi 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 让你构造一个严格单调上升的数组a满足$1<=a_1<a_2<....a_n<=d$ 而且要使得这个数组的异或前缀和也满足严格单调上升,求有多少个满足条件的数组(mod m) 题目思路 首先这个数组的性质很容易观察就是后一个数化为二进制的最高位1要比第上一个高 然后我就不会了 我还 阅读全文
posted @ 2020-09-30 16:55 hunxuewangzi 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长为d只包含字符'a','b','c','?' 的字符串,?可以变成a,b,c字符,假如有x个?字符,那么有$3^x$个字符串,求所有字符串种子序列包含多少个abc子序列 题目思路 假如没有问号,那么就是一个简单的dp \(dp[i][1]为前i个位置有多少个a\) \( 阅读全文
posted @ 2020-09-29 09:58 hunxuewangzi 阅读(274) 评论(1) 推荐(1) 编辑
摘要: 题目链接 题目大意 给你n(n<=1e5)个点,每个点有一个权值a[i],要你求从1到n的最短路 a[i]∩a[j]=0;dis[i][j]=0 a[i]∩a[j]!=0;dis[i][j]=lowbit(a[i]∩a[j]) 题目思路 首先吐槽一下$a[i]<2^{32}$ 这是ll级别的,\(i 阅读全文
posted @ 2020-09-27 10:22 hunxuewangzi 阅读(218) 评论(0) 推荐(0) 编辑