【JLOI2015】骗我呢 题意简述: 求原点到点P(n+m+1,n)P(n+m+1,n),并且不能经过(或跨越)直线A:y=x+1A:y=x+1和B:y=x−(m+2)B:y=x−(m+2)的路径条数。 题解: 这道题应该可以算是格路计算问题的巅峰了吧。 首先,我们把PP点沿AA进行翻折,记为P′P′,从原点到P′P′的路径条数就...
[JLOI2015]骗我呢 壹、题目描述 ¶ 传送门 to Luogu. 贰、题解 ¶ ◆ Observation 注意到每个严格上升子序列的长度都是 mm; 注意到序列的每个元素取值都在 [0,m][0,m] 之间; 于是我们可以得到一个结论:每个严格上升子序列中,一定有且仅有一个数没有出现。 ◆ 分离约束条件 似乎还是很难处理,发现...
坐标系走路的转化 把转移表示到图上去:(图画得很丑,但我尽力了。。。) 发现斜着的转移很难表示,所以我们先把它掰直,变成: 那么也就相当于我们不能触碰到下图中的两条蓝线\(A\)和\(B\): 容斥 (画不动图了,而且估计我画得这么丑也没人看,因此就不放了) 经典容斥问题。 以第一条线\(A\)为例,我们找...
洛谷P3266 - [JLOI2015]骗我呢(容斥原理+组合数学) 题面传送门 神仙题。 首先乍一看此题非常棘手,不过注意到有一个条件 \(0\le x_{i,j}\le m\),而整个矩阵恰好有 \(m\) 列,这就启发我们考虑将每个元素的上下界求出来,如果我们第一列全填 \(0\),其余每个数都恰好等于它左边的数加 \(1\),那么...
2648: #2109. 「JLOI2015」骗我呢 说起来,毕业之后 B 君也就见过 R 君两面而已。 R 君有一个n×mn \times mn×m的数组{xi,j}\{ x_{i,j} \}{xi,j}(1≤i≤n,1≤j≤m1 \leq i \leq n, 1 \leq j \leq m1≤i≤n,1≤j≤m)。对于1≤i≤n;1≤j≤m1 \leq i \leq ...
int x=n+m+1,y=n,ans=Calc(x,y); while(x>=0&&y>=0) { flip1(x,y);add(ans,P-Calc(x,y)); flip2(x,y);add(ans,Calc(x,y)); } x=n+m+1,y=n; while(x>=0&&y>=0) { flip2(x,y);add(ans,P-Calc(x,y));
P3266 [JLOI2015] 骗我呢 求有多少个n×m的数组,满足xi,j<xi,j+1,xi,j<xi−1,j+1,每个位置可以填[0,m]的数。 n,m≤106。 容易观察到每一行都是递增的,而且每一行都恰好少一个数,且少的这个数是单调递增的,我们可以直接列 DP 方程。
【BZOJ4005】[JLOI2015] 骗我呢(容斥,组合计数) 题面 BZOJ 洛谷 题解 lalaxu #include<iostream>usingnamespacestd;#defineMOD 1000000007#defineMAX 3000300voidadd(int&x,inty){x+=y;if(x>=MOD)x-=MOD;}intn,m,inv[MAX],jc[MAX],jv[MAX],N,ans;intCalc(intx,inty){if(x<0||y<0)return0;...
「JLOI2015」骗我呢 这什么神仙题 $$\color{purple}{Link}$$ 可以学到的东西 对越过直线的东西翻折进行容斥 之类的..吧? Code: #include <cstdio> const int mod=1e9+7; const int N=3e6+10; inline int add(int a,int b){return a+b>=mod?a+b-mod:a+b;} ...
[JLOI2015] 骗我呢 一、题目 点此看题 二、解法 首先观察到一个条件\(0\leq x_{i,j}\leq m\),结合\(x_{i,j}<x_{i,j+1}\),我们可以用缺少的数来表示一行的状态。 再考虑限制\(x_{i,j}<x_{i-1,j+1}\),设\(a_i\)为第\(i\)行缺少的数,手玩可以发现这个限制可以转化成\(a_{i...