摘要: 题意简述:如果一个排列P满足对于所有的i都有$|P_i i| \neq k$,则称排列P为合法的。现给出n(排列长度)和k,求有多少种合法的排列,对924844033取模。 clj课件的第一题呢,简单讲下做法。 首先我们看到计数先考虑容斥,答案可以写成$\sum_{i=0}^{n}( 1)^{i}g 阅读全文
posted @ 2019-05-06 20:51 努力进步的肥宅yxc 阅读(229) 评论(0) 推荐(0) 编辑
摘要: "传送门" __debug神仙计数课件凑系数入门题,我又被锤了。 我们先不考虑奇数的限制,想一下怎么做。是不是可以将任意子集的$lcm$进行容斥,算是比较简单的容斥了。 然后我们思考一下,如何通过凑系数来满足奇数的限制。 ~~打表/画韦恩图可知系数为$( 2)^{n 1}$。~~ 首先我们设$i$个 阅读全文
posted @ 2019-05-04 20:32 努力进步的肥宅yxc 阅读(181) 评论(0) 推荐(0) 编辑
摘要: "传送门" __debug神仙计数课件的容斥入门题,有丶遭不住。 首先根据题目可以想出一个错误的treedp的做法,设$f[u][x]$表示以$u$为根的这棵子树中,以$u$为根,对应原图的$x$点的方案数,那么我们可以得到一个$O(n^3)$的转移方法(枚举每个儿子以及其对应的点),但是这样需要去 阅读全文
posted @ 2019-05-04 20:08 努力进步的肥宅yxc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题意简述:给定一颗有$N(N include using namespace std; const int N=3010; struct fk{int to,nxt;}e[Nval[v])f[u]=1; } } int main(){ scanf("%d",&n); for(int i=1;i 阅读全文
posted @ 2019-04-22 17:32 努力进步的肥宅yxc 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题意简述:有$N(2 include using namespace std; const int N=410,M=1e5+10; int n,m,ans; int x[M],y[M],die[N]; bitset s[N]; int main(){ scanf("%d%d",&n,&m); for 阅读全文
posted @ 2019-04-21 21:51 努力进步的肥宅yxc 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题意简述:一串数,初始为$1∼N$,现有$Q$个操作,每次操作会把数组长度变成$L_i$,多余的长度直接截断;长度不够则循环填充,问最后$1∼N$每个数的出现次数。 思维好题啊,跪了。 首先我们很容易发现,如果存在$iL_j$这种情况,那么$L_i$就没有什么用了,所以我们可以把询问搞成一个单调递增 阅读全文
posted @ 2019-04-19 12:57 努力进步的肥宅yxc 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题意简述:给$H , W , h, w$。构造一个$H W$的矩阵,满足矩阵元素之和为正数,且每个$h w$的子矩阵元素之和是负数。 感觉是比较简单且比较巧妙的构造题,可惜自己还是太弱,没能做出来。orz wsq 首先考虑第一个样例给出的提示,我们可以在一般位置放1,在满足$i\ \%\ h==0, 阅读全文
posted @ 2019-04-18 16:34 努力进步的肥宅yxc 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意简述:给你一个长度为$N$的整数序列$x$,请判断是否存在一个满足下列条件的整数序列$a$,如果存在,请构造一种方案。 1.$a$的长度为$N^2$并且满足数字$1,2,3,\cdots,N$都各出现恰好$N$次 2.对于$1 include using namespace std; const 阅读全文
posted @ 2019-04-17 20:30 努力进步的肥宅yxc 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 题意简述:给一个$N M(N,M include include include using namespace std; define id(i,j) ((i 1) m+j) const int N=210,inf=1e9; struct fk{int to,nxt,w;}e[N N N 2]; 阅读全文
posted @ 2019-04-16 22:14 努力进步的肥宅yxc 阅读(225) 评论(0) 推荐(1) 编辑
摘要: 题意简述:给定一个$N M(N,M include using namespace std; const int N=2010; int sum_v[N][N],sum_l[N][N],sum_r[N][N]; int n,m,q; char s[N][N]; int read(){ char ch 阅读全文
posted @ 2019-04-15 20:05 努力进步的肥宅yxc 阅读(152) 评论(0) 推荐(0) 编辑