题目传送门(内部题138) 输入格式 输入数据第一行为两个整数$d,n$. 第二行$d$个非负整数$a_1,a_2,...,a_d$.     接下来$n$行,每行$d$个整数,表示一个坏点的坐标.数据保证坏点在网络范围内,且不会是点$A$或点$B$. 输出格式 一个整数,为从点$A$移动到点$B$的不同的路径数对$10^9+7$取模后的值. 样例 样例输入: 2 12 11 0 样例输出: 数据范围与提示 题解 先来考虑$n=0$的情况,利用组合数学,答案就是: $$ans=(\sum\lim…
[GDOI2016模拟3.16]幂 \(X\in[1,A],Y\in[1,B]\),问:\(x^y\)的不用取值个数. \(A,B\)都是\(10^9\)级别. 然后我们开搞. 首先,假设一个合法的\(x\)可以表示为\(x=\prod p_i^{q_i}\),那么令\(d=gcd(q_1,q_2...q_k)\) 假设\(d>1\),显然我们不需要单独考虑,因为它可以继续化简,我们找到最简的那个数然后去一次性处理. 那么此时所有情况都变成了\(d=1\). 此时再分两种情况讨论,因为我们现在实…
题意: 析:首先很容易可以看出来使用FFT是能够做的,但是时间上一定会TLE的,可以使用公式化简,最后能够化简到最简单的模式. 其实考虑使用组合数学,如果这个 xi 没有限制,那么就是求 x1 + x2 + x3 +... xm = k,有多少非零解,隔板法很容易得到答案 C(k+m-1, m-1),但是有限制怎么办,使用容斥,考虑有一个变量超过 n-1,两个变量超过 n-1,等等,根据集合论,很容易知道偶加,奇减... 代码如下: #pragma comment(linker, "/STACK…
\(Description\) 给定\(n\)个点\(m\)条边的有向图,求有多少个边集的子集,构成的图没有环. \(n\leq17\). \(Solution\) 问题也等价于,用不同的边集构造DAG,有多少种合法方案.我们考虑怎么构造DAG使得方案不重不漏. 我明知道一个DAG的拓扑序是唯一确定的.所以我们按照拓扑序每次转移一个点集. \(f[s][s']\)表示 构造 已经选择的点集为\(s\),当前最后一层点集为\(s'\)的DAG 的方案数. 转移时枚举不在\(s\)中的子集\(k\)…
题目传送门 题目描述 .(是质数喔~) 输入格式 一行两个整数N,K. 输出格式 一行为答案. 样例 样例输入: 3 2 样例输出: 样例说明 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB},{AC},{BC} 数据范围与提示 对于100%的数据,1≤N≤16:0≤K≤N: 题解 我也不知道为什么看到这道题就像到了组合数学和容斥,别问我为什么. 好叭-既然你这么可爱……那就…… 其实,我感觉叭……这种什么什么集合的题,要是你一秒想不…
[CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 3505 思想还是很巧妙的...(对于我这种菜鸡) 理解题意 首先它说\(n×m\)的网格,实际上是有\((n+1)×(m+1)\)个点来放三角形的顶点 然后就是算三角形的个数 怎么做 PS:以下所讲的所有\(n\)都是\(n+1\),\(m\)也是 可以用\(\dbinom{n×m}{3}\)算出网格中…
正题 题目链接:https://www.luogu.com.cn/problem/P6076 题目大意 给出\(n*m\)的网格,\(c\)种颜色涂色要求 每个格子可以染色也可以不染 每一行每一列至少有一个格子被染 每个颜色至少用一次 \(1\leq n,m,c\leq 400\) 解题思路 一个比较简单的方法就是容斥,枚举有多少染色的和不染色的行列,和枚举使用的颜色个数 \[\sum_{i=0}^c\sum_{j=0}^n\sum_{k=0}^m\binom{c}{i}\binom nj\bi…
Orz 因为有T的限制,所以不难搞出来一个$O(T^3)$的暴力dp 但我没试 据说有30分? 正解的话显然是组合数学啦 首先$n,m$可能为负,但这并没有影响, 我们可以都把它搞成正的 即都看作向右上方走 那么可以想到真正有效的步都是向右或者向上走的 其它两个方向都是在起反作用 设u为向上走步数,d下,l左,r右 它们满足关系: $r-l=m,u-d=n,T=u+d+l+r$ 因为有效步数为$m+n$,所以$T-m-n$必为偶数 因为要保证剩下的步上下均分,左右均分 枚举$udlr$其中一个可…
题目传送门(内部题8) 输入格式 一行三个整数$n,m,k$. 输出格式 一行一个整数表示答案.对$998244353$取模. 样例 样例输入 3 7 3 样例输出 数据范围与提示 对于10%的数据,$1\leqslant n,m,k\leqslant 10$.对于40%的数据,$1\leqslant n,m,k\leqslant 1,000$.对于70%的数据,$1\leqslant n,m,k\leqslant {10}^5$.对于100%的数据,$1\leqslant n\leqslant…
最开始想的暴力DP是把天数作为一个维度所以怎么都没有办法优化,矩阵快速幂也是$O(n^3)$会爆炸. 但是没有想到另一个转移方程:定义$f[i][j]$表示每天都有值的$i$天,共消费出总值$j$的方案数.然后答案就是. 所以每次维护前缀和就可以$O(1)$转移了. 注意前缀和的初值. #include<bits/stdc++.h> #define LL long long #define mod 998244353 using namespace std; int n, m; LL d; L…